Ml 14767 Img1.png

Los avances en inteligencia artificial (IA) y aprendizaje automático (ML) están revolucionando la industria financiera para casos de uso como la detección de fraude, la evaluación de la solvencia crediticia y la optimización de estrategias comerciales. Para desarrollar modelos para tales casos de uso, los científicos de datos necesitan acceso a varios conjuntos de datos, como motores de decisión crediticia, transacciones de clientes, apetito de riesgo y pruebas de estrés. Gestionar un control de acceso adecuado a estos conjuntos de datos entre los científicos de datos que trabajan en ellos es crucial para cumplir con estrictos requisitos normativos y de cumplimiento. Normalmente, estos conjuntos de datos se agregan en un sistema centralizado. Servicio de almacenamiento simple de Amazon (Amazon S3) desde diversas aplicaciones comerciales y sistemas empresariales. Científicos de datos de todas las unidades de negocio que trabajan en el desarrollo de modelos utilizando Amazon SageMaker se les concede acceso a datos relevantes, lo que puede llevar a la necesidad de gestionar prefijo-Controles de acceso a nivel. Con un aumento en los casos de uso y conjuntos de datos que utilizan política de depósito declaraciones, administrar el acceso entre cuentas por aplicación es demasiado complejo y largo para que una política de depósito pueda acomodarlo.

Puntos de acceso de Amazon S3 Simplifique la administración y protección del acceso a datos a escala para aplicaciones que utilizan conjuntos de datos compartidos en Amazon S3. Puede crear nombres de host únicos utilizando puntos de acceso para aplicar permisos y controles de red distintos y seguros para cualquier solicitud realizada a través del punto de acceso.

Los puntos de acceso S3 simplifican la gestión de los permisos de acceso específicos de cada aplicación que accede a un conjunto de datos compartido. Permite la copia de datos segura y de alta velocidad entre puntos de acceso de la misma región utilizando redes internas de AWS. y VPC. Los puntos de acceso S3 pueden restringir el acceso a las VPC, lo que le permite proteger los datos dentro de redes privadas, probar nuevas políticas de control de acceso sin afectar los puntos de acceso existentes y configurar políticas de puntos finales de VPC para restringir el acceso a depósitos S3 específicos de ID de cuenta.

Esta publicación explica los pasos necesarios para configurar los puntos de acceso S3 para habilitar el acceso entre cuentas desde una instancia de notebook de SageMaker.

Descripción general de la solución

Para nuestro caso de uso, tenemos dos cuentas en una organización: la cuenta A (111111111111), que utilizan los científicos de datos para desarrollar modelos utilizando una instancia de cuaderno de SageMaker, y la cuenta B (222222222222), que requiere conjuntos de datos en el depósito S3. test-bucket-1. El siguiente diagrama ilustra la arquitectura de la solución.

Para implementar la solución, complete los siguientes pasos de alto nivel:

  1. Configure la cuenta A, incluida la VPC, el grupo de seguridad de subred, el punto final de la puerta de enlace de la VPC y el cuaderno de SageMaker.
  2. Configure la cuenta B, incluido el depósito S3, el punto de acceso y la política del depósito.
  3. Configurar Gestión de acceso e identidad de AWS (IAM) permisos y políticas en la Cuenta A.

Debe repetir estos pasos para cada cuenta de SageMaker que necesite acceso al conjunto de datos compartido desde la cuenta B.

Los nombres de cada recurso mencionado en esta publicación son ejemplos; puede reemplazarlos con otros nombres según su caso de uso.

Configurar la cuenta A

Complete los siguientes pasos para configurar la Cuenta A:

  1. Crear una VPC llamado DemoVPC.
  2. Crear una subred llamado DemoSubnet en el VPC DemoVPC.
  3. Crear un grupo de seguridad llamado DemoSG.
  4. Crear un Punto final de puerta de enlace de VPC S3 llamado DemoS3GatewayEndpoint.
  5. Crea el Rol de ejecución de SageMaker.
  6. Crear una instancia de cuaderno llamado DemoNotebookInstance y las pautas de seguridad como se describen en Cómo configurar la seguridad en Amazon SageMaker.
    1. Especifique el rol de ejecución de Sagemaker que creó.
    2. Para la configuración de red del notebook, especifique la VPC, la subred y el grupo de seguridad que creó.
    3. Asegúrate de eso Acceso directo a Internet está desactivado.

Asigna permisos al rol en pasos posteriores después de crear las dependencias necesarias.

Configurar la cuenta B

Para configurar la Cuenta B, complete los siguientes pasos:

  1. En la cuenta B, crear un depósito S3 llamado test-bucket-1 siguiente Guía de seguridad de Amazon S3.
  2. Sube tu archivo al depósito S3.
  3. Crear un punto de acceso llamado test-ap-1 en la cuenta B.
    1. No cambies ni edites ninguna Bloquear la configuración de acceso público para este punto de acceso (todo el acceso público debe estar bloqueado).
  4. Adjunte la siguiente política a su punto de acceso:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": “arn:aws:iam:: 111111111111:role/demo ”
            },
            "Action": ["s3:GetObject", "s3:GetObjectVersion", "s3:PutObject", "s3:PutObjectAcl"]
            "Resource": [
                “arn:aws:s3:us-east-1: 222222222222:accesspoint/test-ap-1”,
                " arn:aws:s3:us-east-1: 222222222222:accesspoint/test-ap-1/object/*"
            ]
        }
    ]
}

Las acciones definidas en el código anterior son acciones de ejemplo con fines de demostración. Puede definir las acciones según sus requisitos o caso de uso.

  1. Agregue los siguientes permisos de política de depósito para acceder al punto de acceso:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": " arn:aws:iam:: 111111111111:role/demo "
            },
            "Action" : ["s3:GetObject","s3:ListBucket"],
            "Resource" : ["arn:aws:s3:::test-bucket-1 ”, " arn:aws:s3:::test-bucket-1/*"]
            "Condition": {
                "StringEquals": {
                    "s3:DataAccessPointAccount": "222222222222"
                }
            }
        }
    ]
}

Las acciones anteriores son ejemplos. Puede definir las acciones según sus requisitos.

Configurar permisos y políticas de IAM

Complete los siguientes pasos en la Cuenta A:

  1. Confirme que el rol de ejecución de SageMaker tenga la AmazonSagemakerAcceso completo política en línea de IAM personalizadaque se parece al siguiente código:
{
            "Sid": "VisualEditor2",
            "Effect": "Allow",
            " Action": ["s3:GetObject", "s3:GetObjectVersion", "s3:PutObject", "s3:PutObjectAcl"]
            "Resource": [
                “arn:aws:s3:us-east-1: 222222222222:accesspoint/test-ap-1 ”,
                "arn:aws:s3:us-east-1: 222222222222:accesspoint/test-ap-1 /object/*”,                             "arn:aws:s3:::test-bucket-1”,
                " arn:aws:s3:::test-bucket-1/*"
            ]
}

Las acciones en el código de política son acciones de muestra con fines de demostración.

  1. Ve a la DemoS3GatewayEndpoint punto final que creó y agregue los siguientes permisos:
{

	"Version": "2012-10-17",
	"Statement": [
		{
			"Sid": "AllowCrossAccountAccessThroughAccessPoint",
			"Effect": "Allow",
			"Principal": "*",
			"Action": [
				"s3:Get*",
				"s3:List*",
				"s3:Put*"
			],
			"Resource": ": [
                “arn:aws:s3:us-east-1: 222222222222:accesspoint/test-ap-1 ”,
                "arn:aws:s3:us-east-1: 222222222222:accesspoint/test-ap-1 /object/*”,                             "arn:aws:s3:::test-bucket-1 ”,
                " arn:aws:s3:::test-bucket-1/*"
            ]
 
		}
	]
}

  1. Para obtener una lista de prefijos, ejecute el Interfaz de línea de comandos de AWS (AWS CLI) describir-listas-de-prefijos dominio:
aws ec2 describe-prefix-lists

  1. En la cuenta A, vaya al grupo de seguridad. DemoSG para la instancia del cuaderno de SageMaker de destino
  2. Bajo Reglas de salidacree una regla de salida con Todo el tráfico o Todo TCPy luego especifique el destino como el ID de la lista de prefijos que recuperó.

Esto completa la configuración en ambas cuentas.

Prueba la solución

Para validar la solución, vaya a la terminal de la instancia del cuaderno de SageMaker e ingrese los siguientes comandos para enumerar los objetos a través del punto de acceso:

  • Para enumerar los objetos correctamente a través del punto de acceso S3 test-ap-1:
aws s3 ls arn:aws:s3:us-east-1:222222222222:accesspoint/Test-Ap-1

  • Para obtener los objetos con éxito a través del punto de acceso S3 test-ap-1:
aws s3api get-object --bucket arn:aws:s3:us-east-1:222222222222:accesspoint/test-ap-1 --key sample2.csv test2.csv

Limpiar

Cuando haya terminado de probar, elimine cualquier Puntos de acceso S3 y cubos S3. Además, elimine cualquier Instancias de cuadernos Sagemaker para dejar de incurrir en cargos.

Conclusión

En esta publicación, mostramos cómo los puntos de acceso S3 permiten el acceso entre cuentas a grandes conjuntos de datos compartidos desde instancias de portátiles de SageMaker, evitando las restricciones de tamaño impuestas por las políticas de depósito y al mismo tiempo configurando la administración de acceso a escala en conjuntos de datos compartidos.

Para obtener más información, consulte Administre fácilmente conjuntos de datos compartidos con puntos de acceso de Amazon S3.


Sobre los autores

Kiran Khambete trabaja como gerente técnico senior de cuentas en Amazon Web Services (AWS). Como TAM, Kiran desempeña un papel de experto técnico y guía estratégica para ayudar a los clientes empresariales a alcanzar sus objetivos comerciales.

Ankit Soni con una experiencia total de 14 años ocupa el cargo de Ingeniero Principal en NatWest Group, donde se ha desempeñado como Arquitecto de Infraestructura de Nube durante los últimos seis años.

Kesaraju Sai Sandeep es un Ingeniero de Nube especializado en Servicios de Big Data en AWS.