Elenco dei permessi di accesso del chiamante - Amazon Simple Storage Service

Elenco dei permessi di accesso del chiamante

I proprietari di dati S3 possono usare S3 Access Grants per creare i permessi di accesso per le identità AWS Identity and Access Management (IAM) o per le identità della directory aziendale AWS IAM Identity Center. Le identità IAM e le identità della directory del Centro identità IAM possono a loro volta utilizzare l'API ListCallerAccessGrants per elencare tutti i bucket Amazon S3, i prefissi e gli oggetti a cui possono accedere, come definito dai rispettivi S3 Access Grants. Utilizza questa API per scoprire tutti i dati S3 a cui un'identità IAM o di directory può accedere tramite S3 Access Grants.

È possibile utilizzare questa funzionalità per creare applicazioni che mostrano i dati accessibili a utenti finali specifici. Ad esempio, AWS Storage Browser per S3, un componente UI open source che i clienti utilizzano per accedere ai bucket S3, utilizza questa funzione per presentare agli utenti finali i dati a cui hanno accesso in Amazon S3, in base ai loro S3 Access Grants. Un altro esempio è la creazione di un'applicazione per la navigazione, il caricamento o il download di dati in Amazon S3: è possibile utilizzare questa funzione per costruire una struttura ad albero nell'applicazione che l'utente finale può poi sfogliare.

Nota

Per le identità delle directory aziendali, quando si elencano le concessioni di accesso del chiamante, S3 Access Grants restituisce le concessioni dell’identità IAM utilizzata per la sessione con riconoscimento dell’identità. Per ulteriori informazioni sulle sessioni con riconoscimento dell’identità, consulta Concessione delle autorizzazioni per l’utilizzo di sessioni di console con riconoscimento dell’identità nella Guida per l’utente di AWS Identity and Access Management.

Il beneficiario, sia che si tratti di un'identità IAM o di una directory aziendale, può ottenere un elenco dei suoi permessi di accesso utilizzando AWS Command Line Interface (AWS CLI), la REST API di Amazon S3 e gli SDK AWS.

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

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

Esempio Elenca i permessi di accesso di un chiamante

Richiesta:

aws s3control list-caller-access-grants \ --account-id 111122223333 \ --region us-east-2 --max-results 5

Risposta:

{ "NextToken": "6J9S...", "CallerAccessGrantsList": [ { "Permission": "READWRITE", "GrantScope": "s3://amzn-s3-demo-bucket/prefix1/sub-prefix1/*", "ApplicationArn": "NA" }, { "Permission": "READWRITE", "GrantScope": "s3://amzn-s3-demo-bucket/prefix1/sub-prefix2/*", "ApplicationArn": "ALL" }, { "Permission": "READWRITE", "GrantScope": "s3://amzn-s3-demo-bucket/prefix1/sub-prefix3/*", "ApplicationArn": "arn:aws:sso::111122223333:application/ssoins-ssoins-1234567890abcdef/apl-abcd1234a1b2c3d" } ] }
Esempio Elenca i permessi di accesso di un chiamante per un bucket

È possibile restringere l'ambito dei risultati utilizzando il parametro grantscope.

Richiesta:

aws s3control list-caller-access-grants \ --account-id 111122223333 \ --region us-east-2 --grant-scope "s3://amzn-s3-demo-bucket"" --max-results 1000

Risposta:

{ "NextToken": "6J9S...", "CallerAccessGrantsList": [ { "Permission": "READ", "GrantScope": "s3://amzn-s3-demo-bucket*", "ApplicationArn": "ALL" }, { "Permission": "READ", "GrantScope": "s3://amzn-s3-demo-bucket/prefix1/*", "ApplicationArn": "arn:aws:sso::111122223333:application/ssoins-ssoins-1234567890abcdef/apl-abcd1234a1b2c3d" } ] }

Per informazioni sul supporto della REST API di Amazon S3 per ottenere un elenco dei permessi di accesso del chiamante dell'API, consulta ListCallerAccessGrants in Riferimento API di Amazon Simple Storage Service.

Questa sezione fornisce un esempio di come gli assegnatari richiedono credenziali temporanee a S3 Access Grants utilizzando gli AWS SDK.

Java

Il seguente esempio di codice restituisce i permessi di accesso del chiamante dell'API ai dati S3 di un particolare Account AWS. Per utilizzare questo esempio di codice, sostituisci user input placeholders con le tue informazioni.

Esempio Elenca i permessi di accesso di un chiamante

Richiesta:

Public void ListCallerAccessGrants() { ListCallerAccessGrantsRequest listRequest = ListCallerAccessGrantsRequest.builder() .withMaxResults(1000) .withGrantScope("s3://") .accountId("111122223333"); ListCallerAccessGrantsResponse listResponse = s3control.listCallerAccessGrants(listRequest); LOGGER.info("ListCallerAccessGrantsResponse: " + listResponse); }

Risposta:

ListCallerAccessGrantsResponse( CallerAccessGrantsList=[ ListCallerAccessGrantsEntry( S3Prefix=s3://amzn-s3-demo-bucket/prefix1/, Permission=READ, ApplicationArn=ALL ) ])