Déclarations de base relatives aux clés KMS et à la politique IAM - AWS IAM Identity Center

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Déclarations de base relatives aux clés KMS et à la politique IAM

Les politiques de base basées sur les clés et les identités KMS fournies ici servent de base aux exigences communes. Nous vous recommandons également de passer en revue celles Déclarations de politique clés avancées de KMS qui fournissent des contrôles d'accès plus précis, par exemple en garantissant que la clé KMS n'est accessible qu'à une instance ou à une application AWS gérée IAM Identity Center spécifique. Avant d'utiliser les déclarations de politique clés avancées de KMS, consultez leConsidérations relatives au choix des principales déclarations de politique KMS de référence par rapport aux déclarations de politique clés.

Les sections suivantes fournissent des déclarations de politique de base pour chaque cas d'utilisation. Développez les sections correspondant à vos cas d'utilisation et copiez les principales déclarations de politique de KMS. Ensuite, revenez àÉtape 2 : Préparation des déclarations de politique clés de KMS.

Utilisez le modèle de déclaration de politique de clé KMS suivant Étape 2 : Préparation des déclarations de politique clés de KMS pour permettre aux administrateurs d'IAM Identity Center, de son magasin d'identités associé et d'IAM Identity Center d'utiliser la clé KMS.

  • Dans l'élément principal pour les déclarations de politique de l'administrateur, spécifiez les AWS principaux comptes des comptes d'administration de l'IAM Identity Center, à savoir le compte de gestion de l' AWS organisation et le compte d'administration déléguée, en utilisant le format « arn:aws:iam : :111122223333:root ».

  • Dans l' PrincipalArn élément, remplacez l'exemple par les rôles IAM ARNs des administrateurs de l'IAM Identity Center.

    Vous pouvez spécifier soit :

    • ARN du rôle IAM spécifique :

      "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/ap-southeast-2/AWSReservedSSO_permsetname_12345678"

    • Modèle Wildcard (recommandé) :

      "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/ap-southeast-2/AWSReservedSSO_permsetname_*"

    L'utilisation du caractère générique (*) empêche la perte d'accès si l'ensemble d'autorisations est supprimé et recréé, car Identity Center génère de nouveaux identifiants uniques pour les ensembles d'autorisations recréés. Pour un exemple de mise en œuvre, voirExemple de politique de confiance personnalisée.

  • Dans l' SourceAccount élément, spécifiez l'ID de compte IAM Identity Center.

  • Identity Store possède son propre principal de serviceidentitystore.amazonaws.com, qui doit être autorisé à utiliser la clé KMS.

  • Ces déclarations de politique permettent à vos instances IAM Identity Center d'un AWS compte spécifique d'utiliser la clé KMS. Pour restreindre l'accès à une instance IAM Identity Center spécifique, consultezDéclarations de politique clés avancées de KMS. Vous ne pouvez avoir qu'une seule instance IAM Identity Center pour chaque AWS compte.

Déclarations de politique clés de 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:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" } } }, { "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:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } }, { "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": "*" } ] }

Utilisez le modèle de déclaration de politique IAM suivant Étape 4 : Configuration des politiques IAM pour l'utilisation de la clé KMS entre comptes pour permettre aux administrateurs du IAM Identity Center d'utiliser la clé KMS.

  • Remplacez l'exemple d'ARN de clé dans l'Resourceélément par l'ARN de votre clé KMS réel. Pour obtenir de l'aide pour trouver les valeurs des identifiants référencés, consultezOù trouver les identifiants requis.

  • Ces déclarations de politique IAM accordent un accès par clé KMS au principal IAM mais ne limitent pas le AWS service autorisé à effectuer la demande. La politique des clés KMS prévoit généralement ces restrictions de service. Toutefois, vous pouvez ajouter un contexte de chiffrement à cette politique IAM pour limiter l'utilisation à une instance d'Identity Center spécifique. Pour plus d’informations, consultez Déclarations de politique clés avancées de KMS.

Déclarations de politique IAM requises pour les administrateurs délégués d'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": "*" } ] }
Note

Certaines applications AWS gérées ne peuvent pas être utilisées avec IAM Identity Center configuré avec une clé KMS gérée par le client. Pour plus d'informations, consultez la section Applications AWS gérées qui fonctionnent avec IAM Identity Center.

Utilisez le modèle de déclaration de politique de clé KMS suivant Étape 2 : Préparation des déclarations de politique clés de KMS pour autoriser les applications AWS gérées et leurs administrateurs à utiliser la clé KMS.

Déclarations de politique clés de 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" } } } ] }

Utilisez le modèle de déclaration de politique IAM suivant Étape 4 : Configuration des politiques IAM pour l'utilisation de la clé KMS entre comptes pour permettre aux administrateurs d'applications AWS gérées d'utiliser la clé KMS d'un compte membre.

  • Remplacez l'exemple d'ARN dans l'élément Resource par l'ARN de votre clé KMS réelle. Pour obtenir de l'aide pour trouver les valeurs des identifiants référencés, consultezOù trouver les identifiants requis.

  • Certaines applications AWS gérées nécessitent que vous configuriez des autorisations pour le service APIs IAM Identity Center. Avant de configurer une clé gérée par le client dans IAM Identity Center, vérifiez que ces autorisations autorisent également l'utilisation de la clé KMS. Pour connaître les exigences d'autorisation spécifiques relatives aux clés KMS, consultez la documentation de chaque application AWS gérée que vous avez déployée.

Déclarations de politique IAM requises pour les administrateurs d'applications AWS gérées :

{ "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" ] } } }] }

Utilisez les modèles de déclaration de clé KMS suivants Étape 2 : Préparation des déclarations de politique clés de KMS pour permettre aux administrateurs de AWS Control Tower d'utiliser la clé KMS.

  • Dans l'élément Principal, spécifiez les principaux IAM utilisés pour accéder au service IAM Identity Center. APIs Pour plus d'informations sur les principaux IAM, consultez la section Spécification d'un principal dans le Guide de l'utilisateur IAM.

  • Ces déclarations de politique permettent aux administrateurs de AWS Control Tower d'utiliser la clé KMS via n'importe laquelle de vos instances IAM Identity Center. Cependant, AWS Control Tower restreint l'accès à l'instance organisationnelle d'IAM Identity Center au sein de la même AWS organisation. En raison de cette restriction, il n'y a aucun avantage pratique à restreindre davantage la clé KMS à une instance IAM Identity Center spécifique, comme décrit dansDéclarations de politique clés avancées de KMS.

  • Pour vous protéger contre les changements de nom de rôle IAM lorsque des ensembles d'autorisations sont recréés, utilisez l'approche décrite dans le. Exemple de politique de confiance personnalisée

Déclaration de politique de clé KMS :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowControlTowerAdminRoleToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/AWSControlTowerAdmin" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" } } }, { "Sid": "AllowControlTowerAdminRoleToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/AWSControlTowerAdmin" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } } ] }

AWS Control Tower ne prend pas en charge l'administration déléguée et, par conséquent, il n'est pas nécessaire de configurer une politique IAM pour ses administrateurs.

Important

La déclaration de politique précédente couvre les opérations AWS Control Tower gérées par les services, telles que l'inscription automatique des comptes, où AWS Control Tower assume le AWSControlTowerAdmin rôle. Toutefois, pour les opérations initiées par le client, telles que l'approvisionnement de comptes via Account Factory ou les appels AWS Control Tower APIs directs, AWS Control Tower utilise des sessions d'accès direct (FAS) et fonctionne sous le propre rôle IAM du client. Cela signifie que le rôle IAM que vous utilisez pour lancer ces opérations nécessite également des kms:Decrypt autorisations sur la clé KMS gérée par le client.

Ajoutez les déclarations de politique clés KMS suivantes à côté des AWSControlTowerAdmin déclarations ci-dessus. MyControlTowerRoleRemplacez-le par l'ARN du rôle IAM avec lequel vous interagissez AWS Control Tower, tel qu'un rôle d'ensemble d'autorisations IAM Identity Center (par exemple,AWSReservedSSO_PermissionSetName_*), un rôle IAM personnalisé pour l'automatisation ou tout autre rôle utilisé pour appeler ou. AWS Control Tower AWS Service Catalog APIs

Déclaration de politique clé de KMS pour les opérations initiées par le client AWS Control Tower  :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCustomerRoleToUseTheKMSKeyViaIdentityCenterForControlTower", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyControlTowerRole" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" } } }, { "Sid": "AllowCustomerRoleToUseTheKMSKeyViaIdentityStoreForControlTower", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyControlTowerRole" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } } ] }

Utilisez le modèle de déclaration de politique clé KMS suivant Étape 2 : Préparation des déclarations de politique clés de KMS pour permettre aux utilisateurs de l'authentification unique (SSO) des instances Amazon EC2 d'utiliser la clé KMS sur plusieurs comptes.

  • Spécifiez les principaux IAM utilisés pour accéder à IAM Identity Center dans le champ Principal. Pour plus d'informations sur les principaux IAM, consultez la section Spécification d'un principal dans le Guide de l'utilisateur IAM.

  • Cette déclaration de politique autorise n'importe laquelle de vos instances IAM Identity Center à utiliser la clé KMS. Pour restreindre l'accès à une instance IAM Identity Center spécifique, consultezDéclarations de politique clés avancées de KMS.

  • Pour vous protéger contre les changements de nom de rôle IAM lorsque des ensembles d'autorisations sont recréés, utilisez l'approche décrite dans Exemple de politique de confiance personnalisée.

Déclaration de stratégie de clé 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:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" } } }, { "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": "*" } } } ] }

Utilisez le modèle de déclaration de politique IAM suivant Étape 4 : Configuration des politiques IAM pour l'utilisation de la clé KMS entre comptes pour autoriser les instances SSO vers EC2 à utiliser la clé KMS.

Joignez la déclaration de politique IAM à l'ensemble d'autorisations existant dans IAM Identity Center que vous utilisez pour autoriser l'accès SSO aux instances Amazon EC2. Pour des exemples de politique IAM, consultez la section Connexions au protocole Remote Desktop dans le Guide de l'utilisateur de AWS Systems Manager.

  • Remplacez l'exemple d'ARN dans l'élément Resource par l'ARN de votre clé KMS réelle. Pour obtenir de l'aide pour trouver les valeurs des identifiants référencés, consultezOù trouver les identifiants requis.

Politique IAM définie par les autorisations :

{ "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" ] } } }] }

Utilisez les modèles de déclaration de politique clé KMS suivants Étape 2 : Préparation des déclarations de politique clés de KMS pour autoriser les flux de travail personnalisés, tels que les applications gérées par le client, dans le compte de AWS Organizations gestion ou le compte d'administration déléguée à utiliser la clé KMS. Notez que la fédération SAML dans les applications gérées par le client ne nécessite pas d'autorisations clés KMS.

  • Dans l'élément Principal, spécifiez les principaux IAM utilisés pour accéder au service IAM Identity Center. APIs Pour plus d'informations sur les principaux IAM, consultez la section Spécification d'un principal dans le Guide de l'utilisateur IAM.

  • Ces déclarations de politique permettent à votre flux de travail d'utiliser la clé KMS via n'importe laquelle de vos instances IAM Identity Center. Pour restreindre l'accès à une instance IAM Identity Center spécifique, consultezDéclarations de politique clés avancées de KMS.

  • Pour vous protéger contre les changements de nom de rôle IAM lorsque des ensembles d'autorisations sont recréés, utilisez l'approche décrite dans le. Exemple de politique de confiance personnalisée

Déclaration de politique de clé 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:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" } } }, { "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": "*" } } } ] }

Utilisez le modèle de déclaration de politique IAM suivant Étape 4 : Configuration des politiques IAM pour l'utilisation de la clé KMS entre comptes pour permettre au principal IAM associé au flux de travail personnalisé d'utiliser la clé KMS sur tous les comptes. Ajoutez la déclaration de politique IAM au principal IAM.

  • Remplacez l'exemple d'ARN dans l'élément Resource par l'ARN de votre clé KMS réelle. Pour obtenir de l'aide pour trouver les valeurs des identifiants référencés, consultezOù trouver les identifiants requis.

Déclaration de politique IAM (requise uniquement pour une utilisation entre comptes) :

{ "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" ] } } }] }

Exemples de déclarations de politique clés de KMS pour les cas d'utilisation courants

IAM Identity Center avec administrateurs délégués et applications AWS gérées

Cette section contient des exemples de déclarations de politique clés KMS que vous pouvez utiliser pour une instance IAM Identity Center dotée d'administrateurs délégués et d'applications AWS gérées.

Important

Les déclarations de politique clés KMS supposent que votre instance IAM Identity Center n'est utilisée dans aucun autre cas d'utilisation nécessitant des autorisations relatives aux clés KMS. Pour confirmer, vous pouvez passer en revue tous les cas d'utilisation. En outre, pour vérifier si vos applications AWS gérées nécessitent une configuration supplémentaire, voir Configuration supplémentaire dans certaines applications AWS gérées

Copiez les déclarations de politique clé KMS sous le tableau et ajoutez-les à votre politique de clé KMS. Cet exemple utilise les valeurs d'exemple suivantes :

  • 111122223333- ID de compte de l'instance IAM Identity Center

  • 444455556666- ID de compte d'administration déléguée

  • o-a1b2c3d4e5- identifiant AWS de l'organisation

  • arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_Admin_*- Un modèle générique représentant le rôle IAM d'un administrateur du IAM Identity Center fourni à partir de l'ensemble d'autorisations. Admin Un tel rôle contient le code de région de la région principale (us-east-1 dans cet exemple).

  • arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdmin_*- Un modèle générique représentant le rôle IAM d'un administrateur délégué d'IAM Identity Center fourni à partir du jeu d'autorisations. DelegatedAdmin Un tel rôle contient le code de région de la région principale (us-east-1 dans cet exemple).

Si le rôle IAM n'a pas été généré à partir d'un ensemble d'autorisations, le rôle IAM ressemblera à un rôle normal tel que. 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:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" } } }, { "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:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } }, { "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" } } } ] }