Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Connetti Amazon S3 Access Grants ai notebook Studio JupyterLab
Utilizza le seguenti informazioni per concedere Amazon S3 Access Grants nei notebook Studio. JupyterLab
Dopo aver configurato Amazon S3 Access Grants, aggiungi le seguenti autorizzazioni al tuo dominio o al ruolo di esecuzione utente.
-
è tuo Regione AWSus-east-1
-
è il tuo Account AWS ID111122223333
-
è il tuo ruolo in 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
" } ] }
Assicurati che la politica di fiducia del tuo ruolo Amazon S3 Access Grants consenta le azioni e le sts:SetContext
azioni. sts:AssumeRole
Di seguito è riportato un esempio di policy da utilizzare quando aggiorni la policy sulla fiducia dei ruoli.
{ "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" } } } ] }
Usa Amazon S3 Access Grants per chiamare Amazon S3
Di seguito è riportato un esempio di script Python che mostra come usare Amazon S3 Access Grants per chiamare Amazon S3. Ciò presuppone che tu abbia già configurato correttamente la propagazione delle identità affidabili con l'intelligenza artificiale. SageMaker
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 utilizzi un percorso verso un bucket Amazon S3 in cui la concessione di accesso Amazon S3 non è abilitata, la chiamata avrà esito negativo.
Per altri linguaggi di programmazione, consulta Gestire l'accesso con Amazon S3 Access Grants per ulteriori informazioni.