Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Seguridad y permisos
Cuando consulta datos de Athena o Amazon Redshift, el conjunto de datos consultado se almacena automáticamente en el bucket de S3 SageMaker predeterminado de la región en AWS la que utiliza Studio Classic. Además, cuando exporta un Jupyter Notebook desde Amazon SageMaker Data Wrangler y lo ejecuta, sus flujos de datos, o archivos.flow, se guardan en el mismo depósito predeterminado, con el prefijo data_wrangler_flows.
Para necesidades de seguridad de alto nivel, puede configurar una política de bucket que restrinja los roles que tienen acceso a este bucket de S3 predeterminado. AWS SageMaker Use la siguiente sección para agregar este tipo de política a un bucket de S3. Para seguir las instrucciones de esta página, usa el AWS Command Line Interface (AWS CLI). Para obtener información sobre cómo hacerlo, consulte Configuración de AWS CLI en la Guía del IAM usuario.
Además, debes conceder permisos a cada IAM rol que utilice Data Wrangler para acceder a los recursos necesarios. Si no necesitas permisos detallados para el IAM rol que utilizas para acceder a Data Wrangler, puedes añadir la política IAM gestionada a un IAM rol que utilices para crear tu usuario de Studio Classic. AmazonSageMakerFullAccess
Adición de una política de bucket para restringir el acceso a los conjuntos de datos importados a Data Wrangler
Puede agregar una política al bucket de S3 que contenga sus recursos de Data Wrangler mediante una política de bucket de Amazon S3. Entre los recursos que Data Wrangler carga en tu depósito de SageMaker S3 predeterminado en la AWS región en la que utilizas Studio Classic se incluyen los siguientes:
-
Resultados de la consulta de Amazon Redshift. Se almacenan con el prefijo redshift/.
-
Resultados de la consulta de Athena. Se almacenan con el prefijo athena/.
-
Los archivos .flow que se cargan en Amazon S3 al ejecutar un cuaderno de Jupyter exportado que produce Data Wrangler. Se almacenan con el prefijo data_wrangler_flows/.
Utilice el siguiente procedimiento para crear una política de bucket de S3 que pueda añadir para restringir el acceso de los IAM roles a ese bucket. Para obtener información acerca de cómo agregar una política a un bucket de S3, consulte How do I add an S3 Bucket policy?
Para configurar una política de bucket en el bucket de S3 que almacena sus recursos de Data Wrangler:
-
Configure uno o más IAM roles a los que desee que puedan acceder a Data Wrangler.
-
Abra un intérprete de comandos o símbolo del sistema. Para cada rol que cree, reemplace
role-name
por el nombre del rol y ejecute lo siguiente:$ aws iam get-role --role-name
role-name
En la respuesta, verá una cadena
RoleId
que comienza conAROA
. Copie esta cadena. -
Añada la siguiente política al depósito SageMaker predeterminado de la AWS región en la que utilice Data Wrangler. Reemplazar
region
con la AWS región en la que se encuentra el depósito, yaccount-id
con tu ID AWS de cuenta. SustituyauserId
s empezando porAROAEXAMPLEID
por el IDs de cualquier AWS rol al que desee conceder permiso para usar Data Wrangler.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": [ "arn:aws:s3:::sagemaker-
region
-account-id
/data_wrangler_flows/", "arn:aws:s3:::sagemaker-region
-account-id
/data_wrangler_flows/*", "arn:aws:s3:::sagemaker-region
-account-id
/athena", "arn:aws:s3:::sagemaker-region
-account-id
/athena/*", "arn:aws:s3:::sagemaker-region
-account-id
/redshift", "arn:aws:s3:::sagemaker-region
-account-id
/redshift/*" ], "Condition": { "StringNotLike": { "aws:userId": [ "AROAEXAMPLEID_1
:*", "AROAEXAMPLEID_2
:*" ] } } } ] }
Creación de una lista de permisos para Data Wrangler
Cada vez que un usuario comienza a ejecutar Data Wrangler desde la interfaz de usuario de Amazon SageMaker Studio Classic, llama a la interfaz de programación de aplicaciones (API) para crear una SageMaker aplicación Data Wrangler.
Es posible que su organización no otorgue a sus usuarios permisos para realizar esas API llamadas de forma predeterminada. Para conceder permisos, debe crear y adjuntar una política a las IAM funciones del usuario mediante la siguiente plantilla de políticas: Ejemplo de lista de permisos de Data Wrangler
nota
El ejemplo de política anterior solo permite a sus usuarios acceder a la aplicación Data Wrangler.
Para obtener información sobre la creación de una política, consulte Creación de políticas en la JSON pestaña. Al crear una política, copie y pegue la JSON política del ejemplo de lista de permitidos de Data Wrangler
importante
Elimine cualquier IAM política que impida a los usuarios ejecutar las siguientes operaciones:
Si no elimina las políticas, es posible que los usuarios sigan afectados por ellas.
Después de crear la política con la plantilla, adjúntela a las IAM funciones de los usuarios. Para obtener información sobre cómo adjuntar una política, consulte Añadir permisos de IAM identidad (consola).
Otorgue un permiso a un IAM rol para usar Data Wrangler
Puede conceder un permiso a un IAM rol para usar Data Wrangler con la política de gestión generalIAM,. AmazonSageMakerFullAccess
AmazonSageMakerFullAccess
para conceder acceso a Data Wrangler:
-
Si importa datos de Amazon Redshift, el nombre del Usuario de la base de datos debe tener el prefijo
sagemaker_access
. -
Esta política administrada solo otorga permiso para acceder a los buckets con uno de los siguientes nombres:
SageMaker
,SageMaker
,sagemaker
oaws-glue
. Si quieres usar Data Wrangler para importar desde un bucket de S3 sin estas frases en el nombre, consulta la última sección de esta página para obtener información sobre cómo conceder permiso a una IAM entidad para acceder a tus buckets de S3.
Si tiene necesidades de alta seguridad, puede adjuntar las políticas de esta sección a una IAM entidad para conceder los permisos necesarios para usar Data Wrangler.
Si tiene conjuntos de datos en Amazon Redshift o Athena que IAM un rol necesita importar desde Data Wrangler, debe añadir una política a esa entidad para acceder a estos recursos. Las siguientes políticas son las más restrictivas que puede utilizar para conceder permiso a un IAM rol para importar datos de Amazon Redshift y Athena.
Para obtener información sobre cómo asociar una política personalizada a un IAM rol, consulte Administración de IAM políticas en la Guía del IAM usuario.
Ejemplo de política para conceder acceso a la importación de un conjunto de datos de Athena
La siguiente política supone que el IAM rol tiene permiso para acceder al depósito de S3 subyacente donde se almacenan los datos mediante una IAM política independiente.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:ListDataCatalogs", "athena:ListDatabases", "athena:ListTableMetadata", "athena:GetQueryExecution", "athena:GetQueryResults", "athena:StartQueryExecution", "athena:StopQueryExecution" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "glue:CreateTable" ], "Resource": [ "arn:aws:glue:*:*:table/*/sagemaker_tmp_*", "arn:aws:glue:*:*:table/sagemaker_featurestore/*", "arn:aws:glue:*:*:catalog", "arn:aws:glue:*:*:database/*" ] }, { "Effect": "Allow", "Action": [ "glue:DeleteTable" ], "Resource": [ "arn:aws:glue:*:*:table/*/sagemaker_tmp_*", "arn:aws:glue:*:*:catalog", "arn:aws:glue:*:*:database/*" ] }, { "Effect": "Allow", "Action": [ "glue:GetDatabases", "glue:GetTable", "glue:GetTables" ], "Resource": [ "arn:aws:glue:*:*:table/*", "arn:aws:glue:*:*:catalog", "arn:aws:glue:*:*:database/*" ] }, { "Effect": "Allow", "Action": [ "glue:CreateDatabase", "glue:GetDatabase" ], "Resource": [ "arn:aws:glue:*:*:catalog", "arn:aws:glue:*:*:database/sagemaker_featurestore", "arn:aws:glue:*:*:database/sagemaker_processing", "arn:aws:glue:*:*:database/default", "arn:aws:glue:*:*:database/sagemaker_data_wrangler" ] } ] }
Ejemplo de política para conceder acceso a la importación de un conjunto de datos de Amazon Redshift
La siguiente política concede permiso para configurar una conexión de Amazon Redshift con Data Wrangler mediante usuarios de bases de datos que tengan el prefijo sagemaker_access
en el nombre. Para conceder el permiso de conexión mediante usuarios de bases de datos adicionales, agregue entradas adicionales bajo "Resources"
en la siguiente política. La siguiente política supone que el IAM rol tiene permiso para acceder al depósito de S3 subyacente donde se almacenan los datos mediante una IAM política independiente, si corresponde.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "redshift-data:ExecuteStatement", "redshift-data:DescribeStatement", "redshift-data:CancelStatement", "redshift-data:GetStatementResult", "redshift-data:ListSchemas", "redshift-data:ListTables" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "redshift:GetClusterCredentials" ], "Resource": [ "arn:aws:redshift:*:*:dbuser:*/sagemaker_access*", "arn:aws:redshift:*:*:dbname:*" ] } ] }
Política para conceder acceso a un bucket de S3
Si su conjunto de datos está almacenado en Amazon S3, puede conceder un permiso de IAM rol para acceder a este bucket con una política similar a la siguiente. Este ejemplo otorga acceso programático de lectura y escritura al bucket denominado test
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:ListBucket"], "Resource": ["arn:aws:s3:::
test
"] }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject" ], "Resource": ["arn:aws:s3:::test
/*"] } ] }
Para importar datos de Athena y Amazon Redshift, debe conceder IAM un permiso de rol para acceder a los siguientes prefijos en el bucket de Amazon S3 predeterminado en AWS la región donde se utiliza el Data Wrangler:,. athena/
redshift/
Si aún no existe un bucket de Amazon S3 predeterminado en la AWS región, también debes conceder permiso al IAM rol para crear un bucket en esta región.
Además, si quieres que el IAM rol pueda usar las opciones de exportación de trabajos de Amazon SageMaker Feature Store, Pipelines y Data Wrangler, debes conceder acceso al prefijo data_wrangler_flows/
de este grupo.
Data Wrangler utiliza los prefijos athena/
y redshift/
para almacenar los archivos de vista previa y conjuntos de datos importados. Para obtener más información, consulte Almacenamiento de datos importados.
Data Wrangler usa el prefijo data_wrangler_flows/
para almacenar archivos .flow cuando ejecuta un cuaderno de Jupyter exportado desde Data Wrangler. Para obtener más información, consulte Exportar.
Utilice una política similar a la siguiente para conceder los permisos descritos en los párrafos anteriores.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::sagemaker-
region
-account-id
/data_wrangler_flows/", "arn:aws:s3:::sagemaker-region
-account-id
/data_wrangler_flows/*", "arn:aws:s3:::sagemaker-region
-account-id
/athena", "arn:aws:s3:::sagemaker-region
-account-id
/athena/*", "arn:aws:s3:::sagemaker-region
-account-id
/redshift", "arn:aws:s3:::sagemaker-region
-account-id
/redshift/*" ] }, { "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:ListBucket" ], "Resource": "arn:aws:s3:::sagemaker-region
-account-id
" }, { "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets", "s3:GetBucketLocation" ], "Resource": "*" } ] }
También puede acceder a los datos de su bucket de Amazon S3 desde otra AWS cuenta especificando el bucket de Amazon S3URI. Para ello, la IAM política que concede acceso al depósito de Amazon S3 de la otra cuenta debe utilizar una política similar a la del siguiente ejemplo, en la que BucketFolder
se encuentra el directorio específico del depósito del usuarioUserBucket
. Esta política debe añadirse al usuario que conceda acceso a su bucket a otro usuario.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:::
UserBucket
/BucketFolder/
*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": "arn:aws:s3:::UserBucket
", "Condition": { "StringLike": { "s3:prefix": [ "BucketFolder
/*" ] } } } ] }
El usuario que accede al bucket (no el propietario del bucket) debe agregar a su usuario una política similar a la del siguiente ejemplo. Tenga en cuenta que AccountX
y TestUser
a continuación se refieren al propietario del bucket y a su usuario, respectivamente.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
AccountX:user
/TestUser
" }, "Action": [ "s3:GetObject", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::UserBucket
/BucketFolder
/*" ] }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::AccountX:user
/TestUser
" }, "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::UserBucket
" ] } ] }
Ejemplo de política para conceder acceso al uso de SageMaker Studio
Usa una política como la siguiente para crear un rol de IAM ejecución que se pueda usar para configurar una instancia de Studio Classic.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedDomainUrl", "sagemaker:DescribeDomain", "sagemaker:ListDomains", "sagemaker:DescribeUserProfile", "sagemaker:ListUserProfiles", "sagemaker:*App", "sagemaker:ListApps" ], "Resource": "*" } ] }
Snowflake y Data Wrangler
Todos los permisos de AWS los recursos se administran mediante el IAM rol asociado a la instancia de Studio Classic. El administrador de Snowflake administra los permisos específicos de Snowflake, ya que puede conceder permisos y privilegios detallados a cada usuario de Snowflake. Esto incluye bases de datos, esquemas, tablas, almacenes y objetos de integración de almacenamiento. Debe asegurarse de que los permisos correctos estén configurados fuera de Data Wrangler.
Tenga en cuenta que el COPY INTO Amazon S3
comando Snowflake mueve los datos de Snowflake a Amazon S3 a través de la Internet pública de forma predeterminada, pero los datos en tránsito se protegen mediante. SSL Los datos en reposo de Amazon S3 se cifran conSSE, KMS utilizando la opción predeterminada AWS KMS key.
Con respecto al almacenamiento de credenciales de Snowflake, Data Wrangler no almacena las credenciales de los clientes. Data Wrangler usa Secrets Manager para almacenar las credenciales en un secreto y rota los secretos como parte de un plan de seguridad basado en las prácticas recomendadas. El administrador de Snowflake o Studio Classic debe asegurarse de que el rol de ejecución del científico de datos en Studio Classic cuente con permiso para trabajar con GetSecretValue
el secreto que almacena las credenciales. Si ya está asociada a la función de ejecución de Studio Classic, la AmazonSageMakerFullAccess
política tiene los permisos necesarios para leer los secretos creados por Data Wrangler y los secretos creados siguiendo la convención de nomenclatura y etiquetado de las instrucciones anteriores. Se debe conceder acceso por separado a los secretos que no sigan las convenciones. Recomendamos usar Secrets Manager para evitar compartir las credenciales a través de canales no seguros; sin embargo, tenga en cuenta que un usuario que haya iniciado sesión puede recuperar la contraseña de texto sin formato iniciando una terminal o un bloc de notas Python en Studio Classic y, a continuación, invocando las llamadas API desde el Secrets Manager. API
Cifrado de datos con AWS KMS
En Data Wrangler, puede descifrar archivos cifrados y agregarlos a su flujo de Data Wrangler. También puede cifrar el resultado de las transformaciones utilizando una AWS KMS clave predeterminada o una que usted proporcione.
Puede importar archivos si tienen:
-
cifrado del servidor
-
SSE- KMS como tipo de cifrado
Para descifrar el archivo e importarlo a un flujo de Data Wrangler, debe añadir el usuario de SageMaker Studio Classic que está utilizando como usuario clave.
La siguiente captura de pantalla muestra un rol de usuario de Studio Classic agregado como usuario clave. Consulte IAMFunciones
Configuración de claves administradas por el cliente de Amazon S3 para el almacenamiento de datos importados de Data Wrangler
De forma predeterminada, Data Wrangler usa buckets de Amazon S3 que tienen la siguiente convención de nomenclatura: sagemaker-region-account number
. Por ejemplo, si su número de cuenta es 111122223333
y está utilizando Studio Classic en us-east-1, sus conjuntos de datos importados se almacenan con la siguiente convención de nomenclatura:. sagemaker-us-east-1-111122223333
En las siguientes instrucciones se explica cómo configurar una clave administrada por el cliente para el bucket de Amazon S3 predeterminado.
-
Tras seguir el paso 1, navegue hasta su AWS KMS . AWS Management Console Busque la clave gestionada por el cliente que seleccionó en el paso 1 del paso anterior y añada el rol de Studio Classic como usuario clave. Para ello, siga las instrucciones de Allows key users to use a customer managed key.
Cifrado de los datos que exporta
Puede cifrar los datos que exporte mediante uno de los métodos siguientes:
-
Especificar que su bucket de Amazon S3 tiene un uso de objetosSSE: KMS cifrado.
-
Especificar una AWS KMS clave para cifrar los datos que exporta desde Data Wrangler.
En la página Exportar datos, especifique un valor para el ID de AWS KMS clave o. ARN
Para obtener más información sobre el uso de AWS KMS claves, consulte Protección de datos mediante el cifrado del lado del servidor con AWS KMS claves almacenadas en AWSAWS Key Management Service (SSE-KMS).
AppFlow Permisos de Amazon
Al realizar una transferencia, debe especificar un IAM rol que tenga permisos para realizar la transferencia. Puedes usar el mismo IAM rol que tiene permisos para usar Data Wrangler. De forma predeterminada, el IAM rol que utilizas para acceder a Data Wrangler es el. SageMakerExecutionRole
El IAM rol debe tener los siguientes permisos:
-
Permisos para Amazon AppFlow
-
Permisos para acceder al catálogo AWS Glue de datos
-
Permisos AWS Glue para descubrir las fuentes de datos disponibles
Cuando realizas una transferencia, Amazon AppFlow almacena los metadatos de la transferencia en el catálogo AWS Glue de datos. Data Wrangler usa los metadatos del catálogo para determinar si están disponibles para consultarlos e importarlos.
Para añadir permisos a Amazon AppFlow, añade la política AmazonAppFlowFullAccess
AWS
gestionada al IAM rol. Para obtener más información sobre cómo añadir políticas, consulta Añadir o eliminar permisos de IAM identidad.
Si va a transferir datos a Amazon S3, también debe asociar la siguiente política.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:GetBucketTagging", "s3:ListBucketVersions", "s3:CreateBucket", "s3:ListBucket", "s3:GetBucketPolicy", "s3:PutEncryptionConfiguration", "s3:GetEncryptionConfiguration", "s3:PutBucketTagging", "s3:GetObjectTagging", "s3:GetBucketOwnershipControls", "s3:PutObjectTagging", "s3:DeleteObject", "s3:DeleteBucket", "s3:DeleteObjectTagging", "s3:GetBucketPublicAccessBlock", "s3:GetBucketPolicyStatus", "s3:PutBucketPublicAccessBlock", "s3:PutAccountPublicAccessBlock", "s3:ListAccessPoints", "s3:PutBucketOwnershipControls", "s3:PutObjectVersionTagging", "s3:DeleteObjectVersionTagging", "s3:GetBucketVersioning", "s3:GetBucketAcl", "s3:PutObject", "s3:GetObject", "s3:GetAccountPublicAccessBlock", "s3:ListAllMyBuckets", "s3:GetAnalyticsConfiguration", "s3:GetBucketLocation" ], "Resource": "*" } ] }
Para añadir AWS Glue permisos, añada la política AWSGlueConsoleFullAccess
gestionada al IAM rol. Para obtener más información sobre AWS Glue los permisos con Amazon AppFlow, consulta [link-to-appflow-page].
Amazon AppFlow necesita acceder AWS Glue a Data Wrangler para que puedas importar los datos que has transferido. Para conceder AppFlow acceso a Amazon, añade la siguiente política de confianza al IAM rol.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
123456789012
:root", "Service": [ "appflow.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Para mostrar los AppFlow datos de Amazon en Data Wrangler, añade la siguiente política al IAM rol:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "glue:SearchTables", "Resource": [ "arn:aws:glue:*:*:table/*/*", "arn:aws:glue:*:*:database/*", "arn:aws:glue:*:*:catalog" ] } ] }
Uso de configuraciones de ciclo de vida en Data Wrangler
Puede que tengas una EC2 instancia de Amazon configurada para ejecutar aplicaciones de Kernel Gateway, pero no la aplicación Data Wrangler. Las aplicaciones Kernel Gateway proporcionan acceso al entorno y a los núcleos que se utilizan para ejecutar los ordenadores portátiles y terminales de Studio Classic. La aplicación Data Wrangler es la aplicación de interfaz de usuario que ejecuta Data Wrangler. EC2Las instancias de Amazon que no son instancias de Data Wrangler requieren una modificación en las configuraciones de su ciclo de vida para ejecutar Data Wrangler. Las configuraciones del ciclo de vida son scripts de shell que automatizan la personalización del entorno de Amazon SageMaker Studio Classic.
Para obtener más información acerca de las configuraciones del ciclo de vida, consulte Utilice las configuraciones del ciclo de vida para personalizar Studio Classic.
La configuración del ciclo de vida predeterminada de la instancia no admite el uso de Data Wrangler. Puede realizar las siguientes modificaciones en la configuración predeterminada para poder usar Data Wrangler con su instancia.
#!/bin/bash set -eux STATUS=$( python3 -c "import sagemaker_dataprep" echo $? ) if [ "$STATUS" -eq 0 ]; then echo 'Instance is of Type Data Wrangler' else echo 'Instance is not of Type Data Wrangler' # Replace this with the URL of your git repository export REPOSITORY_URL="https://github.com/aws-samples/sagemaker-studio-lifecycle-config-examples.git" git -C /root clone $REPOSTIORY_URL fi
Puede guardar el script como lifecycle_configuration.sh
.
Debe adjuntar la configuración del ciclo de vida a su dominio o perfil de usuario de Studio Classic. Para obtener más información acerca de la creación y asociación de un configuración de ciclo de vida, consulte Creación y asociación de una configuración del ciclo de vida.
Las siguientes instrucciones muestran cómo adjuntar una configuración de ciclo de vida a un dominio o perfil de usuario de Studio Classic.
Es posible que se produzcan errores al crear o asociar una configuración de ciclo de vida. Para obtener información acerca de la solución de errores de configuración de ciclo de vida, consulte KernelGateway fallo de la aplicación.