Creazione di concessioni - Amazon Simple Storage Service

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à.

Creazione di concessioni

Una concessione di accesso individuale in un'istanza S3 Access Grants consente a un'identità specifica, un principale AWS Identity and Access Management (IAM) o un utente o un gruppo in una directory aziendale, di accedere all'interno di una posizione registrata nella tua istanza S3 Access Grants. Una posizione mappa i bucket o i prefissi a un ruolo IAM. S3 Access Grants assume questo ruolo IAM per vendere credenziali temporanee ai beneficiari.

Dopo aver registrato almeno una posizione nell'istanza di S3 Access Grants, è possibile creare una concessione di accesso.

Il beneficiario può essere un utente o un ruolo IAM oppure un utente o un gruppo della directory. Un utente della directory è un utente della directory aziendale o di una fonte di identità esterna che è stato associato all'istanza S3 Access Grants. Per ulteriori informazioni, consulta S3 Access Grants e identità delle directory aziendali. Per creare una concessione per un utente o gruppo specifico della directory dal Centro identità IAM, trovare il GUID che il Centro identità IAM utilizza per identificare l'utente nel Centro identità IAM, ad esempio a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. Per ulteriori informazioni su come utilizzare il Centro identità IAM per visualizzare le informazioni sugli utenti, consulta Visualizzazione delle assegnazioni di utenti e gruppi nella Guida all'utente AWS IAM Identity Center .

È possibile concedere l'accesso a un bucket, a un prefisso o a un oggetto. Un prefisso in Amazon S3 è una stringa di caratteri all'inizio del nome della chiave di un oggetto che viene utilizzata per organizzare gli oggetti all'interno di un bucket. Può essere una qualsiasi stringa di caratteri consentiti, ad esempio i nomi delle chiavi degli oggetti nel bucket che iniziano con il prefisso engineering/.

Sottoprefisso

Quando si concede l'accesso a una località registrata, è possibile utilizzare il campo Subprefix per restringere l'ambito di accesso a un sottoinsieme dell'ambito della località. Se la posizione registrata scelta per il grant è il percorso S3 predefinito (s3://), è necessario restringere l'ambito della concessione. Non è possibile creare una concessione di accesso per la posizione predefinita (s3://), che darebbe al beneficiario l'accesso a ogni bucket di Regione AWS. Invece, è necessario restringere l'ambito della concessione a uno dei seguenti punti:

  • Un bucket: s3://bucket/*

  • Un prefisso all'interno di un bucket: s3://bucket/prefix*

  • Un prefisso all'interno di un prefisso: s3://bucket/prefixA/prefixB*

  • Un oggetto: s3://bucket/object-key-name

Se si sta creando una concessione di accesso in cui la posizione registrata è un bucket, è possibile passare uno dei seguenti valori nel campo Subprefix per restringere l'ambito della concessione:

  • Un prefisso all'interno del bucket: prefix*

  • Un prefisso all'interno di un prefisso: prefixA/prefixB*

  • Un oggetto: /object-key-name

Dopo aver creato la concessione, l'ambito della concessione visualizzato nella console Amazon S3 o restituito nella risposta API o AWS Command Line Interface (AWS CLI) è il risultato della concatenazione del percorso della posizione con. GrantScope Subprefix Assicurati che questo percorso concatenato sia mappato correttamente al bucket, al prefisso o all'oggetto S3 a cui desideri concedere l'accesso.

Nota
  • Se si desidera creare una concessione di accesso che garantisca l'accesso a un solo oggetto, è necessario specificare che il tipo di concessione è per un oggetto. Per fare questo in una chiamata API o in un comando CLI, passare il parametro s3PrefixType con il valore Object. Nella console Amazon S3, quando si crea la concessione, dopo aver selezionato una posizione, in Ambito di concessione, seleziona la casella di controllo L'ambito di concessione è un oggetto.

  • Non puoi creare una concessione a un bucket se il bucket non esiste ancora. Tuttavia, è possibile creare una concessione per un prefisso che non esiste ancora.

  • Per il numero massimo di concessioni che è possibile creare nell'istanza S3 Access Grants, consulta Limitazioni di S3 Access Grants.

Puoi creare una concessione di accesso utilizzando la console Amazon S3 AWS CLI, l'API REST di Amazon S3 e. AWS SDKs

Per creare una concessione di accesso
  1. Accedi a AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/

  2. Nel pannello di navigazione a sinistra, scegli Access Grants.

  3. Nella pagina S3 Access Grants, scegli la regione che contiene l'istanza S3 Access Grants con cui vuoi lavorare.

    Se utilizzi un'istanza S3 Access Grants per la prima volta, assicurati di aver completato il Passaggio 2: registra una posizione e di aver eseguito il Passaggio 3 della procedura guidata Configurazione dell'istanza Access Grants. Se hai già un'istanza S3 Access Grants, scegli Visualizza dettagli, quindi dalla scheda Concessioni, scegli Crea concessione.

    1. Nella sezione Ambito della concessione, seleziona o inserisci una posizione registrata.

      Se hai selezionato la posizione s3:// predefinita, utilizza la casella Sottoprefisso per restringere l'ambito della concessione di accesso. Per ulteriori informazioni, consulta Sottoprefisso. Se concedi l'accesso solo a un oggetto, seleziona L'ambito della concessione è un oggetto.

    2. In Autorizzazioni e accesso, seleziona il livello di autorizzazione, ovvero Lettura, Scrittura o entrambi.

      Quindi seleziona Tipo di assegnatario. Se hai aggiunto la tua directory aziendale al Centro identità IAM e hai associato questa istanza del Centro identità IAM all'istanza S3 Access Grants, puoi scegliere Identità della directory dal Centro identità IAM. Se scegli questa opzione, ottieni l'ID dell'utente o del gruppo dal Centro identità IAM e inseriscilo in questa sezione.

      Se Tipo di assegnatario è un utente o un ruolo IAM, scegli Principale IAM. In Tipo di principale IAM, scegli Utente o Ruolo. Quindi, in Utente principale IAM, seleziona dall'elenco o inserisci l'ID dell'identità.

    3. Per creare la concessione S3 Access Grants, seleziona Avanti o Crea concessione.

  4. Se l'opzione Avanti o Crea concessione è disabilitata:

    Impossibile creare una concessione
    • Potrebbe essere necessario registrare prima una posizione nell'istanza S3 Access Grants.

    • Potresti non disporre dell'autorizzazione s3:CreateAccessGrant per creare una concessione di accesso. Contatta l'amministratore dell'account.

Per installare AWS CLI, vedere Installazione di AWS CLI nella Guida per l'AWS Command Line Interface utente.

Gli esempi seguenti mostrano come creare una richiesta di concessione di accesso per un principale IAM e come creare una richiesta di concessione di accesso per un utente o un gruppo della directory aziendale.

Per utilizzare i seguenti comandi di esempio, sostituisci user input placeholders con le tue informazioni.

Nota

Se stai creando una concessione di accesso che conceda l'accesso a un solo oggetto, includi il parametro --s3-prefix-type Object richiesto.

Esempio Crea una richiesta di concessione di accesso per un principale IAM
aws s3control create-access-grant \ --account-id 111122223333 \ --access-grants-location-id a1b2c3d4-5678-90ab-cdef-EXAMPLE22222 \ --access-grants-location-configuration S3SubPrefix=prefixB* \ --permission READ \ --grantee GranteeType=IAM,GranteeIdentifier=arn:aws:iam::123456789012:user/data-consumer-3
Esempio Crea una risposta alla concessione di accesso
{"CreatedAt": "2023-05-31T18:41:34.663000+00:00", "AccessGrantId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "AccessGrantArn": "arn:aws:s3:us-east-2:111122223333:access-grants/default/grant/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Grantee": { "GranteeType": "IAM", "GranteeIdentifier": "arn:aws:iam::111122223333:user/data-consumer-3" }, "AccessGrantsLocationId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "AccessGrantsLocationConfiguration": { "S3SubPrefix": "prefixB*" }, "GrantScope": "s3://DOC-BUCKET-EXAMPLE/prefix*", "Permission": "READ" }
Creazione di una richiesta di autorizzazione di accesso per un utente o un gruppo di utenti della directory

Per creare una richiesta di concessione di accesso per un utente o un gruppo della directory, è necessario innanzitutto ottenere il GUID per l'utente o il gruppo della directory eseguendo uno dei seguenti comandi.

Esempio Ottieni un GUID per un utente o un gruppo di utenti della directory

Puoi trovare il GUID di un utente IAM Identity Center tramite la console IAM Identity Center o utilizzando AWS CLI o AWS SDKs. Il comando seguente elenca gli utenti nell'istanza del Centro identità IAM specificata, con i relativi nomi e identificatori.

aws identitystore list-users --identity-store-id d-1a2b3c4d1234

Questo comando elenca i gruppi nell'istanza Centro identità IAM specificata.

aws identitystore list-groups --identity-store-id d-1a2b3c4d1234
Esempio Creazione di una concessione di accesso per un utente o un gruppo di directory

Questo comando è simile alla creazione di una concessione per utenti o ruoli IAM, tranne per il fatto che il tipo di assegnatario è DIRECTORY_USER o DIRECTORY_GROUP e l'identificatore dell'assegnatario è il GUID per l'utente o il gruppo di directory.

aws s3control create-access-grant \ --account-id 123456789012 \ --access-grants-location-id default \ --access-grants-location-configuration S3SubPrefix="amzn-s3-demo-bucket/rafael/*" \ --permission READWRITE \ --grantee GranteeType=DIRECTORY_USER,GranteeIdentifier=83d43802-00b1-7054-db02-f1d683aacba5 \

Per informazioni sul supporto REST API di Amazon S3 per la gestione delle concessioni di accesso, consulta le sezioni seguenti nella Documentazione di riferimento delle API di Amazon Simple Storage Service:

Questa sezione fornisce esempi di come creare una concessione di accesso utilizzando AWS SDKs.

Java

Per utilizzare il seguente esempio, sostituisci user input placeholders con le tue informazioni.

Nota

Se crei una concessione di accesso che conceda l'accesso a un solo oggetto, includi il parametro .s3PrefixType(S3PrefixType.Object) richiesto.

Esempio Crea una risposta alla concessione di accesso
public void createAccessGrant() { CreateAccessGrantRequest createRequest = CreateAccessGrantRequest.builder() .accountId("111122223333") .accessGrantsLocationId("a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa") .permission("READ") .accessGrantsLocationConfiguration(AccessGrantsLocationConfiguration.builder().s3SubPrefix("prefixB*").build()) .grantee(Grantee.builder().granteeType("IAM").granteeIdentifier("arn:aws:iam::111122223333:user/data-consumer-3").build()) .build(); CreateAccessGrantResponse createResponse = s3Control.createAccessGrant(createRequest); LOGGER.info("CreateAccessGrantResponse: " + createResponse); }
Esempio Crea una risposta alla concessione di accesso
CreateAccessGrantResponse( CreatedAt=2023-06-07T05:20:26.330Z, AccessGrantId=a1b2c3d4-5678-90ab-cdef-EXAMPLE33333, AccessGrantArn=arn:aws:s3:us-east-2:444455556666:access-grants/default/grant/a1b2c3d4-5678-90ab-cdef-EXAMPLE33333, Grantee=Grantee( GranteeType=IAM, GranteeIdentifier=arn:aws:iam::111122223333:user/data-consumer-3 ), AccessGrantsLocationId=a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa, AccessGrantsLocationConfiguration=AccessGrantsLocationConfiguration( S3SubPrefix=prefixB* ), GrantScope=s3://DOC-BUCKET-EXAMPLE/prefixB, Permission=READ )