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á.
Conecte as concessões de acesso do Amazon S3 com notebooks Studio JupyterLab
Use as informações a seguir para conceder concessões de acesso ao Amazon S3 em notebooks Studio JupyterLab .
Depois que o Amazon S3 Access Grants for configurado, adicione as seguintes permissões ao seu domínio ou função de execução de usuário.
-
é seu Região da AWSus-east-1
-
é o seu Conta da AWS ID111122223333
-
é sua função de concessão de acesso ao Amazon S3S3-ACCESS-GRANT-ROLE
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowDataAccessAPI", "Effect": "Allow", "Action": [ "s3:GetDataAccess" ], "Resource": [ "arn:aws:s3:
us-east-1
:111122223333
:access-grants/default" ] }, { "Sid": "RequiredForTIP", "Effect": "Allow", "Action": "sts:SetContext", "Resource": "arn:aws:iam::111122223333
:role/S3-ACCESS-GRANT-ROLE
" } ] }
Certifique-se de que a política de confiança da sua função Amazon S3 Access Grants permita as ações sts:SetContext
e. sts:AssumeRole
Veja a seguir um exemplo de política para quando você atualiza sua política de confiança de função.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "access-grants.s3.amazonaws.com" ] }, "Action": [ "sts:AssumeRole", "sts:SetContext" ], "Condition": { "StringEquals": { "aws:SourceAccount": "
111122223333
", "aws:SourceArn": "arn:aws:s3:us-east-1
:111122223333
:access-grants/default" } } } ] }
Use o Amazon S3 Access Grants para ligar para o Amazon S3
Veja a seguir um exemplo de script em Python que mostra como o Amazon S3 Access Grants pode ser usado para chamar o Amazon S3. Isso pressupõe que você já tenha configurado com êxito a propagação de identidade confiável com SageMaker IA.
import boto3 from botocore.config import Config def get_access_grant_credentials(account_id: str, target: str, permission: str = 'READ'): s3control = boto3.client('s3control') response = s3control.get_data_access( AccountId=account_id, Target=target, Permission=permission ) return response['Credentials'] def create_s3_client_from_credentials(credentials) -> boto3.client: return boto3.client( 's3', aws_access_key_id=credentials['AccessKeyId'], aws_secret_access_key=credentials['SecretAccessKey'], aws_session_token=credentials['SessionToken'] ) # Create client credentials = get_access_grant_credentials('
111122223333
', "s3://tip-enabled-bucket/tip-enabled-path/") s3 = create_s3_client_from_credentials(credentials) s3.list_objects(Bucket="tip-enabled-bucket", Prefix="tip-enabled-path/")
Se você usar um caminho para um bucket do Amazon S3 onde a concessão de acesso ao Amazon S3 não está habilitada, a chamada falhará.
Para outras linguagens de programação, consulte Gerenciamento de acesso com Amazon S3 Access Grants para obter mais informações.