Gestione delle policy dei bucket di directory - Amazon Simple Storage Service

Gestione delle policy dei bucket di directory

È possibile aggiungere, eliminare, aggiornare e visualizzare le policy di bucket per i bucket di directory Amazon S3 utilizzando la console Amazon S3, gli SDK AWS e la AWS CLI. Per ulteriori informazioni, consulta i seguenti argomenti. Per ulteriori informazioni sulle azioni AWS Identity and Access Management (IAM) supportate, consulta Autorizzazione delle operazioni API dell'endpoint regionale con IAM. Per policy dei bucket di esempio per bucket di directory, consulta Esempi di policy di bucket per i bucket di directory.

Aggiunta di una policy di bucket

Per aggiungere una policy di bucket a un bucket di directory, è possibile utilizzare la console Amazon S3, gli SDK AWS o AWS CLI.

Per creare o modificare una policy del bucket
  1. Accedi alla Console di gestione AWS e apri la console Amazon S3 all’indirizzo https://console.aws.amazon.com/s3/.

  2. Nel riquadro di navigazione a sinistra, scegli Bucket di directory.

  3. Nell’elenco Bucket di directory scegli il nome del bucket al quale desideri aggiungere una policy.

  4. Scegli la scheda Autorizzazioni.

  5. In Policy del bucket, scegli Modifica. Viene visualizzata la pagina Modifica la policy del bucket.

  6. Per generare automaticamente una policy, scegli Generatore di policy.

    Se si sceglie Generatore di policy, il Generatore di policy AWS si apre in una nuova finestra.

    Se non si desidera utilizzare il Generatore di policy AWS, è possibile aggiungere o modificare le istruzioni JSON nella sezione Policy.

    1. Nella pagina del Generatore di policy AWS, per Seleziona il tipo di policy, scegli Policy del bucket S3.

    2. Aggiungi un'istruzione inserendo le informazioni nei campi previsti, quindi scegli Aggiungi istruzione. Ripeti questo passaggio per il numero di istruzioni che desideri aggiungere. Per ulteriori informazioni su questi campi, consulta Riferimento agli elementi delle policy IAM JSON nella Guida per l'utente IAM.

      Nota

      Per comodità, la pagina Modifica la policy bucket visualizza un ARN (nome della risorsa Amazon) del bucket corrente sopra il campo di testo Policy. È possibile copiare questo ARN per utilizzarlo nelle istruzioni della pagina del Generatore di policy AWS.

    3. Dopo aver aggiunto le istruzioni, scegli Genera policy.

    4. Copia il testo della policy generata, scegli Chiudi e torna alla pagina Modifica policy del bucket nella console di Amazon S3.

  7. Nella casella Policy, modifica la policy esistente o incolla la policy di bucket dal generatore di policy AWS. Assicurati di risolvere gli avvisi di sicurezza, gli errori, gli avvisi generali e i suggerimenti prima di salvare la policy.

    Nota

    Le policy di bucket sono limitate a dimensioni di 20 KB.

  8. Scegli Save changes (Salva modifiche), che ti riporterà alla pagina Permissions (Autorizzazioni).

SDK for Java 2.x

PutBucketPolicy AWS SDK for Java 2.x

public static void setBucketPolicy(S3Client s3Client, String bucketName, String policyText) { //sample policy text /** * policy_statement = { * 'Version': '2012-10-17', * 'Statement': [ * { * 'Sid': 'AdminPolicy', * 'Effect': 'Allow', * 'Principal': { * "AWS": "111122223333" * }, * 'Action': 's3express:*', * 'Resource': 'arn:aws:s3express:region:111122223333:bucket/bucket-base-name--zone-id--x-s3' * } * ] * } */ System.out.println("Setting policy:"); System.out.println("----"); System.out.println(policyText); System.out.println("----"); System.out.format("On Amazon S3 bucket: \"%s\"\n", bucketName); try { PutBucketPolicyRequest policyReq = PutBucketPolicyRequest.builder() .bucket(bucketName) .policy(policyText) .build(); s3Client.putBucketPolicy(policyReq); System.out.println("Done!"); } catch (S3Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }

Questo esempio mostra come aggiungere una policy di bucket a un bucket di directory utilizzando il comando AWS CLI. Per utilizzare il comando, sostituire i segnaposto inseriti dall'utente con le proprie informazioni.

aws s3api put-bucket-policy --bucket bucket-base-name--zone-id--x-s3 --policy file://bucket_policy.json

bucket_policy.json:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AdminPolicy", "Effect": "Allow", "Principal": { "AWS": "111122223333" }, "Action": "s3express*", "Resource": "arn:aws:s3express:us-west-2:111122223333:bucket/amzn-s3-demo-bucket--usw2-az1--x-s3" } ] }

Per ulteriori informazioni, consulta put-bucket-policy in AWS Command Line Interface.

Visualizzazione di una policy del bucket

Per visualizzare una policy di bucket per un bucket di directory, utilizza gli esempi seguenti.

Questo esempio mostra come visualizzare la policy di bucket collegata a un bucket di directory usando AWS CLI. Per utilizzare il comando, sostituire i segnaposto inseriti dall'utente con le proprie informazioni.

aws s3api get-bucket-policy --bucket bucket-base-name--zone-id--x-s3

Per ulteriori informazioni, consulta get-bucket-policy in AWS Command Line Interface.

Eliminazione di una policy del bucket

Per eliminare una policy di bucket per un bucket di directory, utilizza gli esempi seguenti.

SDK for Java 2.x

DeleteBucketPolicy AWS SDK for Java 2.x

public static void deleteBucketPolicy(S3Client s3Client, String bucketName) { try { DeleteBucketPolicyRequest deleteBucketPolicyRequest = DeleteBucketPolicyRequest .builder() .bucket(bucketName) .build() s3Client.deleteBucketPolicy(deleteBucketPolicyRequest); System.out.println("Successfully deleted bucket policy"); } catch (S3Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); }

Questo esempio mostra come eliminare una policy di bucket per un bucket di directory utilizzando il comando AWS CLI. Per utilizzare il comando, sostituire i segnaposto inseriti dall'utente con le proprie informazioni.

aws s3api delete-bucket-policy --bucket bucket-base-name--zone-id--x-s3

Per ulteriori informazioni, consulta delete-bucket-policy in AWS Command Line Interface.