As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Segurança e permissões
Quando você consulta dados do Athena ou do Amazon Redshift, o conjunto de dados consultado é automaticamente armazenado no bucket AI S3 SageMaker padrão para a região na qual você está usando AWS o Studio Classic. Além disso, quando você exporta um notebook Jupyter do Amazon SageMaker Data Wrangler e o executa, seus fluxos de dados, ou arquivos.flow, são salvos no mesmo bucket padrão, sob o prefixo data_wrangler_flows.
Para necessidades de segurança de alto nível, você pode configurar uma política de bucket que restrinja as AWS funções que têm acesso a esse bucket SageMaker AI S3 padrão. Use a seção a seguir para adicionar esse tipo de política a um bucket do S3. Para seguir as instruções nesta página, use o AWS Command Line Interface (AWS CLI). Para saber como, consulte Como configurar a AWS CLI no Guia do usuário do IAM.
Além disso, você precisa conceder permissões a cada perfil do IAM que usa o Data Wrangler para acessar os recursos necessários. Se não precisar de permissões granulares para o perfil do IAM usado para acessar o Data Wrangler, poderá adicionar a política gerenciada do IAM, AmazonSageMakerFullAccess
Adicione uma política de bucket para restringir o acesso aos conjuntos de dados importados para o Data Wrangler
Você pode adicionar uma política ao bucket do S3 que contém seus recursos do Data Wrangler usando uma política de bucket do Amazon S3. Os recursos que o Data Wrangler carrega para seu bucket SageMaker AI S3 padrão na AWS região em que você está usando o Studio Classic incluem o seguinte:
-
Resultados consultados do Amazon Redshift. Eles são armazenados sob o prefixo redshift/.
-
Resultados consultados de Athena. Eles são armazenados sob o prefixo redshift/.
-
Os arquivos.flow são enviados para o Amazon S3 quando você executa um caderno Jupyter exportado produzido pelo Data Wrangler. Eles são armazenados sob o prefixo data_wrangler_flows/.
Use o procedimento a seguir para criar uma política de bucket do S3 que você pode adicionar para restringir o acesso do perfil do IAM a esse bucket. Para saber como adicionar uma política a um bucket do S3, consulte Como adicionar uma política de bucket usando o console do S3?.
Para configurar uma política de bucket no bucket do S3 que armazena seus recursos do Data Wrangler:
-
Configure uma ou mais funções do IAM que você deseja acessar o Data Wrangler.
-
Abra um prompt de comando ou shell. Para cada função que você criar,
role-name
substitua pelo nome da função e execute o seguinte:$ aws iam get-role --role-name
role-name
Na resposta, você vê uma string
RoleId
que começa comAROA
. Copie essa string. -
Adicione a política a seguir ao bucket padrão de SageMaker IA na AWS região em que você está usando o Data Wrangler.
region
Substitua pela AWS região na qual o bucket está localizado eaccount-id
pelo ID AWS da sua conta. SubstituauserId
sAROAEXAMPLEID
começando pela IDs de qualquer AWS função para a qual você deseja conceder permissão para usar o 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
:*" ] } } } ] }
Crie uma lista de permissões para o Data Wrangler
Sempre que um usuário começa a executar o Data Wrangler a partir da interface de usuário do Amazon SageMaker Studio Classic, ele faz uma chamada para a interface de programação de aplicativos (API) de SageMaker IA para criar um aplicativo Data Wrangler.
Sua organização pode não fornecer aos usuários permissões para fazer essas chamadas de API por padrão. Para fornecer permissões, você deve criar e anexar uma política às funções do IAM do usuário usando o seguinte modelo de política: Exemplo de lista de permissões do Data Wrangler
nota
O exemplo de política anterior só dá aos usuários acesso à aplicação Data Wrangler.
Para obter informações sobre como criar uma política, consulte Criar políticas na guia JSON. Quando criar uma política, copie e cole a política JSON do Exemplo de Lista de Permissões do Data Wrangler na guia
Importante
Exclua todas as políticas do IAM que impeçam os usuários de executar as seguintes operações:
Se você não excluir as políticas, seus usuários ainda poderão ser afetados por elas.
Depois de criar a política usando o modelo, anexe-a às funções do IAM dos seus usuários. Para obter mais informações sobre anexar políticas, consulte Adicionar permissões de identidades do IAM (console).
Conceder permissão a um perfil do IAM para usar o Data Wrangler
Você pode conceder a um perfil do IAM permissão para usar o Data Wrangler com a política geral gerenciada do IAM, AmazonSageMakerFullAccess
AmazonSageMakerFullAccess
para conceder acesso ao Data Wrangler:
-
Se você importar dados do Amazon Redshift, o nome de usuário do banco de dados deverá ter o prefixo.
sagemaker_access
-
Essa política gerenciada só concede permissão para acessar buckets com um dos seguintes no nome:
SageMaker AI
,SageMaker AI
,sagemaker
ouaws-glue
. Se quiser usar o Data Wrangler para importar de um bucket do S3 sem essas frases no nome, consulte a última seção desta página para saber como conceder permissão a uma entidade do IAM para acessar seus buckets do S3.
Se você tiver necessidades de alta segurança, poderá anexar as políticas desta seção a uma entidade do IAM para conceder as permissões necessárias para usar o Data Wrangler.
Se você tiver conjuntos de dados no Amazon Redshift ou no Athena que um perfil do IAM precisa importar do Data Wrangler, você deve adicionar uma política a essa entidade para acessar esses recursos. As políticas a seguir são as políticas mais restritivas que você pode usar para dar permissão a um perfil do IAM para importar dados do Amazon Redshift e do Athena.
Para saber como anexar uma política personalizada a uma perfil do IAM, consulte Gerenciar políticas do IAM no Guia do usuário do IAM.
Exemplo de política para conceder acesso a uma importação de conjunto de dados do Athena
A política a seguir pressupõe que o perfil do IAM tenha permissão para acessar o bucket S3 subjacente, onde os dados são armazenados por meio de uma política do IAM separada.
{ "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" ] } ] }
Exemplo de política para conceder acesso a uma importação de conjunto de dados do Amazon Redshift
A política a seguir concede permissão para configurar uma conexão do Amazon Redshift com o Data Wrangler usando usuários do banco de dados que tenham o prefixo sagemaker_access
no nome. Para conceder permissão para se conectar usando usuários adicionais do banco de dados, adicione mais entradas sob "Resources"
na política a seguir. A política a seguir pressupõe que o perfil do IAM tenha permissão para acessar o bucket S3 subjacente, onde os dados são armazenados por meio de uma política do IAM, se aplicável.
{ "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 acesso para um bucket do S3
Se seu conjunto de dados estiver armazenado no Amazon S3, você poderá conceder a um perfil do IAM permissão para acessar esse bucket com uma política semelhante à seguinte: Este exemplo concede acesso programático de leitura e gravação ao bucket chamado. 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 dados do Athena e do Amazon Redshift, você deve conceder a uma função do IAM permissão para acessar os seguintes prefixos no bucket padrão do Amazon S3 na região Data Wrangler em AWS que está sendo usado:,. athena/
redshift/
Se um bucket padrão do Amazon S3 ainda não existir na AWS região, você também deverá dar permissão à função do IAM para criar um bucket nessa região.
Além disso, se você quiser que a função do IAM possa usar as opções de exportação de trabalhos do Amazon SageMaker Feature Store, Pipelines e Data Wrangler, você deve conceder acesso ao prefixo data_wrangler_flows/
nesse bucket.
O Data Wrangler usa os prefixos athena/
e redshift/
para armazenar arquivos de visualização e conjuntos de dados importados. Para saber mais, consulte Armazenamento de dados importados.
O Data Wrangler usa o prefixo data_wrangler_flows/
para armazenar arquivos.flow quando você executa um caderno Jupyter exportado do Data Wrangler. Para saber mais, consulte Exportar.
Use uma política semelhante à seguinte para conceder as permissões descritas nos parágrafos 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": "*" } ] }
Você também pode acessar dados em seu bucket do Amazon S3 a partir de outra AWS conta especificando o URI do bucket do Amazon S3. Para fazer isso, a política do IAM que concede acesso ao bucket do Amazon S3 na outra conta deve usar uma política semelhante ao exemplo a seguir, onde BucketFolder
está o diretório específico no bucket do usuário UserBucket
. Essa política deve ser adicionada ao usuário que concede acesso ao bucket para outro usuário.
{ "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
/*" ] } } } ] }
O usuário que está acessando o bucket (não o proprietário do bucket) deve adicionar uma política semelhante ao exemplo a seguir para seu usuário. Observe que AccountX
e TestUser
abaixo se refere ao proprietário do bucket e seu usuário, 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
" ] } ] }
Exemplo de política para conceder acesso para usar o SageMaker AI Studio
Use uma política como a seguinte para criar um perfil de execução do IAM que possa ser usado para configurar uma instância do 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 e Data Wrangler
Todas as permissões para AWS recursos são gerenciadas por meio de sua função do IAM anexada à sua instância do Studio Classic. O administrador do Snowflake gerencia as permissões específicas do Snowflake, pois pode conceder permissões e privilégios granulares a cada usuário do Snowflake. Isso inclui bancos de dados, esquemas, tabelas, armazéns e objetos de integração de armazenamento. Você deve garantir que as permissões corretas sejam configuradas fora do Data Wrangler.
Observe que o COPY INTO Amazon S3
comando Snowflake move dados do Snowflake para o Amazon S3 pela Internet pública por padrão, mas os dados em trânsito são protegidos usando SSL. Os dados em repouso no Amazon S3 são criptografados com SSE-KMS usando o padrão. AWS KMS key
Com relação ao armazenamento de credenciais do Snowflake, o Data Wrangler não armazena as credenciais do cliente. O Data Wrangler usa o Secrets Manager para armazenar as credenciais em um segredo e alterna os segredos como parte de um plano de segurança de melhores práticas. O administrador do Snowflake ou do Studio Classic precisa garantir que o perfil de execução do Studio Classic do cientista de dados tenha permissão para realizar GetSecretValue
no segredo que armazena as credenciais. Se já estiver vinculada ao perfil de execução do Studio Classic, a política AmazonSageMakerFullAccess
tem as permissões necessárias para ler segredos criados pelo Data Wrangler e segredos criados seguindo a convenção de nomenclatura e marcação nas instruções acima. Segredos que não seguem as convenções devem ter acesso concedido separadamente. Recomendamos usar o Secrets Manager para evitar o compartilhamento de credenciais em canais não seguros; no entanto, observe que um usuário conectado pode recuperar a senha em texto simples iniciando um terminal ou caderno Python no Studio Classic e, em seguida, invocando chamadas de API do Secrets Manager.
Criptografia de dados com AWS KMS
No Data Wrangler, você pode descriptografar arquivos criptografados e adicioná-los ao seu fluxo do Data Wrangler. Você também pode criptografar a saída das transformações usando uma AWS KMS chave padrão ou fornecida por você.
Você pode importar arquivos se eles tiverem o seguinte:
-
Criptografia do lado do servidor
-
SSE-KMS como o tipo de criptografia
Para descriptografar o arquivo e importá-lo para um fluxo do Data Wrangler, você deve adicionar o usuário do SageMaker Studio Classic que você está usando como usuário chave.
A captura de tela a seguir mostra uma função de usuário do Studio adicionada como usuário de chave. Consulte Perfis do IAM

Configuração de chave gerenciada pelo cliente do Amazon S3 para armazenamento de dados importados do Data Wrangler
Por padrão, o Data Wrangler usa buckets Amazon S3 que têm a seguinte convenção de nomenclatura: sagemaker-region-account number
. Por exemplo, se o número da sua conta for 111122223333
e você estiver usando o Studio Classic em us-east-1, seus conjuntos de dados importados serão armazenados com a seguinte convenção de nomenclatura: sagemaker-us-east-1-111122223333
.
As instruções a seguir explicam como configurar uma chave gerenciada pelo cliente para seu bucket padrão do Amazon S3.
-
Depois de seguir a etapa 1, navegue até AWS KMS em seu AWS Management Console. Encontre a chave gerenciada pelo cliente que você selecionou na etapa 1 da etapa anterior e adicione a função do Studio Classic como usuário de chave. Para fazer isso, siga as instruções em Permite que os principais usuários usem uma chave gerenciada pelo cliente.
Criptografando os dados que você exporta
É possível criptografar os dados que você exporta usando um dos seguintes métodos:
-
Para especificar que seu bucket do Amazon S3 tem objeto use a criptografia SSE-KMS.
-
Especificar uma AWS KMS chave para criptografar os dados que você exporta do Data Wrangler.
Na página Exportar dados, especifique um valor para o ID da chave do AWS KMS ou ARN.
Para obter mais informações sobre o uso de AWS KMS chaves, consulte Proteção de dados usando criptografia do lado do servidor com AWS KMS chaves armazenadas em AWSAWS Key Management Service (SSE-KMS).
AppFlow Permissões da Amazon
Ao realizar uma transferência, você deve especificar um perfil do IAM que tenha permissões para realizar a transferência. Você pode usar a mesmo perfil do IAM que tem permissões para usar o Data Wrangler. Por padrão, o perfil do IAM que você usa para acessar o Data Wrangler é o SageMakerExecutionRole
.
O perfil do IAM também deve ter as permissões a seguir:
-
Permissões para a Amazon AppFlow
-
Permissões para o catálogo AWS Glue de dados
-
Permissões AWS Glue para descobrir as fontes de dados que estão disponíveis
Quando você executa uma transferência, a Amazon AppFlow armazena os metadados da transferência no Catálogo de AWS Glue Dados. O Data Wrangler usa os metadados do catálogo para determinar se eles estão disponíveis para consulta e importação.
Para adicionar permissões à Amazon AppFlow, adicione a política AmazonAppFlowFullAccess
AWS
gerenciada à função do IAM. Para obter mais informações sobre a adição de políticas, consulte Adicionar ou remover permissões de identidades do IAM.
Se você estiver transferindo dados para o Amazon S3, você também deve anexar a seguinte 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 adicionar AWS Glue permissões, adicione a política AWSGlueConsoleFullAccess
gerenciada à função do IAM. Para obter mais informações sobre AWS Glue permissões com a Amazon AppFlow, consulte [link-to-appflow-page].
A Amazon AppFlow precisa acessar AWS Glue um Data Wrangler para que você importe os dados que você transferiu. Para conceder AppFlow acesso à Amazon, adicione a seguinte política de confiança à função do IAM.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
123456789012
:root", "Service": [ "appflow.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Para exibir os AppFlow dados da Amazon no Data Wrangler, adicione a seguinte política à função do IAM:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "glue:SearchTables", "Resource": [ "arn:aws:glue:*:*:table/*/*", "arn:aws:glue:*:*:database/*", "arn:aws:glue:*:*:catalog" ] } ] }
Usando configurações de ciclo de vida no Data Wrangler
Você pode ter uma EC2 instância da Amazon configurada para executar aplicativos Kernel Gateway, mas não o aplicativo Data Wrangler. As aplicações Kernel Gateway fornecem acesso ao ambiente e aos kernels que você usa para executar cadernos do Studio Classic e terminais. A aplicação Data Wrangler é a aplicação de interface do usuário que executa o Data Wrangler. EC2 As instâncias da Amazon que não são instâncias do Data Wrangler exigem uma modificação em suas configurações de ciclo de vida para executar o Data Wrangler. As configurações de ciclo de vida são scripts de shell que automatizam a personalização do seu ambiente Amazon SageMaker Studio Classic.
Para obter mais informações sobre a configuração de ciclo de vida, consulte Use configurações de ciclo de vida para personalizar o Studio Classic .
A configuração padrão do ciclo de vida da sua instância não é compatível com o uso do Data Wrangler. Você pode fazer as seguintes modificações na configuração padrão para usar o Data Wrangler com sua instância:
#!/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
Você pode salvar o script como lifecycle_configuration.sh
.
Você anexa a configuração do ciclo de vida a um domínio do Studio Classic ou a um perfil de usuário. Para obter mais informações sobre criar e gerenciar uma configuração de ciclo de vida, consulte Criar e associar uma configuração de ciclo de vida.
As instruções a seguir mostram como anexar a configuração do ciclo de vida a um domínio do Studio Classic ou a um perfil de usuário.
Você pode encontrar erros ao criar ou anexar uma configuração de ciclo de vida. Para obter informações sobre depuração da configuração do ciclo de vida, consulte KernelGateway falha no aplicativo.