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.
Conecta Amazon S3 Access Grants con las JupyterLab libretas Studio
Utilice la siguiente información para conceder subvenciones de acceso a Amazon S3 en las JupyterLab libretas Studio.
Después de configurar Amazon S3 Access Grants, añada los siguientes permisos a su dominio o función de ejecución de usuario.
-
es su Región de AWSus-east-1
-
es tu Cuenta de AWS DNI111122223333
-
es su función de Amazon S3 Access GrantS3-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
" } ] }
Asegúrese de que la política de confianza de su rol de Amazon S3 Access Grants permita las sts:AssumeRole
acciones sts:SetContext
y. El siguiente es un ejemplo de política para actualizar la política de confianza de su rol.
{ "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" } } } ] }
Utilice Amazon S3 Access Grants para llamar a Amazon S3
A continuación, se muestra un ejemplo de script de Python que muestra cómo se pueden utilizar Amazon S3 Access Grants para llamar a Amazon S3. Esto supone que ya ha configurado correctamente la propagación de identidades confiable con 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/")
Si utiliza una ruta a un bucket de Amazon S3 en el que la concesión de acceso a Amazon S3 no esté habilitada, la llamada fallará.
Para obtener más información sobre otros lenguajes de programación, consulte Administrar el acceso con Amazon S3 Access Grants.