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à.
Chiave KMS | Crea
Richiedi una chiave KMS con una politica di chiave predefinita.
Classificazione completa: Distribuzione | Componenti dello stack avanzati | Chiave KMS | Creazione
Dettagli del tipo di modifica
Cambia tipo ID |
ct-1d84keiri1jhg |
Versione corrente |
1.0 |
Durata prevista dell'esecuzione |
60 minuti |
Approvazione AWS |
Richiesto |
Approvazione del cliente |
Campo non obbligatorio |
Modalità di esecuzione |
Automatizzata |
Informazioni aggiuntive
Crea una chiave KMS
Schermata di questo tipo di modifica nella console AMS:
Come funziona:
Vai alla pagina Crea RFC: nel riquadro di navigazione a sinistra della console AMS, fai clic RFCsper aprire la pagina dell' RFCs elenco, quindi fai clic su Crea RFC.
Scegli un tipo di modifica (CT) popolare nella visualizzazione predefinita Sfoglia i tipi di modifica o seleziona un CT nella visualizzazione Scegli per categoria.
Naviga per tipo di modifica: puoi fare clic su un CT popolare nell'area di creazione rapida per aprire immediatamente la pagina Run RFC. Nota che non puoi scegliere una versione CT precedente con creazione rapida.
Per ordinare CTs, utilizzate l'area Tutti i tipi di modifica nella vista a scheda o tabella. In entrambe le visualizzazioni, selezionate un CT, quindi fate clic su Crea RFC per aprire la pagina Esegui RFC. Se applicabile, accanto al pulsante Crea RFC viene visualizzata l'opzione Crea con una versione precedente.
Scegli per categoria: seleziona una categoria, sottocategoria, articolo e operazione e la casella dei dettagli CT si apre con l'opzione Crea con una versione precedente, se applicabile. Fai clic su Crea RFC per aprire la pagina Esegui RFC.
Nella pagina Run RFC, apri l'area del nome CT per visualizzare la casella dei dettagli CT. È richiesto un Oggetto (questo campo viene compilato automaticamente se si sceglie il CT nella visualizzazione Sfoglia i tipi di modifica). Apri l'area di configurazione aggiuntiva per aggiungere informazioni sull'RFC.
Nell'area di configurazione dell'esecuzione, utilizza gli elenchi a discesa disponibili o inserisci i valori per i parametri richiesti. Per configurare i parametri di esecuzione opzionali, aprite l'area di configurazione aggiuntiva.
Al termine, fate clic su Esegui. Se non sono presenti errori, viene visualizzata la pagina RFC creata correttamente con i dettagli RFC inviati e l'output iniziale di Run.
Apri l'area dei parametri di esecuzione per visualizzare le configurazioni inviate. Aggiorna la pagina per aggiornare lo stato di esecuzione RFC. Facoltativamente, annulla la RFC o creane una copia con le opzioni nella parte superiore della pagina.
Come funziona:
Usa Inline Create (esegui un
create-rfccomando con tutti i parametri RFC e di esecuzione inclusi) o Template Create (crei due file JSON, uno per i parametri RFC e uno per i parametri di esecuzione) ed esegui ilcreate-rfccomando con i due file come input. Entrambi i metodi sono descritti qui.Invia il
aws amscm submit-rfc --rfc-idcomando RFC: con l'ID RFC restituito.IDMonitora il comando RFC:.
aws amscm get-rfc --rfc-idID
Per verificare la versione del tipo di modifica, usa questo comando:
aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CT_ID
Nota
È possibile utilizzare qualsiasi CreateRfc parametro con qualsiasi RFC, indipendentemente dal fatto che faccia parte o meno dello schema per il tipo di modifica. Ad esempio, per ricevere notifiche quando lo stato RFC cambia, aggiungi questa riga --notification "{\"Email\": {\"EmailRecipients\" : [\"email@example.com\"]}}" alla parte dei parametri RFC della richiesta (non ai parametri di esecuzione). Per un elenco di tutti i CreateRfc parametri, consulta l'AMS Change Management API Reference.
CREAZIONE IN LINEA:
Esegui il comando create RFC con i parametri di esecuzione forniti in linea (evita le virgolette quando fornisci i parametri di esecuzione in linea), quindi invia l'ID RFC restituito. Ad esempio, puoi sostituire il contenuto con qualcosa del genere:
Solo parametri obbligatori:
aws amscm create-rfc --titlemy-app-key--change-type-id ct-1d84keiri1jhg --change-type-version1.0--execution-parameters '{"Description":"KMS key for my-app","VpcId":"VPC_ID","Name":"my-app-key","StackTemplateId":"stm-enf1j068fhg34vugt","TimeoutInMinutes":60,"Parameters":{"Description":"KMS key for my-app"}}'
CREAZIONE DEL MODELLO:
Invia lo schema JSON dei parametri di esecuzione per questo tipo di modifica in un file; questo esempio lo chiama CreateKmsKeyAutoParams .json.
aws amscm get-change-type-version --change-type-id "ct-1d84keiri1jhg" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateKmsKeyAutoParams.jsonModificate e salvate il file. CreateKmsKeyAutoParams Seguono degli esempi.
Concedi a un utente o a un ruolo il permesso di decrittografare la CMK creata. Parametri di esecuzione di esempio:
{ "Description": "KMS key for my-app", "VpcId": "VPC_ID”, "Name": "my-app-key-decrypt", "StackTemplateId": "stm-enf1j068fhg34vugt", "TimeoutInMinutes": 60, "Parameters": { "IAMPrincipalsRequiringDecryptPermissions": [ "ARN:role/roleA", "ARN:user/userB", "ARN:role/instanceProfileA" ], "Description": "KMS key for my-app" } }Per la politica risultante, vedereConcede le autorizzazioni per la decrittografia con il CML per un utente o un ruolo IAM.
Concedi a un utente o a un ruolo l'autorizzazione a crittografare utilizzando la CMK creata. Parametri di esecuzione di esempio:
{ "Description": "KMS key for my-app", "VpcId": "VPC_ID", "Name": "my-app-key-encrypt", "Tags": [ { "Key": "Name", "Value": "my-app-key" } ], "StackTemplateId": "stm-enf1j068fhg34vugt", "TimeoutInMinutes": 60, "Parameters": { "IAMPrincipalsRequiringEncryptPermissions": [ "ARN:role/roleA", "ARN:user/userB", "ARN:role/instanceProfileA" ], "Description": "KMS key for my-app" } }Per la politica risultante, vedereConcede le autorizzazioni per crittografare con il CML a un utente o un ruolo IAM.
Concedi a un utente, ruolo o account l'autorizzazione a creare sovvenzioni utilizzando la CMK creata. Parametri di esecuzione di esempio:
{ "Description": "KMS key for my-app", "VpcId": "VPC_ID", "Name": "my-app-key-create-grants", "StackTemplateId": "stm-enf1j068fhg34vugt", "TimeoutInMinutes": 60, "Parameters": { "IAMPrincipalsRequiringGrantsPermissions": [ "arn:aws:iam::999999999999:role/roleA", "888888888888" ], "Description": "KMS key for my-app" } }Per la politica risultante, vedereConcede le autorizzazioni per creare sovvenzioni con la CMK per un utente, un ruolo o un account IAM.
Consenti solo ai servizi AWS integrati con AWS KMS di eseguire l'operazione GRANT. Parametri di esecuzione di esempio:
{ "Description": "KMS key for my-app", "VpcId": "VPC_ID", "Name": "my-app-key-limit-to-services", "StackTemplateId": "stm-enf1j068fhg34vugt", "TimeoutInMinutes": 60, "Parameters": { "IAMPrincipalsRequiringGrantsPermissions": [ "arn:aws:iam::999999999999:role/roleA" ], "LimitGrantsToAWSResources": "true", "Description": "KMS key for my-app" } }Per la politica risultante, vedereConsenti solo ai servizi AWS integrati con AWS KMS di eseguire l'operazione GRANT.
Imporre l'uso delle chiavi contestuali di crittografia nelle operazioni crittografiche. Parametri di esecuzione di esempio:
{ "Description": "KMS key for my-app", "VpcId": "VPC_ID", "Name": "my-app-key-encryption-keys", "StackTemplateId": "stm-enf1j068fhg34vugt", "TimeoutInMinutes": 60, "Parameters": { "EnforceEncryptionContextKeys": "true", "Description": "KMS key for my-app" } }Per la politica risultante, vedereImporre l'uso delle chiavi contestuali di crittografia nelle operazioni crittografiche.
Applica un elenco specifico di chiavi contestuali di crittografia nelle operazioni crittografiche. Parametri di esecuzione di esempio:
{ "Description": "KMS key for my-app", "VpcId": "VPC_ID", "Name": "my-app-key-encryption-list", "StackTemplateId": "stm-enf1j068fhg34vugt", "TimeoutInMinutes": 60, "Parameters": { "AllowedEncryptionContextKeys": [ "Name", "Application" ], "Description": "KMS key for my-app" } }Per la politica risultante, vedereApplica un elenco specifico di chiavi contestuali di crittografia nelle operazioni crittografiche.
Consenti ai servizi AWS di accedere alla CMK creata. Parametri di esecuzione di esempio:
{ "Description" : "KMS key for my-app", "VpcId" : "VPC_ID", "Name" : "my-app-key-allow-aws-service-access", "StackTemplateId" : "stm-enf1j068fhg34vugt", "TimeoutInMinutes" : 60, "Parameters" : { "AllowServiceRolesAccessKMSKeys": [ "ec2.us-east-1.amazonaws.com", "ecr.us-east-1.amazonaws.com" ], "Description": "KMS key for my-app" } }Per la politica risultante, vedereConsenti ai servizi AWS di accedere alla CMK creata.
Esporta il file JSON del modello RFC in un file; questo esempio lo CreateKmsKeyAutoRfc chiama .json:
aws amscm create-rfc --generate-cli-skeleton > CreateKmsKeyAutoRfc.jsonModifica e salva il file.json. CreateKmsKeyAutoRfc Ad esempio, puoi sostituire il contenuto con qualcosa del genere:
{ "ChangeTypeId": "ct-1d84keiri1jhg", "ChangeTypeVersion": "1.0", "Title": "Create KMS Key" }Crea la RFC, specificando il file CreateKmsKeyAuto Rfc e il file: CreateKmsKeyAutoParams
aws amscm create-rfc --cli-input-json file://CreateKmsKeyAutoRfc.json --execution-parameters file://CreateKmsKeyAutoParams.jsonNella risposta ricevi l'ID della nuova RFC e puoi utilizzarlo per inviare e monitorare la RFC. Finché non la invii, la RFC rimane nello stato di modifica e non si avvia.
-
Questo CT crea uno CloudFormation stack con cui crea una chiave KMS.
DeletionPolicy: RetainIn base alla progettazione, la chiave KMS creata persisterà anche dopo l'eliminazione dello stack. Se sei sicuro di voler eliminare la chiave KMS, crea una RFC con Change Type ct-2zxya20wmf5bf, Management | Advanced stack components | KMS key | Elimina (è richiesta la revisione). Questo tipo di modifica è ExecutionMode =Automatico, quindi non richiede la revisione manuale da parte delle operazioni AMS e dovrebbe essere eseguito più rapidamente di KMS Key: Create (revisione richiesta); tuttavia, se hai una situazione insolita, la versione manuale potrebbe funzionare meglio per te. Vedi KMS Key | Create (revisione richiesta).
Questo CT ha un nuovo parametro che fornisce ai servizi AWS specificati l'accesso alla chiave KMS. AllowServiceRolesAccess KMSKeys La modifica è stata apportata perché il ruolo del servizio di gruppo Autoscaling non è stato in grado di avviare le EC2 istanze con volumi EBS crittografati a causa della mancanza di autorizzazioni per la chiave KMS.
Per ulteriori informazioni sulle chiavi AWS KMS, consulta AWS Key Management Service (
KMS), AWS Key Management Service e AWS Key Management FAQs Service Concepts.
KMS Key Create le politiche risultanti
A seconda di come hai creato la tua chiave KMS, hai creato delle politiche. Queste politiche di esempio corrispondono a vari scenari di creazione di chiavi KMS forniti in. Crea una chiave KMS
Concede le autorizzazioni per la decrittografia con il CML per un utente o un ruolo IAM
La politica di esempio risultante concede agli utenti, ai ruoli o ai profili di istanza IAM il permesso di decrittografare utilizzando la CMK:
{ "Sid": "Allow decrypt using the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::999999999999:role/roleA", "arn:aws:iam::999999999999:user/userB", "arn:aws:iam::999999999999:role/instanceProfileA" ] }, "Action": [ "kms:DescribeKey", "kms:Decrypt" ], "Resource": "*" }
Per i parametri di esecuzione per creare questa policy con la chiave KMS Create change type, vedi Crea una chiave KMS
Concede le autorizzazioni per crittografare con il CML a un utente o un ruolo IAM
La policy di esempio risultante concede agli utenti, ai ruoli o ai profili di istanza IAM il permesso di crittografare utilizzando il CMK:
{ "Sid": "Allow encrypt using the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::999999999999:role/roleA", "arn:aws:iam::999999999999:user/userB", "arn:aws:iam::999999999999:role/instanceProfileA" ] }, "Action": [ "kms:DescribeKey", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*" }
Per i parametri di esecuzione per creare questa policy con la chiave KMS Create change type, vedi Crea una chiave KMS
Concede le autorizzazioni per creare sovvenzioni con la CMK per un utente, un ruolo o un account IAM
Esempio di policy risultante:
{ "Sid": "Allow grants", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::999999999999:role/roleA", "arn:aws:iam::888888888888:root" ] }, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*" }
Per i parametri di esecuzione per creare questa politica con la chiave KMS Create change type, vedere Crea una chiave KMS
Consenti solo ai servizi AWS integrati con AWS KMS di eseguire l'operazione GRANT
Esempio di policy risultante:
{ "Sid": "Allow grants", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::999999999999:role/roleA" }, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*" }, { "Sid": "Deny if grant is not for AWS resource", "Effect": "Deny", "Principal": { "AWS": "*" }, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": "false" } } } } }
Per i parametri di esecuzione per creare questa politica con la chiave KMS Create change type, vedere Crea una chiave KMS
Imporre l'uso delle chiavi contestuali di crittografia nelle operazioni crittografiche
Politica di esempio risultante:
{ "Effect": "Deny", "Principal": { "AWS": "*" }, "Action": [ "kms:CreateGrant", "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey*", "kms:ReEncrypt" ], "Resource": "*", "Condition": { "Null": { "kms:EncryptionContextKeys": "true" } } }
Per i parametri di esecuzione per creare questa politica con la chiave KMS Create change type, vedere Crea una chiave KMS
Applica un elenco specifico di chiavi contestuali di crittografia nelle operazioni crittografiche
Politica di esempio risultante:
{ "Effect": "Deny", "Principal": { "AWS": "*" }, "Action": [ "kms:CreateGrant", "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey*", "kms:ReEncrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContextKeys": [ "Name", "Application" ] } } }
Per i parametri di esecuzione per creare questa politica con la chiave KMS Create change type, vedere Crea una chiave KMS
Consenti ai servizi AWS di accedere alla CMK creata
Esempio di policy risultante:
{ "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "kms:ListGrants", "kms:CreateGrant", "kms:DescribeKey", "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "ec2.us-west-2.amazonaws.com", "ecr.us-east-1.amazonaws.com" ], "kms:CallerAccount": "111122223333" } } }
Per i parametri di esecuzione per creare questa politica con la chiave KMS Create change type, vedere Crea una chiave KMS
Parametri di input di esecuzione
Per informazioni dettagliate sui parametri di input di esecuzione, vedereSchema per il tipo di modifica ct-1d84keiri1jhg.
Esempio: parametri obbligatori
{ "Description" : "Test description", "VpcId" : "vpc-12345678901234567", "Name" : "TestStack", "StackTemplateId" : "stm-enf1j068fhg34vugt", "TimeoutInMinutes" : 60, "Parameters" : { "Description" : "Test key" } }
Esempio: tutti i parametri
{ "Description" : "Test description", "VpcId" : "vpc-12345678", "Name" : "TestStack", "Tags" : [ { "Key" : "foo", "Value" : "bar" } ], "StackTemplateId" : "stm-enf1j068fhg34vugt", "TimeoutInMinutes" : 60, "Parameters" : { "Alias" : "testkey", "EnableKeyRotation" : "true", "Description" : "Test key", "PendingWindow" : 30, "IAMPrincipalsRequiringDecryptPermissions" : [ "arn:aws:iam::123456789012:user/myuser", "arn:aws:iam::123456789012:role/myrole" ], "IAMPrincipalsRequiringEncryptPermissions" : [ "arn:aws:iam::123456789012:user/myuser", "arn:aws:iam::123456789012:role/myrole" ], "IAMPrincipalsRequiringGrantsPermissions" : [ "arn:aws:iam::123456789012:user/myuser", "arn:aws:iam::123456789012:role/myrole", "987654321098" ], "LimitGrantsToAWSResources" : "true", "EnforceEncryptionContextKeys" : "true", "AllowedEncryptionContextKeys" : [ "App" ], "AllowServiceRolesAccessKMSKeys": [ "ec2.us-east-1.amazonaws.com" ] } }