Esempi di policy basate su risorse per DynamoDB
Quando si specifica un ARN nel campo Resource di una policy basata su risorse, la policy ha effetto solo se l’ARN specificato corrisponde all’ARN della risorsa DynamoDB a cui è collegato.
Nota
Ricorda di sostituire il testo in corsivo con le informazioni specifiche delle risorse.
Policy basata su risorse per una tabella
La seguente policy basata su risorse collegata a una tabella DynamoDB denominata MusicCollection fornisce agli utenti IAM John e Jane il permesso di eseguire azioni GetItem e BatchGetItem sulla risorsa MusicCollection.
Policy basata su risorse per un flusso
La seguente policy basata su risorse collegata a un flusso DynamoDB denominato 2024-02-12T18:57:26.492 fornisce agli utenti IAM John e Jane l’autorizzazione a eseguire azioni API GetRecords, GetShardIterator e DescribeStream sulla risorsa 2024-02-12T18:57:26.492.
Politica basata su risorse per l’accesso all’esecuzione di tutte le azioni su risorse specifiche
Per consentire a un utente di eseguire tutte le azioni su una tabella e tutti gli indici associati a una tabella, è possibile utilizzare un carattere jolly (*) per rappresentare le azioni e le risorse associate alla tabella. L’utilizzo di un carattere jolly per le risorse consentirà all’utente di accedere alla tabella DynamoDB e a tutti gli indici associati, inclusi quelli che non sono ancora stati creati. Ad esempio, la seguente policy concederà all’utente John l’autorizzazione di eseguire qualsiasi azione sulla tabella MusicCollection e su tutti i relativi indici, inclusi gli indici che verranno creati in futuro.
Policy basata su risorse per accesso multi-account
È possibile specificare le autorizzazioni per un’identità IAM multi-account per accedere alle risorse DynamoDB. Ad esempio, potrebbe essere necessario un utente di un account attendibile per accedere alla lettura del contenuto della tabella, a condizione che acceda solo a elementi e attributi specifici di tali elementi. La seguente policy consente l’accesso all’utente John da un ID Account AWS attendibile 111111111111 per accedere ai dati di una tabella nell’account 123456789012 utilizzando l’API GetItem. La policy garantisce che l’utente Jane possa accedere solo agli elementi con una chiave primaria e che l’utente possa recuperare solo gli attributi Artist e SongTitle e nessun altro attributo.
Importante
Se non si specifica la condizione SPECIFIC_ATTRIBUTES, si vedranno tutti gli attributi degli elementi restituiti.
Oltre alla precedente policy basata su risorse, anche la policy basata sull’identità allegata all’utente John deve consentire l’azione API GetItem per il funzionamento dell’accesso multi-account. Il seguente è un esempio di policy basata sull’identità da collegare all’utente John.
L’utente John può effettuare una richiesta GetItem specificando l’ARN della tabella nel parametro table-name per l’accesso alla tabella MusicCollection nell’account 123456789012.
aws dynamodb get-item \ --table-name arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection\ --key '{"Artist": {"S": "Jane"}' \ --projection-expression 'Artist, SongTitle' \ --return-consumed-capacity TOTAL
Policy basata su risorse con condizioni di indirizzo IP
È possibile applicare una condizione per limitare gli indirizzi IP di origine, i cloud privati virtuali (VPC) e gli endpoint VPC (VPCE). È possibile specificare le autorizzazioni in base agli indirizzi di origine della richiesta di origine. Ad esempio, si potrebbe voler consentire a un utente di accedere alle risorse DynamoDB solo se vi accede da un’origine IP specifica, come un endpoint VPN aziendale. Specifica questi indirizzi IP nell’istruzione Condition.
L’esempio seguente consente all’utente John di accedere a qualsiasi risorsa DynamoDB quando gli IP di origine sono 54.240.143.0/24 e 2001:DB8:1234:5678::/64.
È anche possibile negare tutti gli accessi alle risorse DynamoDB tranne quando l’origine è un endpoint VPC specifico, ad esempio vpce-1a2b3c4d.
Policy basata su risorse che utilizza un ruolo IAM
È inoltre possibile specificare un ruolo di servizio IAM nella policy basata su risorse. Le entità IAM che assumono questo ruolo sono limitate dalle azioni consentite specificate per il ruolo e allo specifico set di risorse all’interno della policy basata su risorse.
L’esempio seguente consente a un’entità IAM di eseguire tutte le azioni DynamoDB sulle risorse DynamoDB MusicCollection e MusicCollection.