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à.
Sovvenzioni in AWS KMS
Una concessione è uno strumento politico che consente ai AWS committenti o ai responsabili del AWS servizio di utilizzare le chiavi KMS nelle operazioni crittografiche. Può anche consentire loro di visualizzare una chiave KMS (DescribeKey) e creare e gestire concessioni. Quando autorizzi l'accesso a una chiave KMS, le concessioni vengono prese in considerazione insieme alle policy chiave e alle policy IAM. I privilegi vengono spesso utilizzati per le autorizzazioni temporanee perché è possibile crearne una, utilizzarne le autorizzazioni ed eliminarla senza modificare le policy chiave o le policy IAM.
Le sovvenzioni sono comunemente utilizzate dai AWS servizi che si integrano per AWS KMS crittografare i dati inattivi. Il servizio crea una concessione per conto di un utente nell'account, ne utilizza le autorizzazioni e la revoca non appena l'attività è completata. Per informazioni dettagliate su come i AWS servizi utilizzano le concessioni, consulta l'argomento Encryption at rest nella guida per l'utente del servizio o nella guida per gli sviluppatori.
Le concessioni sono un meccanismo di controllo degli accessi molto flessibile e utile. Quando crei una concessione per una chiave KMS, la concessione consente al principale beneficiario di chiamare le operazioni di concessione specificate nella chiave KMS a condizione che siano soddisfatte tutte le condizioni specificate nella concessione.
-
Ogni concessione consente l'accesso a una sola chiave KMS. È possibile creare una concessione per una chiave KMS in un Account AWS diverso.
-
Una concessione può consentire l'accesso a una chiave KMS, ma non negare l'accesso.
-
Ogni concessione ha un beneficiario, che può essere un beneficiario principale (un'identità AWS IAM) o un responsabile del servizio concessionario (un responsabile del servizio). AWS È necessario specificare
GranteePrincipaloGranteeServicePrincipal, ma non entrambi. -
Una concessione può consentire solo operazioni di concessione. Le operazioni di concessione devono essere supportate dalla chiave KMS nella concessione. Se si specifica un'operazione non supportata, la richiesta ha esito negativo con un'eccezione. CreateGrant
ValidationError -
Il principale beneficiario può utilizzare le autorizzazioni concesse dalla concessione senza specificarla, proprio come se le autorizzazioni provenissero da una policy chiave o da una policy IAM. Tuttavia, poiché l' AWS KMS API segue un eventuale modello di coerenza, quando si crea, si ritira o si revoca una concessione, potrebbe verificarsi un breve ritardo prima che la modifica sia disponibile ovunque. AWS KMS Per utilizzare immediatamente le autorizzazioni in una concessione, usa un token di concessione.
-
Un principale autorizzato può eliminare la concessione (ritirala o revocala). L'eliminazione di una concessione elimina tutte le autorizzazioni consentite dalla concessione. Non è necessario individuare le policy da aggiungere o rimuovere per annullare la concessione.
-
AWS KMS limita il numero di concessioni su ciascuna chiave KMS. Per i dettagli, consulta Concessioni per chiave KMS: 50.000
Prestare attenzione quando si creano concessione e quando si concede ad altri l'autorizzazione di creare concessione. L'autorizzazione a creare sovvenzioni ha implicazioni sulla sicurezza, proprio come consentire a kms: PutKeyPolicy il permesso di impostare politiche.
-
Gli utenti autorizzati a creare concessioni per una chiave KMS (
kms:CreateGrant) possono utilizzare una concessione per consentire a utenti e ruoli, inclusi i AWS servizi, di utilizzare la chiave KMS. I principali possono essere identità proprie Account AWS o identità appartenenti a un altro account o organizzazione. -
Le sovvenzioni possono consentire solo un sottoinsieme di operazioni. AWS KMS È possibile utilizzare le concessioni per consentire ai principali di visualizzare la chiave KMS, utilizzarla nelle operazioni di crittografia e creare e ritirare i concessioni. Per informazioni dettagliate, consulta .Operazioni di concessione. È possibile utilizzare anche vincoli di concessione per limitare le autorizzazioni in una concessione.
-
Le entità principali possono ottenere l'autorizzazione per creare concessioni da una policy chiave o da una policy IAM. I principali che ottengono l'autorizzazione
kms:CreateGrantda una policy possono creare concessioni per qualunque operazione di concessione sulla chiave KMS. Questi principali non sono tenuti ad avere l'autorizzazione che stanno concedendo sulla chiave. Quando si consente un'autorizzazionekms:CreateGrantin una policy, è possibile utilizzare le condizioni della policy per limitare questa autorizzazione. -
I principali possono inoltre ottenere l'autorizzazione per creare concessioni da una concessione. Questi committenti possono delegare solo le autorizzazioni concesse, anche se dispongono di altre autorizzazioni previste da una policy. Per informazioni dettagliate, vedi Concessione dell'autorizzazione CreateGrant.
Concetti delle concessioni
Per utilizzare le concessioni in modo efficace, è necessario comprendere i termini e i concetti che AWS KMS usa.
- Vincoli di concessione
-
Condizione che limita le autorizzazioni in una concessione. AWS KMS supporta due tipi di vincoli di concessione:
-
Vincolo del contesto di crittografia: limita le autorizzazioni in base al contesto di crittografia incluso nella richiesta di un'operazione di crittografia. Questo vincolo funziona solo con le chiavi KMS di crittografia simmetrica.
-
SourceArn vincolo: limita le autorizzazioni di concessione alle richieste effettuate per conto di una risorsa specifica. AWS Questo sta effettivamente inserendo una condizione aws:SourceArn globale nella concessione. Questo vincolo funziona con tutti i tipi di chiavi KMS.
Per informazioni dettagliate, vedi Utilizzo dei vincoli di concessione.
-
- ID concessione
-
L'identificatore univoco di una concessione per una chiave KMS. È possibile utilizzare un ID di concessione, insieme a un identificatore chiave, per identificare una concessione in una RetireGrant richiesta or. RevokeGrant
- Operazioni di concessione
-
Le AWS KMS operazioni che puoi consentire in una concessione. Se si specificano altre operazioni, la CreateGrant richiesta ha esito negativo con un'
ValidationErroreccezione. Queste sono anche le operazioni che accettano un token di concessione. Per informazioni dettagliate sulla modifica di queste autorizzazioni, consulta AWS KMS autorizzazioni.Queste operazioni di concessione rappresentano effettivamente l'autorizzazione per l'utilizzo dell'operazione. Pertanto, per l'operazione
ReEncrypt, puoi specificareReEncryptFrom,ReEncryptToo entrambiReEncrypt*.Le operazioni di concessione sono:
-
Operazioni di crittografia
-
Altre operazioni
Le operazioni di concessione che autorizzi devono essere supportate dalla chiave KMS nella concessione. Se si specifica un'operazione non supportata, la CreateGrant richiesta ha esito negativo con un'
ValidationErroreccezione. Ad esempio, le concessioni per le chiavi KMS di crittografia simmetrica non possono permettere le operazioni Sign, Verify,GenerateMacoVerifyMacLe concessioni per le chiavi KMS asimmetriche non possono permettere operazioni che generano chiavi di dati o coppie di chiavi di dati. -
- Concessione di token
-
L' AWS KMS API segue un eventuale modello di coerenza. Quando crei 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 provi a utilizzare una concessione prima della propagazione in tutto il sistema, potrebbe verificarsi un errore di accesso negato. Un token di concessione consente di fare riferimento alla concessione e di utilizzare immediatamente le autorizzazioni di concessione.
Un grant token (token di concessione) è una stringa univoca, non segreta, di lunghezza variabile, codificata in base64 che rappresenta una concessione. È possibile utilizzare il token di concessione per identificare la concessione in qualsiasi operazione di concessione. Tuttavia, poiché il valore del token è un hash digest, non rivela alcun dettaglio sulla concessione.
Un token di concessione è progettato in modo da poter essere utilizzato solo quando la concessione si è propagata in AWS KMS. Dopo di che, l'assegnatario principale può utilizzare l'autorizzazione nella concessione senza fornire un token di concessione o qualsiasi altra prova della concessione. Puoi utilizzare un token di concessione in qualsiasi momento, ma una volta che la concessione è finalmente coerente, AWS KMS utilizza la concessione per determinare le autorizzazioni, non il token di concessione.
Ad esempio, il comando seguente richiama l'GenerateDataKeyoperazione. Utilizza un token di concessione per rappresentare la concessione che dà al chiamante (l'assegnatario principale) il permesso di chiamare
GenerateDataKeysulla chiave KMS specificata.$aws kms generate-data-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --key-spec AES_256 \ --grant-token $tokenPuoi anche utilizzare un token di concessione per identificare una concessione in qualsiasi operazione che gestisce le concessioni. Ad esempio, il preside in pensione può utilizzare un token di concessione in una chiamata all'RetireGrantoperazione.
$aws kms retire-grant \ --grant-token $tokenCreateGrantè l'unica operazione che restituisce un token di concessione. Non è possibile ottenere un token di concessione da nessun'altra AWS KMS operazione o dall'evento di CloudTrail registro dell' CreateGrant operazione. Le ListRetirableGrants operazioni ListGrants and restituiscono l'ID di concessione, ma non un token di concessione.Per informazioni dettagliate, vedi Utilizzo di un token di concessione.
- Principale assegnatario
-
Un AWS principale (identità IAM) che ottiene le autorizzazioni specificate nella concessione.
Il principale beneficiario può essere qualsiasi AWS principale, incluso un utente Account AWS (root), un utente IAM, un ruolo IAM, un ruolo o utente federato o un utente con ruolo presunto. L'assegnatario principale può essere nello stesso account della chiave KMS o in un account diverso. Tuttavia, l'assegnatario principale della concessione non può essere un principale del servizio, un gruppo IAM, o un'organizzazione AWS.
Per specificare il mandante del beneficiario, utilizza il parametro nella
GranteePrincipalrichiesta. CreateGrantNota
Le best practice di IAM disincentivano l'uso di utenti IAM con credenziali a lungo termine. Quando possibile, utilizza i ruoli IAM che forniscono credenziali temporanee. Per i dettagli, consulta la sezione Best practice di sicurezza in IAM nella Guida per l'utente IAM.
- Responsabile del servizio del beneficiario
-
Un responsabile AWS del servizio che ottiene le autorizzazioni specificate nella concessione. Per specificare l'entità del servizio del beneficiario, utilizzare il
GranteeServicePrincipalparametro nella richiesta. CreateGrantQuando crei una sovvenzione con a
GranteeServicePrincipal, devi includere anche un. SourceArn grant constraint IlSourceArnvincolo garantisce che il responsabile del servizio possa utilizzare la chiave KMS solo quando la richiesta viene effettuata per conto della risorsa specificata AWS .Quando si specifica a
GranteeServicePrincipal, è necessario specificare anche a RetiringPrincipal o a. RetiringServicePrincipal
Nota
È necessario specificare GranteePrincipal o GranteeServicePrincipal, ma non entrambi.
- Ritiro (di una concessione)
-
Termina una concessione. Ritiri una concessione al termine dell'utilizzo delle autorizzazioni.
Sia la revoca che il ritiro di una concessione eliminano la concessione. Ma il ritiro può essere fatto da un principale specificato nella concessione. La revoca viene in genere eseguita da un amministratore della chiave. Per informazioni dettagliate, vedi Ritirare e revocare le concessioni.
- Principale per il ritiro
-
Un principale che può ritirare una concessione. È possibile specificare un principale per il ritiro in una concessione, ma non è obbligatorio. Il responsabile ritirato può essere qualsiasi AWS responsabile, inclusi utenti IAM Account AWS, ruoli IAM, utenti federati e utenti con ruolo presunto. Il principale per il ritiro può essere nello stesso account della chiave KMS o in un account diverso.
Per specificare il principale che si ritira, utilizza il
RetiringPrincipalparametro nella richiesta. CreateGrantNota
Le best practice di IAM disincentivano l'uso di utenti IAM con credenziali a lungo termine. Quando possibile, utilizza i ruoli IAM che forniscono credenziali temporanee. Per i dettagli, consulta la sezione Best practice di sicurezza in IAM nella Guida per l'utente IAM.
- Responsabile del servizio che va in pensione
-
Un preside AWS del servizio che ha il permesso di ritirare una sovvenzione. Per specificare l'entità del servizio che intende ritirare, utilizzate il
RetiringServicePrincipalparametro nella CreateGrant richiesta.
Nota
Puoi specificare RetiringPrincipal o RetiringServicePrincipal, ma non entrambi.
Per ulteriori informazioni su chi può ritirare una sovvenzione, vedere. Ritirare e revocare le concessioni
- Revoca (di una concessione)
-
Termina una concessione. Revochi una concessione per negare attivamente le autorizzazioni consentite dalla concessione.
Sia la revoca che il ritiro di una concessione eliminano la concessione. Ma il ritiro può essere fatto da un principale specificato nella concessione. La revoca viene in genere eseguita da un amministratore della chiave. Per informazioni dettagliate, vedi Ritirare e revocare le concessioni.
- Consistenza finale (per le concessioni)
-
L' AWS KMS API segue un modello di coerenza https://en.wikipedia.org/wiki/Eventual_consistency
finale. 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. Potresti apprendere di questo breve ritardo se ricevi errori imprevisti. Ad esempio, se provi a gestire una nuova concessione o a utilizzare le autorizzazioni in una nuova concessione prima che la concessione sia nota a tutti AWS KMS, potresti ricevere un errore di accesso negato. Se ritiri o revochi una concessione, l'assegnatario principale potrebbe ancora essere in grado di utilizzare le autorizzazioni per un breve periodo fino a quando la concessione non viene completamente eliminata. La strategia tipica consiste nel riprovare la richiesta e alcuni AWS SDK includono una logica di backoff e riprova automatici.
AWS KMS dispone di funzionalità per mitigare questo breve ritardo.
-
Per utilizzare immediatamente le autorizzazioni in una nuova concessione, usa un token di concessione. È possibile utilizzare un token di concessione per fare riferimento a una concessione in qualsiasi operazione di concessione. Per istruzioni, consulta Utilizzo di un token di concessione.
-
L'CreateGrantoperazione ha un
Nameparametro che impedisce che le operazioni di nuovo tentativo creino concessioni duplicate.
Nota
I token di concessione sostituiscono la validità della concessione fino a quando tutti gli endpoint del servizio non sono stati aggiornati con il nuovo stato della concessione. Nella maggior parte dei casi, la consistenza finale sarà raggiunta entro cinque minuti.
Per ulteriori informazioni, consulta Consistenza finale di AWS KMS.
-