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à.
Dichiarazioni sulla chiave KMS di base e sulle politiche IAM
La chiave KMS di base e le politiche basate sull'identità fornite qui fungono da base per requisiti comuni. Ti consigliamo inoltre di verificare Dichiarazioni politiche chiave di Advanced KMS che forniscano controlli di accesso più granulari, ad esempio assicurando che la chiave KMS sia accessibile solo a una specifica istanza o applicazione gestita di IAM Identity Center. AWS Prima di utilizzare le dichiarazioni politiche chiave avanzate di KMS, consulta il. Considerazioni sulla scelta delle principali dichiarazioni politiche KMS di base rispetto a quelle avanzate
Le seguenti sezioni forniscono le dichiarazioni politiche di base per ogni caso d'uso. Espandi le sezioni che corrispondono ai tuoi casi d'uso e copia le dichiarazioni politiche chiave del KMS. Quindi, torna a. Fase 2: Preparare le dichiarazioni politiche chiave del KMS
Utilizza il seguente modello di dichiarazione di policy chiave KMS Fase 2: Preparare le dichiarazioni politiche chiave del KMS per consentire agli amministratori di IAM Identity Center, dell'Identity Store associato e dell'IAM Identity Center di utilizzare la chiave KMS.
-
Nell'elemento Principal for administrator policy statement, specifica i principali AWS account degli account di amministrazione di IAM Identity Center, che sono l'account di gestione dell' AWS organizzazione e l'account di amministrazione delegata, utilizzando il formato «arn:aws:iam: :111122223333:root».
-
Nell' PrincipalArn elemento, sostituisci l'esempio con i ruoli IAM degli amministratori di IAM Identity Center. ARNs
Puoi specificare:
-
Ruolo IAM specifico ARN:
"arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/ap-southeast-2/AWSReservedSSO_permsetname_12345678" -
Pattern Wildcard (consigliato):
"arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/ap-southeast-2/AWSReservedSSO_permsetname_*"
L'uso del wildcard (
*) previene la perdita di accesso se il set di autorizzazioni viene eliminato e ricreato, poiché Identity Center genera nuovi identificatori univoci per i set di autorizzazioni ricreati. Per un esempio di implementazione, vedere. Esempio di politica di fiducia personalizzata -
-
Nell' SourceAccount elemento, specifica l'ID dell'account IAM Identity Center.
-
Identity Store dispone di un proprio service principal
identitystore.amazonaws.com, al quale deve essere consentito di utilizzare la chiave KMS. -
Queste dichiarazioni politiche consentono alle istanze IAM Identity Center in un AWS account specifico di utilizzare la chiave KMS. Per limitare l'accesso a una specifica istanza di IAM Identity Center, consulta. Dichiarazioni politiche chiave di Advanced KMS Puoi avere solo un'istanza IAM Identity Center per ogni AWS account.
Dichiarazioni politiche chiave di KMS
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIAMIdentityCenterAdminToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "ArnLike": { "aws:PrincipalArn": [ "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_Admin_*", "arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdmin_*" ] }, "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "*", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "Sid": "AllowIAMIdentityCenterAdminToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "ArnLike": { "aws:PrincipalArn": [ "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_Admin_*", "arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdmin_*" ] }, "StringLike": { "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*", "kms:ViaService": "identitystore.*.amazonaws.com" } } }, { "Sid": "AllowIAMIdentityCenterAdminToDescribeTheKMSKey", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "ArnLike": { "aws:PrincipalArn": [ "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_Admin_*", "arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdmin_*" ] } } }, { "Sid": "AllowIAMIdentityCenterToUseTheKMSKey", "Effect": "Allow", "Principal": { "Service": "sso.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "*" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } }, { "Sid": "AllowIdentityStoreToUseTheKMSKey", "Effect": "Allow", "Principal": { "Service": "identitystore.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } }, { "Sid": "AllowIAMIdentityCenterAndIdentityStoreToDescribeKMSKey", "Effect": "Allow", "Principal": { "Service": [ "identitystore.amazonaws.com", "sso.amazonaws.com" ] }, "Action": "kms:DescribeKey", "Resource": "*" } ] }
Utilizza il seguente modello di dichiarazione delle politiche IAM Passaggio 4: configura le politiche IAM per l'uso della chiave KMS su più account per consentire agli amministratori di IAM Identity Center di utilizzare la chiave KMS.
-
Sostituisci la chiave di esempio ARN nell'
Resourceelemento con la tua chiave KMS ARN effettiva. Per informazioni su come trovare i valori degli identificatori di riferimento, consulta. Dove trovare gli identificatori richiesti -
Queste dichiarazioni politiche IAM concedono l'accesso tramite chiave KMS al principale IAM, ma non limitano il AWS servizio che può effettuare la richiesta. La policy chiave KMS prevede in genere queste restrizioni di servizio. Tuttavia, puoi aggiungere un contesto di crittografia a questa policy IAM per limitare l'utilizzo a una specifica istanza di Identity Center. Per i dettagli, fare riferimento aDichiarazioni politiche chiave di Advanced KMS.
Dichiarazioni sulle policy IAM richieste per gli amministratori delegati di IAM Identity Center
{ "Version": "2012-10-17", "Statement": [{ "Sid": "IAMPolicyToAllowIAMIdentityCenterAdminToUseKMSkey", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKeyWithoutPlaintext", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, { "Sid": "IAMPolicyToAllowIAMIdentityCenterAdminToListKeyAliases", "Effect": "Allow", "Action": "kms:ListAliases", "Resource": "*" } ] }
Nota
Alcune applicazioni AWS gestite non possono essere utilizzate con IAM Identity Center configurato con una chiave KMS gestita dal cliente. Per ulteriori informazioni, consulta Applicazioni AWS gestite che funzionano con IAM Identity Center.
Utilizza il seguente modello di dichiarazione di policy chiave KMS Fase 2: Preparare le dichiarazioni politiche chiave del KMS per consentire sia alle applicazioni AWS gestite che ai relativi amministratori di utilizzare la chiave KMS.
-
Inserisci il tuo AWS Organizations ID nell'ID e nelle condizioni PrincipalOrg. SourceOrgId Per informazioni su come trovare i valori degli identificatori di riferimento, consulta. Dove trovare gli identificatori richiesti
-
Queste dichiarazioni politiche consentono a tutte le applicazioni AWS gestite e a tutti i responsabili IAM (amministratori delle applicazioni) dell' AWS organizzazione di utilizzare kms: Decrypt utilizzando IAM Identity Center e Identity Store. Per limitare queste dichiarazioni politiche a specifiche applicazioni AWS gestite, account o istanze IAM Identity Center, consulta. Dichiarazioni politiche chiave di Advanced KMS
Puoi limitare l'accesso a specifici amministratori di applicazioni sostituendoli
*con principi IAM specifici. Per proteggerti dalle modifiche ai nomi dei ruoli IAM quando vengono ricreati i set di autorizzazioni, utilizza l'approccio descritto in. Esempio di politica di fiducia personalizzata Per ulteriori informazioni, consulta Considerazioni sulla scelta delle principali dichiarazioni politiche KMS di base rispetto a quelle avanzate.
Dichiarazioni politiche chiave di KMS
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAppAdminsInTheSameOrganizationToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-a1b2c3d4e5" }, "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" } } }, { "Sid": "AllowAppAdminsInTheSameOrganizationToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-a1b2c3d4e5" }, "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } }, { "Sid": "AllowManagedAppsToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" }, "Bool": { "aws:PrincipalIsAWSService": "true" }, "StringEquals": { "aws:SourceOrgID": "o-a1b2c3d4e5" } } }, { "Sid": "AllowManagedAppsToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" }, "Bool": { "aws:PrincipalIsAWSService": "true" }, "StringEquals": { "aws:SourceOrgID": "o-a1b2c3d4e5" } } } ] }
Utilizza il seguente modello di dichiarazione delle politiche IAM Passaggio 4: configura le politiche IAM per l'uso della chiave KMS su più account per consentire agli amministratori delle applicazioni AWS gestite di utilizzare la chiave KMS di un account membro.
-
Sostituisci l'ARN di esempio nell'elemento Resource con la tua chiave KMS ARN effettiva. Per informazioni su come trovare i valori degli identificatori di riferimento, vedere. Dove trovare gli identificatori richiesti
-
Alcune applicazioni AWS gestite richiedono la configurazione delle autorizzazioni per il servizio IAM Identity Center. APIs Prima di configurare una chiave gestita dal cliente in IAM Identity Center, verifica che queste autorizzazioni consentano anche l'uso della chiave KMS. Per requisiti specifici di autorizzazione delle chiavi KMS, consulta la documentazione per ogni applicazione AWS gestita che hai distribuito.
Dichiarazioni politiche IAM richieste per gli amministratori delle AWS applicazioni gestite:
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowIAMIdentityCenterAdminToUseTheKMSKeyViaIdentityCenterAndIdentityStore", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Condition": { "StringLike": { "kms:ViaService": [ "sso.*.amazonaws.com", "identitystore.*.amazonaws.com" ] } } }] }
Utilizza i seguenti modelli di istruzioni chiave KMS Fase 2: Preparare le dichiarazioni politiche chiave del KMS per consentire agli amministratori di AWS Control Tower di utilizzare la chiave KMS.
-
Nell'elemento Principal, specifica i principi IAM utilizzati per l'accesso al servizio IAM Identity Center. APIs Per ulteriori informazioni sui principi IAM, consulta Specificing a principal nella IAM User Guide.
-
Queste dichiarazioni politiche consentono agli amministratori di AWS Control Tower di utilizzare la chiave KMS tramite qualsiasi istanza di IAM Identity Center. Tuttavia, AWS Control Tower limita l'accesso all'istanza organizzativa di IAM Identity Center nella stessa AWS organizzazione. A causa di questa restrizione, non vi è alcun vantaggio pratico nel limitare ulteriormente la chiave KMS a un'istanza specifica di IAM Identity Center, come descritto in. Dichiarazioni politiche chiave di Advanced KMS
-
Per proteggerti dalle modifiche ai nomi dei ruoli IAM quando vengono ricreati i set di autorizzazioni, utilizza l'approccio descritto in. Esempio di politica di fiducia personalizzata
Dichiarazione della policy della chiave KMS:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowControlTowerAdminRoleToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/AWSControlTowerExecution" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "*", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "Sid": "AllowControlTowerAdminRoleToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/AWSControlTowerExecution" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } } ] }
AWS Control Tower non supporta l'amministrazione delegata e, pertanto, non è necessario configurare una policy IAM per i suoi amministratori.
Utilizza il seguente modello di dichiarazione sulla politica delle chiavi KMS Fase 2: Preparare le dichiarazioni politiche chiave del KMS per consentire agli utenti delle EC2 istanze Single Sign-On (SSO) su Amazon di utilizzare la chiave KMS su più account.
-
Specificate i principi IAM utilizzati per l'accesso a IAM Identity Center nel campo Principal. Per ulteriori informazioni sui principi IAM, consulta Specificing a principal nella IAM User Guide.
-
Questa dichiarazione di policy consente a qualsiasi istanza IAM Identity Center di utilizzare la chiave KMS. Per limitare l'accesso a una specifica istanza di IAM Identity Center, consulta. Dichiarazioni politiche chiave di Advanced KMS
-
Per proteggerti dalle modifiche ai nomi dei ruoli IAM quando vengono ricreati i set di autorizzazioni, utilizza l'approccio descritto nell'esempio della politica di fiducia personalizzata.
Dichiarazione della policy della chiave KMS
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIAMIdentityCenterPermissionSetRoleToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_MyPermissionSet_1a2b3c4d5e6f7g8h" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "*", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "Sid": "AllowIAMIdentityCenterPermissionSetRoleToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_MyPermissionSet_1a2b3c4d5e6f7g8h" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } } ] }
Utilizza il seguente modello di dichiarazione di policy IAM Passaggio 4: configura le politiche IAM per l'uso della chiave KMS su più account per consentire a SSO to EC2 istanze di utilizzare la chiave KMS.
Allega la dichiarazione della policy IAM al set di autorizzazioni esistente in IAM Identity Center che stai utilizzando per consentire l'accesso SSO alle EC2 istanze Amazon. Per esempi di policy IAM, consulta le connessioni Remote Desktop Protocol nella AWS Systems Manager User Guide.
-
Sostituisci l'ARN di esempio nell'elemento Resource con la tua chiave KMS ARN effettiva. Per informazioni su come trovare i valori degli identificatori di riferimento, vedere. Dove trovare gli identificatori richiesti
Policy IAM relativa al set di autorizzazioni:
{ "Version": "2012-10-17", "Statement": [{ "Sid": "IAMPolicyToAllowKMSKeyUseViaIdentityCenterAndIdentityStore", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Condition": { "StringLike": { "kms:ViaService": [ "sso.*.amazonaws.com", "identitystore.*.amazonaws.com" ] } } }] }
Utilizza i seguenti modelli di dichiarazioni politiche chiave KMS Fase 2: Preparare le dichiarazioni politiche chiave del KMS per consentire ai flussi di lavoro personalizzati, come le applicazioni gestite dai clienti, nell'account di AWS Organizations gestione o nell'account di amministrazione delegata di utilizzare la chiave KMS. Tieni presente che la federazione SAML nelle applicazioni gestite dai clienti non richiede le autorizzazioni relative alle chiavi KMS.
-
Nell'elemento Principal, specifica i principi IAM utilizzati per accedere al servizio IAM Identity Center. APIs Per ulteriori informazioni sui principi IAM, consulta Specificing a principal nella IAM User Guide.
-
Queste dichiarazioni politiche consentono al flusso di lavoro di utilizzare la chiave KMS tramite qualsiasi istanza di IAM Identity Center. Per limitare l'accesso a una specifica istanza di IAM Identity Center, consulta. Dichiarazioni politiche chiave di Advanced KMS
-
Per proteggerti dalle modifiche ai nomi dei ruoli IAM quando vengono ricreati i set di autorizzazioni, utilizza l'approccio descritto in. Esempio di politica di fiducia personalizzata
Dichiarazione della policy della chiave KMS:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCustomWorkflowToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyCustomWorkflowRole" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "*", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "Sid": "AllowCustomWorkflowToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyCustomWorkflowRole" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } } ] }
Utilizza il seguente modello di dichiarazione delle politiche IAM Passaggio 4: configura le politiche IAM per l'uso della chiave KMS su più account per consentire al principale IAM associato al flusso di lavoro personalizzato di utilizzare la chiave KMS tra gli account. Aggiungi la dichiarazione di policy IAM all'IAM principal.
-
Sostituisci l'ARN di esempio nell'elemento Resource con la tua chiave KMS ARN effettiva. Per informazioni su come trovare i valori degli identificatori di riferimento, vedere. Dove trovare gli identificatori richiesti
Dichiarazione sulla politica IAM (richiesta solo per l'utilizzo su più account):
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowCustomWorkflowToUseTheKMSKeyViaIdentityCenterAndIdentityStore", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Condition": { "StringLike": { "kms:ViaService": [ "sso.*.amazonaws.com", "identitystore.*.amazonaws.com" ] } } }] }
Esempi di dichiarazioni politiche chiave di KMS per casi d'uso comuni
IAM Identity Center con amministratori delegati e applicazioni gestite AWS
Questa sezione contiene esempi di dichiarazioni politiche chiave KMS che è possibile utilizzare per un'istanza di IAM Identity Center con amministratori delegati e applicazioni gestite. AWS
Importante
Le dichiarazioni politiche chiave del KMS presuppongono che l'istanza di IAM Identity Center non venga utilizzata in altri casi d'uso che richiedono le autorizzazioni della chiave KMS. Per confermare, puoi esaminare tutti i casi d'uso. Inoltre, per confermare se le applicazioni AWS gestite richiedono una configurazione aggiuntiva, consulta Configurazione aggiuntiva in alcune applicazioni AWS gestite
Copia le dichiarazioni chiave sulla politica KMS sotto la tabella e aggiungile alla politica chiave del KMS. Questo esempio utilizza i seguenti valori di esempio:
-
111122223333- ID account dell'istanza di IAM Identity Center -
444455556666- ID dell'account di amministrazione delegato -
o-a1b2c3d4e5- ID AWS dell'organizzazione -
arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_Admin_*- Un pattern jolly del ruolo IAM di un amministratore di IAM Identity Center fornito dal set di autorizzazioni.AdminTale ruolo contiene il codice regionale della regione principale (us-east-1 in questo esempio). -
arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdmin_*- Un pattern jolly del ruolo IAM di un amministratore delegato di IAM Identity Center fornito dal set di autorizzazioni.DelegatedAdminTale ruolo contiene il codice regionale della regione principale (us-east-1 in questo esempio).
Se il ruolo IAM non è stato generato da un set di autorizzazioni, il ruolo IAM avrà l'aspetto di un ruolo normale, ad esempio. arn:aws:iam::111122223333:role/idcadmin
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIAMIdentityCenterAdminToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "ArnLike": { "aws:PrincipalArn": [ "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_Admin_*", "arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdmin_*" ] }, "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "*", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "Sid": "AllowIAMIdentityCenterAdminToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "ArnLike": { "aws:PrincipalArn": [ "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_Admin_*", "arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdmin_*" ] }, "StringLike": { "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*", "kms:ViaService": "identitystore.*.amazonaws.com" } } }, { "Sid": "AllowIAMIdentityCenterAdminToDescribeTheKMSKey", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "ArnLike": { "aws:PrincipalArn": [ "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_Admin_*", "arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdmin_*" ] } } }, { "Sid": "AllowIAMIdentityCenterToUseTheKMSKey", "Effect": "Allow", "Principal": { "Service": "sso.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "*" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } }, { "Sid": "AllowIdentityStoreToUseTheKMSKey", "Effect": "Allow", "Principal": { "Service": "identitystore.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } }, { "Sid": "AllowIAMIdentityCenterAndIdentityStoreToDescribeKMSKey", "Effect": "Allow", "Principal": { "Service": [ "identitystore.amazonaws.com", "sso.amazonaws.com" ] }, "Action": "kms:DescribeKey", "Resource": "*" }, { "Sid": "AllowAppAdminsInTheSameOrganizationToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-a1b2c3d4e5" }, "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" } } }, { "Sid": "AllowAppAdminsInTheSameOrganizationToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-a1b2c3d4e5" }, "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } }, { "Sid": "AllowManagedAppsToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" }, "Bool": { "aws:PrincipalIsAWSService": "true" }, "StringEquals": { "aws:SourceOrgID": "o-a1b2c3d4e5" } } }, { "Sid": "AllowManagedAppsToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" }, "Bool": { "aws:PrincipalIsAWSService": "true" }, "StringEquals": { "aws:SourceOrgID": "o-a1b2c3d4e5" } } } ] }