

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.

# Politique clé de référence en matière de KMS
<a name="baseline-KMS-key-policy"></a>

La politique clé KMS suivante couvre le scénario de déploiement le plus courant : une instance IAM Identity Center avec des administrateurs délégués et des applications AWS gérées AWS Control Tower, y compris des instances SSO vers Amazon EC2 et des flux de travail personnalisés. Utilisez cette politique comme point de départ lors de la création d'une clé KMS gérée par le client pour IAM Identity Center. Si vous avez besoin de contrôles d'accès plus précis, tels que la restriction de la clé à une instance ou à une application IAM Identity Center spécifique, consultez. [Déclarations de politique clés avancées de KMS](advanced-kms-policy.md) Veuillez noter que si vous utilisez une clé multirégionale, la même politique doit être utilisée pour toutes les répliques afin de garantir une autorisation cohérente.

Pour appliquer cette politique, remplacez les valeurs d'espace réservé suivantes par les vôtres :
+ `{{111122223333}}`— L'ID de AWS compte de votre instance IAM Identity Center (le compte AWS Organizations de gestion).
+ `{{444455556666}}`— L'identifiant de votre AWS compte d'administration déléguée. Si vous n'utilisez pas l'administration déléguée, supprimez ce principal.

 Étant donné qu' AWS IAM Identity Center exige que la clé KMS se trouve dans le même AWS compte que le service, les instructions suivantes utilisent les `${aws:ResourceAccount}` variables `${aws:ResourceOrgID}` et au lieu de valeurs littérales. Vous pouvez remplacer ces variables par votre numéro d' AWS organisation et votre numéro de AWS compte si vous le souhaitez.

```
{
  "Version": "2012-10-17", 		 	 	 
  "Statement": [
    {
      "Sid": "AllowIdentityCenterAdminAccounts",
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::{{111122223333}}:root",
          "arn:aws:iam::{{444455556666}}:root"
        ]
      },
      "Action": "kms:*",
      "Resource": "*"
    },
    {
      "Sid": "AllowIdentityCenterAndIdentityStoreToDescribeKey",
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "identitystore.amazonaws.com",
          "sso.amazonaws.com"
        ]
      },
      "Action": "kms:DescribeKey",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "${aws:ResourceAccount}"
        }
      }
    },
    {
      "Sid": "AllowIdentityCenterAndIdentityStoreToUseKey",
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "identitystore.amazonaws.com",
          "sso.amazonaws.com"
        ]
      },
      "Action": [
        "kms:Decrypt",
        "kms:ReEncryptTo",
        "kms:ReEncryptFrom",
        "kms:GenerateDataKeyWithoutPlaintext"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "${aws:ResourceAccount}"
        },
        "ForAnyValue:StringEquals": {
          "kms:EncryptionContextKeys": [
            "aws:sso:instance-arn",
            "aws:identitystore:identitystore-arn"
          ]
        }
      }
    },
    {
      "Sid": "AllowOrgPrincipalsViaIdentityCenterAndIdentityStore",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "kms:Decrypt",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalOrgID": "${aws:ResourceOrgID}"
        },
        "StringLike": {
          "kms:ViaService": [
            "sso.*.amazonaws.com",
            "identitystore.*.amazonaws.com"
          ]
        },
        "ForAnyValue:StringEquals": {
          "kms:EncryptionContextKeys": [
            "aws:sso:instance-arn",
            "aws:identitystore:identitystore-arn"
          ]
        }
      }
    },
    {
      "Sid": "AllowManagedApps",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "kms:Decrypt",
      "Resource": "*",
      "Condition": {
        "Bool": {
          "aws:PrincipalIsAWSService": "true"
        },
        "StringEquals": {
          "aws:SourceOrgID": "${aws:ResourceOrgID}"
        },
        "StringLike": {
          "kms:ViaService": [
            "identitystore.*.amazonaws.com",
            "sso.*.amazonaws.com"
          ]
        },
        "ForAnyValue:StringEquals": {
          "kms:EncryptionContextKeys": [
            "aws:sso:instance-arn",
            "aws:identitystore:identitystore-arn"
          ]
        }
      }
    }
  ]
}
```

Cette politique contient cinq déclarations. Le tableau suivant décrit le rôle de chaque instruction.


| Instruction | Objectif | 
| --- | --- | 
| AllowIdentityCenterAdminAccounts | Accorde des autorisations clés KMS complètes au compte de gestion IAM Identity Center et au compte d'administration déléguée. Cela inclut des actions de gestion clés telles que la modification de la politique des clés et la planification de la suppression des clés. Les administrateurs de ces comptes peuvent gérer et utiliser la clé s'ils disposent des autorisations requises dans leurs politiques basées sur l'identité. | 
| AllowIdentityCenterAndIdentityStoreToDescribeKey | Permet aux responsables du service IAM Identity Center et Identity Store de récupérer les métadonnées clés. Cela est nécessaire pour les opérations de service qui valident la clé sans effectuer de chiffrement ou de déchiffrement. Cette aws:SourceAccount condition permet de garantir que seule votre instance IAM Identity Center peut utiliser votre clé KMS. | 
| AllowIdentityCenterAndIdentityStoreToUseKey | Permet aux responsables du service IAM Identity Center et Identity Store d'utiliser la clé pour des opérations de chiffrement telles que le chiffrement, le déchiffrement et le rechiffrement des données. Cette aws:SourceAccount condition permet de garantir que seule votre instance IAM Identity Center peut utiliser votre clé KMS. | 
| AllowOrgPrincipalsViaIdentityCenterAndIdentityStore | Permet aux responsables IAM de votre AWS organisation de déchiffrer les données via les services IAM Identity Center et Identity Store. Cela couvre les administrateurs d'applications qui interagissent avec les AWS services intégrés à IAM Identity Center à l'aide de sessions d'accès direct (FAS). | 
| AllowManagedApps | Permet aux applications AWS gérées de déchiffrer les données protégées par votre clé KMS via IAM Identity Center et Identity Store. | 

Utilisez la déclaration de politique IAM suivante [Étape 4 : Configuration des politiques IAM pour l'utilisation de la clé KMS entre comptes](identity-center-customer-managed-keys.md#configure-iam-policies-kms-key) pour autoriser les administrateurs délégués à utiliser la clé KMS via le service IAM Identity Center. APIs Remplacez l'exemple d'ARN de clé par l'ARN de votre clé KMS réel. La région générique de l'exemple contient toutes les répliques d'une clé KMS multirégionale.

Pour les cas d'utilisation entre comptes autres que l'administration d'IAM Identity Center, tels que l'authentification unique pour les instances Amazon EC2 ou l'administration d'applications AWS gérées, limitez la portée à l'instruction `kms:Decrypt` uniquement et `AllowCrossAccountKMSKeyUse` supprimez-la. `AllowListKMSKeyAliases`

```
{
  "Version": "2012-10-17", 		 	 	 
  "Statement": [
    {
      "Sid": "AllowCrossAccountKMSKeyUse",
      "Effect": "Allow",
      "Action": [
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:GenerateDataKeyWithoutPlaintext",
        "kms:DescribeKey"
      ],
      "Resource": [
        "arn:aws:kms:{{*}}:{{111122223333}}:key/{{mrk-1234abcd-12ab-34cd-56ef-1234567890ab}}"
      ]
    },
    {
      "Sid": "AllowListKMSKeyAliases",
      "Effect": "Allow",
      "Action": "kms:ListAliases",
      "Resource": "*"
    }
  ]
}
```