Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Hubungkan Hibah Akses Amazon S3 dengan notebook Studio JupyterLab
Gunakan informasi berikut untuk memberikan Hibah Akses Amazon S3 di buku catatan Studio. JupyterLab
Setelah Amazon S3 Access Grants disiapkan, tambahkan izin berikut ke peran eksekusi domain atau pengguna Anda.
-
adalah milikmu Wilayah AWSus-east-1
-
ID Anda adalah Akun AWS
-
adalah peran Hibah Akses Amazon S3 AndaS3-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
" } ] }
Pastikan kebijakan kepercayaan peran Amazon S3 Access Grants memungkinkan dan tindakan. sts:SetContext
sts:AssumeRole
Berikut ini adalah contoh kebijakan ketika Anda memperbarui kebijakan kepercayaan peran Anda.
{ "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" } } } ] }
Gunakan Hibah Akses Amazon S3 untuk memanggil Amazon S3
Berikut ini adalah contoh skrip Python yang menunjukkan bagaimana Amazon S3 Access Grants dapat digunakan untuk memanggil Amazon S3. Ini mengasumsikan Anda telah berhasil mengatur propagasi identitas tepercaya dengan SageMaker AI.
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/")
Jika Anda menggunakan jalur ke bucket Amazon S3 di mana hibah akses Amazon S3 tidak diaktifkan, panggilan akan gagal.
Untuk bahasa pemrograman lainnya, lihat Mengelola akses dengan Amazon S3 Access Grants untuk informasi lebih lanjut.