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à.
Gestione delle concessioni
Le entità con le autorizzazioni richieste possono visualizzare, utilizzare ed eliminare (ritirare o revocare) le concessioni. Per perfezionare le autorizzazioni per la creazione e la gestione delle sovvenzioni, AWS KMS supporta diverse condizioni politiche che è possibile utilizzare nelle politiche chiave e nelle politiche IAM.
Argomenti
Controllo dell'accesso alle concessioni
È possibile controllare l'accesso alle operazioni che creano e gestiscono concessioni nelle policy chiave, nelle policy IAM e nelle concessioni. I principali che ottengono l'autorizzazione CreateGrant
da una concessione hanno autorizzazioni di concessione più limitate.
Operazione API | Policy chiave o policy IAM | Grant |
---|---|---|
CreateGrant | ✓ | ✓ |
ListGrants | ✓ | - |
ListRetirableGrants | ✓ | - |
Ritiro di concessioni | (Limitato. Consulta Ritirare e revocare le concessioni) | ✓ |
RevokeGrant | ✓ | - |
Quando utilizzi una policy chiave o una policy IAM per controllare l'accesso alle operazioni che creano e gestiscono le concessioni, puoi utilizzare una o più delle seguenti condizioni politiche per limitare l'autorizzazione. AWS KMS supporta tutte le seguenti chiavi di condizione relative alle sovvenzioni. Per informazioni dettagliate ed esempi, consulta AWS KMS chiavi di condizione.
- km: GrantConstraintType
-
Consente ai principali di creare una concessione solo quando la concessione include il vincolo di concessione specificato.
- km: GrantIsFor AWSResource
-
Consente ai principali di chiamare
CreateGrant
oRevokeGrant
solo quando un AWS servizio integrato con AWS KMSinvia la richiesta per conto del principale. ListGrants
- km: GrantOperations
-
Consente ai principali di creare una concessione, ma limita la concessione alle operazioni specificate.
- km: GranteePrincipal
-
Consente ai principali di creare una concessione solo per l'assegnatario principale specificato.
- km: RetiringPrincipal
-
Consente ai principali di creare una concessione solo quando la concessione specifica un particolare principale per il ritiro.
Visualizzazione di concessioni
Per visualizzare la concessione, usa l'ListGrantsoperazione. È necessario specificare la chiave KMS a cui si applicano le concessioni. È inoltre possibile filtrare l'elenco delle concessioni in base all'ID concessione o all'assegnatario principale. Per ulteriori esempi, consulta Visualizzazione di una concessione.
Per visualizzare tutte le sovvenzioni nella regione Account AWS e con un particolare capitale uscente, usa. ListRetirableGrants Le risposte includono dettagli su ogni concessione.
Nota
Il campo GranteePrincipal
nella risposta ListGrants
contiene solitamente il principal dell'assegnatario della concessione. Tuttavia, quando il beneficiario principale della sovvenzione è un AWS servizio, il GranteePrincipal
campo contiene il principale del servizio, che potrebbe rappresentare diversi committenti del beneficiario.
Ad esempio, il comando seguente elenca tutte le concessioni per una chiave KMS.
$
aws kms list-grants --key-id 1234abcd-12ab-34cd-56ef-1234567890ab
{ "Grants": [ { "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1572216195.0, "GrantId": "abcde1237f76e4ba7987489ac329fbfba6ad343d6f7075dbd1ef191f0120514a", "Constraints": { "EncryptionContextSubset": { "Department": "IT" } }, "RetiringPrincipal": "arn:aws:iam::111122223333:role/adminRole", "Name": "", "IssuingAccount": "arn:aws:iam::111122223333:root", "GranteePrincipal": "arn:aws:iam::111122223333:user/exampleUser", "Operations": [ "Decrypt" ] } ] }
Utilizzo di un token di concessione
L' AWS KMS API segue un eventuale modello di coerenza. Quando si crea una concessione, la concessione potrebbe non essere effettiva immediatamente. Potrebbe verificarsi un breve ritardo prima che la modifica sia disponibile in AWS KMS. Generalmente, occorrono pochissimi secondi per la propagazione della modifica in tutto il sistema, ma in alcuni casi possono essere necessari diversi minuti. Una volta che la concessione è stata propagata in tutto il sistema, il principale assegnatario può utilizzare le autorizzazioni nella concessione senza specificare il token di concessione o una prova della concessione. Tuttavia, se una concessione è così nuova da non essere ancora nota a tutti AWS KMS, la richiesta potrebbe fallire con un AccessDeniedException
errore.
Per utilizzare immediatamente le autorizzazioni in una nuova concessione, utilizza il token di concessione per la concessione. Salva il token di concessione restituito dall'CreateGrantoperazione. Quindi invia il token di concessione nella richiesta per l' AWS KMS operazione. Puoi inviare un token di concessione a qualsiasi operazione di AWS KMS concessione e puoi inviare più token di concessione nella stessa richiesta.
L'esempio seguente utilizza l'CreateGrant
operazione per creare una concessione che consenta le operazioni GenerateDataKeye Decrypt. Salva il token di concessione che CreateGrant
restituisce nella variabile token
. Quindi, in una chiamata all'operazione GenerateDataKey
, utilizza il token di concessione nella variabile token
.
# Create a grant; save the grant token
$
token=$(aws kms create-grant \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --grantee-principal arn:aws:iam::111122223333:user/appUser \ --retiring-principal arn:aws:iam::111122223333:user/acctAdmin \ --operations GenerateDataKey Decrypt \ --query GrantToken \ --output text)
# Use the grant token in a request$
aws kms generate-data-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ –-key-spec AES_256 \ --grant-tokens $token
I principali con autorizzazione possono utilizzare un token di concessione anche per ritirare una nuova concessione, anche prima che la concessione sia disponibile in AWS KMS. (L'operazione RevokeGrant
non accetta un token di concessione.) Per informazioni dettagliate, vedi Ritirare e revocare le concessioni.
# Retire the grant
$
aws kms retire-grant --grant-token $token
Ritirare e revocare le concessioni
Per eliminare una concessione, ritirarla o revocarla.
Le RevokeGrantoperazioni RetireGrantand sono molto simili tra loro. Entrambe le operazioni eliminano una concessione, eliminando le autorizzazioni consentite dalla concessione. La differenza principale tra queste operazioni è il modo in cui sono autorizzate.
- RevokeGrant
-
Come la maggior parte AWS KMS delle operazioni, l'accesso all'
RevokeGrant
operazione è controllato tramite policy chiave e policy IAM. L'RevokeGrantAPI può essere richiamata da qualsiasi preside conkms:RevokeGrant
autorizzazione. Questa autorizzazione è inclusa nelle autorizzazioni standard concesse agli amministratori delle chiavi. In genere, gli amministratori revocano una concessione per negare le autorizzazioni consentite dalla concessione. - RetireGrant
-
La concessione determina chi può ritirarla. Questa struttura consente di controllare il ciclo di vita di una concessione senza modificare le policy chiave o le policy IAM. In genere, si ritira una concessione quando si è terminato di utilizzare le relative autorizzazioni.
Una concessione può essere ritirata da un principale per il ritiro opzionale specificato nella concessione. L'assegnatario principale può anche ritirare la concessione, ma solo se è anche un principale per il ritiro o se la concessione include l'operazione
RetireGrant
. Come backup, la sovvenzione Account AWS in cui è stata creata la sovvenzione può ritirarla.C'è un'autorizzazione
kms:RetireGrant
che può essere utilizzata nelle policy IAM, ma dispone di un'utilità limitata. I principali specificati nella concessione possono ritirare una concessione senza l'autorizzazionekms:RetireGrant
. L'autorizzazionekms:RetireGrant
da sola non consente ai principali di ritirare una concessione. L'autorizzazionekms:RetireGrant
non è efficace in una policy chiave.-
Per negare l'autorizzazione al ritiro di una concessione, puoi utilizzare un'azione
Deny
con l'autorizzazionekms:RetireGrant
. -
Il Account AWS proprietario della chiave KMS può delegare l'
kms:RetireGrant
autorizzazione al responsabile IAM dell'account. -
Se il responsabile del ritiro è diverso Account AWS, gli amministratori dell'altro account possono delegare l'autorizzazione
kms:RetireGrant
a ritirare la concessione a un responsabile IAM di quell'account.
-
L' AWS KMS API segue un eventuale modello di coerenza. Quando crei, ritiri o revochi una concessione, potrebbe verificarsi un breve ritardo prima che la modifica sia disponibile in AWS KMS. Generalmente, occorrono pochissimi secondi per la propagazione della modifica in tutto il sistema, ma in alcuni casi possono essere necessari diversi minuti. Se devi eliminare immediatamente una nuova sovvenzione, prima che sia disponibile per tutta la durata AWS KMS, utilizza un token di concessione per ritirare la sovvenzione. Non è possibile utilizzare un token di concessione per revocare una concessione.