Impostazione di Object Ownership su un bucket esistente
È possibile configurare S3 Object Ownership su un bucket S3 esistente. Per applicare Object Ownership quando si crea un bucket, consulta Impostazione di Object Ownership quando si crea un bucket.
S3 Object Ownership è un'impostazione a livello di bucket di Amazon S3 che può essere utilizzata per disabilitare le liste di controllo degli accessi (ACL) e assumere la proprietà di ogni oggetto nel bucket, semplificando la gestione degli accessi ai dati archiviati in Amazon S3. Per impostazione predefinita, Proprietà dell'oggetto S3 è impostata su Proprietario del bucket applicato e le ACL sono disabilitate per nuovi bucket. Con le ACL disabilitate, il proprietario del bucket possiede ogni oggetto nel bucket e gestisce l'accesso ai dati in maniera esclusiva utilizzando policy di gestione dell'accesso. È consigliabile mantenere le ACL disabilitate, tranne in circostanze insolite in cui è necessario controllare individualmente l'accesso per ciascun oggetto.
Object Ownership ha tre impostazioni che è possibile utilizzare per controllare la proprietà degli oggetti caricati nel bucket e disabilitare o abilitare le ACL:
ACL disabilitate
-
Proprietario del bucket applicato (impostazione predefinita): le ACL sono disabilitate e il proprietario del bucket possiede automaticamente e ha il controllo completo di ogni oggetto nel bucket. Le ACL non influiscono più sulle autorizzazioni per i dati nel bucket S3. Il bucket utilizza le policy per definire il controllo degli accessi.
ACL abilitate
-
Proprietario del bucket preferito - Il proprietario del bucket possiede e ha il pieno controllo sui nuovi oggetti che altri account scrivono sul bucket con l'ACL
bucket-owner-full-controlpredefinita. -
Object writer – L'Account AWS che carica un oggetto lo possiede, ne ha il pieno controllo e può concedere ad altri utenti l'accesso tramite ACL.
Prerequisiti: prima di applicare l'impostazione Proprietario del bucket applicato per disabilitare le ACL, è necessario migrare le autorizzazioni ACL bucket alle policy del bucket e ripristinare le ACL bucket sull'ACL privata di default. Si consiglia inoltre di migrare le autorizzazioni ACL di oggetti alle policy di bucket e di modificare le policy di bucket che richiedono ACL diverse dalle ACL di controllo completo del proprietario del bucket. Per ulteriori informazioni, consulta Prerequisiti per la disabilitazione delle ACL.
Autorizzazioni: Per utilizzare questa operazione, è necessario disporre dell'autorizzazione s3:PutBucketOwnershipControls. Per ulteriori informazioni sulle autorizzazioni di Amazon S3, consulta Azioni, risorse e chiavi di condizione per Amazon S3 in Riferimento alle autorizzazioni di servizio.
Per ulteriori informazioni sulle autorizzazioni alle operazioni API S3 per tipi di risorse S3, consulta Autorizzazioni necessarie per le operazioni API di Amazon S3.
-
Accedi alla Console di gestione AWS e apri la console di Amazon S3 all'indirizzo https://console.aws.amazon.com/s3/
. -
Nell'elenco Bucket scegliere il nome del bucket al quale applicare un'impostazione S3 Object Ownership.
-
Scegli la scheda Autorizzazioni.
-
Alla voce Proprietà Oggetto scegli Modifica.
-
Alla voce Proprietà oggetto, per disabilitare o abilitare le ACL e controllare la proprietà degli oggetti caricati nel bucket, scegliere una delle seguenti impostazioni:
ACL disabilitate
-
Proprietario del bucket applicato – Le ACL sono disabilitate e il proprietario del bucket possiede automaticamente e ha il pieno controllo su ogni oggetto nel bucket. Le ACL non influiscono più sulle autorizzazioni per i dati nel bucket S3. Il bucket utilizza le policy per definire il controllo degli accessi.
Per richiedere che tutti i nuovi bucket vengano creati con le ACL disabilitate utilizzando IAM o le policy AWS Organizations, consulta Disabilitazione degli ACL per tutti i nuovi bucket (proprietario del bucket applicato).
ACL abilitate
-
Proprietario del bucket preferito - Il proprietario del bucket possiede e ha il pieno controllo sui nuovi oggetti che altri account scrivono sul bucket con l'ACL
bucket-owner-full-controlpredefinita.Se applichi l'impostazione del proprietario del bucket preferito per richiedere che tutti i caricamenti di Amazon S3 includano l'ACL predefinita
bucket-owner-full-control, puoi aggiungere una policy del bucket che consenta solo il caricamento di oggetti che utilizzano questo ACL. -
Object writer – L'Account AWS che carica un oggetto lo possiede, ne ha il pieno controllo e può concedere ad altri utenti l'accesso tramite ACL.
-
-
Selezionare Salva.
Per applicare un'impostazione Object Ownership per un bucket esistente, utilizzare il comando put-bucket-ownership-controls con il parametro --ownership-controls. I valori validi per la proprietà sonoBucketOwnerEnforced, BucketOwnerPreferred o ObjectWriter.
In questo esempio viene applicata l'impostazione Proprietario del bucket applicato per un bucket esistente utilizzando la AWS CLI:
aws s3api put-bucket-ownership-controls --bucketamzn-s3-demo-bucket--ownership-controls="Rules=[{ObjectOwnership=BucketOwnerEnforced}]"
Per ulteriori informazioni su put-bucket-ownership-controls, consulta put-bucket-ownership-controls
In questo esempio viene eseguita l'impostazione BucketOwnerEnforced per Object Ownership su un bucket esistente utilizzando la AWS SDK per Java:
// Build the ObjectOwnership for BucketOwnerEnforced OwnershipControlsRule rule = OwnershipControlsRule.builder() .objectOwnership(ObjectOwnership.BucketOwnerEnforced) .build(); OwnershipControls ownershipControls = OwnershipControls.builder() .rules(rule) .build() // Build the PutBucketOwnershipControlsRequest PutBucketOwnershipControlsRequest putBucketOwnershipControlsRequest = PutBucketOwnershipControlsRequest.builder() .bucket(BUCKET_NAME) .ownershipControls(ownershipControls) .build(); // Send the request to Amazon S3 s3client.putBucketOwnershipControls(putBucketOwnershipControlsRequest);
Per utilizzare CloudFormation per applicare un'impostazione di Object Ownership per un bucket esistente, consulta AWS::S3::Bucket OwnershipControls nella Guida per l'utente di AWS CloudFormation.
Per utilizzare REST API per applicare un'impostazione Object Ownership a un bucket S3 esistente, utilizzare PutBucketOwnershipControls. Per ulteriori informazioni, consulta PutBucketOwnershipControls in Amazon Simple Storage Service API Reference (Guida di riferimento per l'API di Amazon Simple Storage Service).
Fasi successive: dopo aver eseguito le impostazioni Proprietario del bucket applicato o Proprietario del bucket preferito per Proprietà dell'oggetto, è possibile compiere i seguenti passaggi:
-
Proprietario del bucket applicato – Richiedi che tutti i nuovi bucket vengano creati con ACL disabilitate utilizzando le policy IAM o di Organizations.
-
Proprietario del bucket preferito – Aggiungi una policy di bucket S3 per richiedere l'ACL predefinita
bucket-owner-full-controlper tutti gli oggetti caricati nel tuo bucket.