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à.
Se l'ACL del bucket concede l'accesso all'esterno del bucket Account AWS, prima di disabilitarlo ACLs, è necessario migrare le autorizzazioni ACL del bucket alla policy del bucket e reimpostare l'ACL del bucket sull'ACL privato predefinito. Se non esegui la migrazione di questi bucket, la tua richiesta di applicare l'impostazione di disabilitazione forzata del proprietario del bucket ACLs ha esito negativo e restituisce ACLs InvalidBucketAclWithObjectOwnershipcodice di errore. Ti consigliamo inoltre di rivedere le autorizzazioni ACL dell'oggetto e di migrarle alla policy di bucket. Per ulteriori informazioni su altri prerequisiti consigliati, consulta Prerequisiti per la disabilitazione ACLs.
Ogni bucket e oggetto esistenti ACLs ha un equivalente in una policy IAM. I seguenti esempi di bucket policy mostrano come READ
e WRITE
le autorizzazioni per bucket e object ACLs mapping alle autorizzazioni IAM. Per ulteriori informazioni su come ogni ACL si traduce in autorizzazioni IAM, consulta Mappatura delle autorizzazioni ACL e delle autorizzazioni della policy di accesso.
Per esaminare e migrare le autorizzazioni ACL alle policy di bucket, consultare i seguenti argomenti.
Argomenti
Esempi di policy di bucket
Questi esempi di policy bucket mostrano come migrare le autorizzazioni ACL per WRITE
bucket READ
e object di terze parti verso una bucket policy. Account AWS READ_ACP
e WRITE_ACP
ACLs sono meno rilevanti per le politiche perché concedono autorizzazioni relative all'ACL (,, e). s3:GetBucketAcl
s3:GetObjectAcl
s3:PutBucketAcl
s3:PutObjectAcl
Esempio — READ
ACL per un bucket
Se il tuo bucket ha un READ
ACL che concede l' Account AWS
autorizzazione a elencare il contenuto del tuo bucket, puoi scrivere una policy sul bucket che conceda, le autorizzazioni per il tuo bucket. 111122223333
s3:ListBucket
s3:ListBucketVersions
s3:ListBucketMultipartUploads
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Permission to list the objects in a bucket", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::
111122223333
:root" ] }, "Action": [ "s3:ListBucket", "s3:ListBucketVersions", "s3:ListBucketMultipartUploads" ], "Resource": "arn:aws:s3:::" } ] }
amzn-s3-demo-bucket
Esempio — per ogni oggetto in un bucket READ
ACLs
Se ogni oggetto nel tuo bucket ha un READ
ACL a cui concede l'accesso Account AWS
, puoi scrivere una policy sul bucket che conceda 111122223333
s3:GetObject
e s3:GetObjectVersion
autorizzi a questo account per ogni oggetto nel tuo bucket.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Read permission for every object in a bucket", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::
111122223333
:root" ] }, "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::/*" } ] }
amzn-s3-demo-bucket
Questo elemento di risorsa esemplificativo consente l'accesso a un oggetto specifico.
"Resource": "arn:aws:s3:::
/
amzn-s3-demo-bucket
OBJECT-KEY
"
Esempio — WRITE
ACL che concede le autorizzazioni per scrivere oggetti su un bucket
Se il tuo bucket ha un WRITE
ACL che concede l' Account AWS
autorizzazione a scrivere oggetti nel tuo bucket, puoi scrivere una policy sul bucket che conceda l'autorizzazione per il tuo bucket. 111122223333
s3:PutObject
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Permission to write objects to a bucket", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::
111122223333
:root" ] }, "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::/*" } ] }
amzn-s3-demo-bucket
Utilizzo della console S3 per esaminare e migrare le autorizzazioni ACL
Per esaminare le autorizzazioni ACL di un bucket
Accedi a AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/
-
Nell'elenco Bucket, seleziona il nome del bucket.
-
Scegli la scheda Autorizzazioni.
-
Alla voce Lista di controllo accessi (ACL), controlla le autorizzazioni ACL del bucket.
Per esaminare le autorizzazioni ACL di un oggetto
Accedi a AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/
-
Nell'elenco Buckets (Bucket), scegli il nome del bucket contenente l'oggetto.
-
Nell'elenco Oggetti scegli il nome dell'oggetto.
-
Scegli la scheda Autorizzazioni.
-
Alla voce Lista di controllo accessi (ACL), controlla le autorizzazioni ACL dell'oggetto.
Per migrare le autorizzazioni ACL e aggiornare l'ACL del bucket
Accedi a AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/
-
Nell'elenco Bucket, seleziona il nome del bucket.
-
Nella sezione Autorizzazioni, alla voce Policy del bucket, scegliere Modifica.
-
Nella casella Policy, aggiungi o aggiorna la policy del bucket.
Per le policy di bucket di esempio, consulta Esempi di policy di bucket e Procedure guidate di esempio.
-
Scegli Save changes (Salva modifiche).
-
Aggiorna l'ACL del bucket per rimuovere le autorizzazioni ACL ad altri gruppi o Account AWS.
-
Applica l'impostazione Proprietario del bucket applicato per Proprietà dell'oggetto.
Utilizzo di AWS CLI per rivedere e migrare le autorizzazioni ACL
-
Per restituire l'ACL del bucket per il tuo bucket, usa il get-bucket-acl
AWS CLI comando: aws s3api get-bucket-acl --bucket
amzn-s3-demo-bucket
Ad esempio, questa ACL di bucket concede l'accesso
WRITE
eREAD
a un account di terze parti. In questa ACL, l'account di terze parti è identificato dall'ID utente canonico. Per applicare e disabilitare l'impostazione imposta dal proprietario di Bucket ACLs, devi migrare queste autorizzazioni per l'account di terze parti a una policy bucket.{ "Owner": { "DisplayName": "
DOC-EXAMPLE-ACCOUNT-OWNER
", "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
" }, "Grants": [ { "Grantee": { "DisplayName": "DOC-EXAMPLE-ACCOUNT-OWNER
", "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
", "Type": "CanonicalUser" }, "Permission": "FULL_CONTROL" }, { "Grantee": { "DisplayName": "THIRD-PARTY-EXAMPLE-ACCOUNT
", "ID": "72806de9d1ae8b171cca9e2494a8d1335dfced4ThirdPartyAccountCanonicalUserID
", "Type": "CanonicalUser" }, "Permission": "READ" }, { "Grantee": { "DisplayName": "THIRD-PARTY-EXAMPLE-ACCOUNT
", "ID": "72806de9d1ae8b171cca9e2494a8d1335dfced4ThirdPartyAccountCanonicalUserID
", "Type": "CanonicalUser" }, "Permission": "WRITE" } ] }Per altri esempi, vedi. ACLs Procedure guidate di esempio
-
Migrazione delle autorizzazioni ACL del bucket a una policy di bucket:
Questo esempio di policy di bucket concede autorizzazioni
s3:PutObject
es3:ListBucket
per un account di terze parti. Nella policy bucket, l'account di terze parti è identificato dall' Account AWS ID (
).111122223333
aws s3api put-bucket-policy --bucket
--policyamzn-s3-demo-bucket
file://policy.json
policy.json: { "Version": "2012-10-17", "Statement": [ { "Sid": "PolicyForCrossAccountAllowUpload", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333
:root" ] }, "Action": [ "s3:PutObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::
", "arn:aws:s3:::amzn-s3-demo-bucket
/*" } ] }amzn-s3-demo-bucket
Per ulteriori policy di bucket esemplificative, consulta Esempi di policy di bucket e Procedure guidate di esempio.
-
Per restituire l'ACL per un oggetto specifico, utilizzate il get-object-acl
AWS CLI comando. aws s3api get-object-acl --bucket
amzn-s3-demo-bucket
--keyEXAMPLE-OBJECT-KEY
-
Se necessario, migrare le autorizzazioni ACL degli oggetti alla policy del bucket.
Questo elemento di risorsa esemplificativo concede l'accesso a un oggetto specifico in una policy di bucket.
"Resource": "arn:aws:s3:::
amzn-s3-demo-bucket
/EXAMPLE-OBJECT-KEY
" -
Ripristina l'ACL per il bucket sull'ACL predefinito.
aws s3api put-bucket-acl --bucket
amzn-s3-demo-bucket
--acl private -
Applica l'impostazione Proprietario del bucket applicato per Proprietà dell'oggetto.
Procedure guidate di esempio
Negli esempi seguenti viene illustrato come migrare le autorizzazioni ACL alle policy di bucket per casi d'uso specifici.
Argomenti
Concedere l'accesso al gruppo di consegna di log S3 per la registrazione di log degli accessi al server
Se desideri applicare l'impostazione imposta dal proprietario del bucket ACLs per disabilitare un bucket di destinazione per la registrazione degli accessi al server (noto anche come bucket di destinazione), devi migrare le autorizzazioni ACL del bucket per il gruppo di consegna dei log S3 al logging service principal () in una policy bucket. logging.s3.amazonaws.com
Per ulteriori informazioni sulle autorizzazioni della distribuzione dei registri, consultare Autorizzazioni per la distribuzione dei registri.
Questa ACL del bucket concede l'accesso WRITE
e READ_ACP
al gruppo di distribuzione di registri S3:
{ "Owner": { "DisplayName": "
DOC-EXAMPLE-ACCOUNT-OWNER
", "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
" }, "Grants": [ { "Grantee": { "Type": "CanonicalUser", "DisplayName": "DOC-EXAMPLE-ACCOUNT-OWNER
", "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
" }, "Permission": "FULL_CONTROL" }, { "Grantee": { "Type": "Group", "URI": "http://acs.amazonaws.com/groups/s3/LogDelivery" }, "Permission": "WRITE" }, { "Grantee": { "Type": "Group", "URI": "http://acs.amazonaws.com/groups/s3/LogDelivery" }, "Permission": "READ_ACP" } ] }
Per migrare le autorizzazioni ACL del bucket per il gruppo di distribuzione di registri S3 al principale del servizio di registrazione in una policy di bucket
-
Aggiungi la seguente policy di bucket al bucket di destinazione, sostituendo i valori di esempio.
aws s3api put-bucket-policy --bucket
amzn-s3-demo-bucket
--policyfile://policy.json
policy.json: { { "Version": "2012-10-17", "Statement": [ { "Sid": "S3ServerAccessLogsPolicy", "Effect": "Allow", "Principal": { "Service": "logging.s3.amazonaws.com" }, "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::
/amzn-s3-demo-bucket
EXAMPLE-LOGGING-PREFIX
*", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:::SOURCE-BUCKET-NAME
" }, "StringEquals": { "aws:SourceAccount": "SOURCE-AWS-ACCOUNT-ID
" } } } ] } -
Ripristina l'ACL per il bucket di destinazione all'ACL predefinita.
aws s3api put-bucket-acl --bucket
amzn-s3-demo-bucket
--acl private -
Applica l'impostazione Proprietario del bucket applicato per Proprietà dell'oggetto al bucket di destinazione.
Concedere l'accesso pubblico in lettura agli oggetti nel bucket
Se il tuo oggetto ACLs concede l'accesso pubblico in lettura a tutti gli oggetti nel tuo bucket, puoi migrare queste autorizzazioni ACL a una policy bucket.
Questa ACL di oggetto concede l'accesso pubblico in lettura a un oggetto in un bucket:
{ "Owner": { "DisplayName": "
DOC-EXAMPLE-ACCOUNT-OWNER
", "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
" }, "Grants": [ { "Grantee": { "DisplayName": "DOC-EXAMPLE-ACCOUNT-OWNER
", "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
", "Type": "CanonicalUser" }, "Permission": "FULL_CONTROL" }, { "Grantee": { "Type": "Group", "URI": "http://acs.amazonaws.com/groups/global/AllUsers" }, "Permission": "READ" } ] }
Per migrare le autorizzazioni ACL di lettura pubblica a una policy di bucket
-
Per concedere l'accesso in lettura pubblica a tutti gli oggetti nel bucket, aggiungere la seguente policy di bucket, sostituendo i valori di esempio.
aws s3api put-bucket-policy --bucket
amzn-s3-demo-bucket
--policy file://policy.json
policy.json: { "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket
/*" ] } ] }Per concedere l'accesso pubblico a un oggetto specifico in una policy di bucket, utilizzare il seguente formato per l'elemento
Resource
."Resource": "arn:aws:s3:::
amzn-s3-demo-bucket
/OBJECT-KEY
"Per concedere l'accesso pubblico a tutti gli oggetti con un prefisso specifico, utilizzare il seguente formato per l'elemento
Resource
."Resource": "arn:aws:s3:::
amzn-s3-demo-bucket
/PREFIX/
*" -
Applica l'impostazione Proprietario del bucket applicato per Proprietà dell'oggetto.
Concedi ad Amazon ElastiCache (Redis OSS) l'accesso al tuo bucket S3
Puoi esportare il tuo backup ElastiCache (Redis OSS) in un bucket S3, che ti consente di accedere al backup dall'esterno. ElastiCache Per esportare il backup in un bucket S3, devi concedere le ElastiCache autorizzazioni per copiare un'istantanea nel bucket. Se hai concesso le autorizzazioni a un ACL ElastiCache in un bucket, devi migrare queste autorizzazioni a una policy del bucket prima di applicare l'impostazione di disabilitazione applicata dal proprietario del bucket. ACLs Per ulteriori informazioni, consulta Concedi ElastiCache l'accesso al tuo bucket Amazon S3 nella Amazon ElastiCache User Guide.
L'esempio seguente mostra le autorizzazioni ACL del bucket a cui concedono le autorizzazioni. ElastiCache
{ "Owner": { "DisplayName": "
DOC-EXAMPLE-ACCOUNT-OWNER
", "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
" }, "Grants": [ { "Grantee": { "DisplayName": "DOC-EXAMPLE-ACCOUNT-OWNER
", "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
", "Type": "CanonicalUser" }, "Permission": "FULL_CONTROL" }, { "Grantee": { "DisplayName": "aws-scs-s3-readonly", "ID": "540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353", "Type": "CanonicalUser" }, "Permission": "READ" }, { "Grantee": { "DisplayName": "aws-scs-s3-readonly", "ID": "540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353", "Type": "CanonicalUser" }, "Permission": "WRITE" }, { "Grantee": { "DisplayName": "aws-scs-s3-readonly", "ID": "540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353", "Type": "CanonicalUser" }, "Permission": "READ_ACP" } ] }
Per migrare le autorizzazioni ACL del bucket per ElastiCache (Redis OSS) a una policy bucket
-
Aggiungere la seguente policy di bucket al bucket di destinazione, sostituendo i valori di esempio.
aws s3api put-bucket-policy --bucket
amzn-s3-demo-bucket
--policy file://policy.json
policy.json: { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt15399483", "Effect": "Allow", "Principal": { "Service": "Region
.elasticache-snapshot.amazonaws.com" }, "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:GetBucketAcl", "s3:ListMultipartUploadParts", "s3:ListBucketMultipartUploads" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket
", "arn:aws:s3:::amzn-s3-demo-bucket
/*" ] } ] } -
Resettare l'ACL per il bucket all'ACL di default:
aws s3api put-bucket-acl --bucket
amzn-s3-demo-bucket
--acl private -
Applica l'impostazione Proprietario del bucket applicato per Proprietà dell'oggetto.