

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# IAM アイデンティティセンターでのデータ保護
<a name="data-protection"></a>

 責任 AWS [共有モデルは](https://aws.amazon.com/compliance/shared-responsibility-model/)、IAM AWS アイデンティティセンターでのデータ保護に適用されます。このモデルで説明されているように、 AWS はすべての AWS クラウドを実行するグローバルインフラストラクチャを保護する責任があります。ユーザーは、このインフラストラクチャでホストされるコンテンツに対する管理を維持する責任があります。また、使用する AWS サービスのセキュリティ設定および管理タスクについても責任を負います。データプライバシーの詳細については、「[データプライバシーのよくある質問](https://aws.amazon.com/compliance/data-privacy-faq/)」を参照してください。欧州でのデータ保護の詳細については、*AWS セキュリティブログ*に投稿された「[AWS 責任共有モデルおよび GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/)」ブログを参照してください。

 次の方法でデータを保護することをお勧めします。
+  IAM アイデンティティセンターで多要素認証 (MFA) を使用します。
+  TLS を使用して AWS リソースと通信します。TLS 1.2 は必須ですが、TLS 1.3 を推奨します。
+  で API とユーザーアクティビティのログ記録を設定します AWS CloudTrail。CloudTrail 証跡を使用して AWS アクティビティをキャプチャする方法については、「 *AWS CloudTrail ユーザーガイド*」の[CloudTrail 証跡の使用](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html)」を参照してください。
+  AWS 暗号化ソリューションと、 サービス内のすべての AWS デフォルトのセキュリティコントロールを使用します。

 お客様の E メールアドレスなどの極秘または機密情報を、タグ、または **[名前]** フィールドなどの自由形式のテキストフィールドに含めないことを強くお勧めします。これには、コンソール AWS IAM アイデンティティセンター、API、または AWS SDKs を使用して AWS CLIまたは他の AWS のサービスを使用する場合も含まれます。タグ、または名前に使用される自由記述のテキストフィールドに入力したデータは、診断ログに使用される場合があります。

## 転送中の暗号化
<a name="encryption-in-transit"></a>

 IAM アイデンティティセンターは、Transport Layer Security (TLS) 1.2 または TLS 1.3 暗号化プロトコルを使用してすべてのネットワーク間データを自動的に暗号化することにより、サービスに出入りする転送中のデータを保護します。IAM で認証され、IAM アイデンティティセンター API、アイデンティティセンター API、または OIDC API に送信される直接 HTTPS リクエストは、[AWS 署名バージョン 4 アルゴリズム](https://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html)を使用して署名され、安全な接続を確立します。

## データプライバシー
<a name="data-privacy"></a>

 IAM アイデンティティセンターを利用すれば、組織のデータを常に管理できます。IAM Identity Center に保存されているユーザー ID とグループ ID は、IAM Identity Center で有効にした場合、およびそれらの AWS サービスで必要な場合のみ、[AWS マネージドアプリケーション](https://docs.aws.amazon.com/singlesignon/latest/userguide/awsapps.html)などの他のサービスと共有されます。

 詳細については、「[AWS データプライバシーのよくある質問](https://aws.amazon.com/compliance/data-privacy-faq/)」を参照してください。

## データ保持
<a name="data-retention"></a>

 IAM アイデンティティセンターは、ユーザーとグループの ID、メタデータなどのデータを、サービスから削除するまで保存します。IAM アイデンティティセンターインスタンスを削除すると、それに含まれるデータも削除されます。

# 保管中の暗号化
<a name="encryption-at-rest"></a>

 IAM アイデンティティセンターは、次のキータイプを使用して保管中の顧客データを保護するための暗号化を提供します。
+  **AWS 所有のキー (デフォルトキータイプ)** — IAM Identity Center は、デフォルトでこれらのキーを使用してデータを自動的に暗号化します。それらの使用を表示、管理、監査したり、 AWS 所有キーを他の目的で使用することはできません。IAM アイデンティティセンターは、ユーザーがアクションを実行することなく、データの安全性を維持するためにキー管理を完全に処理します。詳細については、「[https://docs.aws.amazon.com/kms/latest/developerguide/overview.html](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)」の「[AWS 所有キー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk)」を参照してください。
+  **カスタマーマネージドキー** — IAM アイデンティティセンターの組織インスタンスでは、ユーザー属性やグループ属性などのワークフォース ID データの保管時の暗号化用に対称カスタマーマネージドキーを選択できます。これらの暗号化キーを作成、所有、管理します。この暗号化層はユーザーが完全に制御できるため、次のようなタスクを実行できます。
  +  キーへのアクセスを、IAM Identity Center や [AWS マネージドアプリケーション](awsapps.md) など、アクセスを必要とする IAM プリンシパルとその管理者のみに制限するキーポリシーを確立および維持 AWS Organizations します。
  +  クロスアカウントアクセスを含むキーへのアクセスのための IAM ポリシーの確立と維持 
  +  キーポリシーの有効化と無効化 
  +  キー暗号化マテリアルのローテーション 
  +  キーアクセスを必要とするデータへのアクセスの監査 
  +  タグを追加する 
  +  キーエイリアスの作成 
  +  削除のためのキースケジューリング 

 IAM アイデンティティセンターでカスタマーマネージド KMS キーを実装する方法については、「[でのカスタマーマネージド KMS キーの実装 AWS IAM アイデンティティセンター](identity-center-customer-managed-keys.md)」を参照してください。カスタマーマネージドキーの詳細については、「*AWS Key Management Service デベロッパーガイド*」の「[カスタマーマネージドキー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)」を参照してください。

**注記**  
 IAM Identity Center は、 AWS 所有の KMS キーを使用して保管時の暗号化を自動的に有効にし、顧客データを無償で保護します。ただし、カスタマーマネージドキーを使用する場合、 AWS KMS 料金が適用されます。料金の詳細については、「[AWS Key Management Service 料金](https://aws.amazon.com/kms/pricing/)」を参照してください。

 **カスタマーマネージドキーの実装に関する考慮事項:** 
+  **専用キー**: 既存のキーを再利用するのではなく、IAM アイデンティティセンターインスタンスごとに新しいカスタマーマネージド KMS キーを作成することをお勧めします。このアプローチは、職務の分離を明確にし、アクセスコントロール管理を簡素化し、セキュリティ監査をより簡単にします。専用キーを使用すると、キー変更の影響を単一の IAM アイデンティティセンターインスタンスに制限することで、リスクも軽減されます。
+  **複数の にまたがる IAM アイデンティティセンターの使用 AWS リージョン**: IAM アイデンティティセンターインスタンスを追加にレプリケートする場合は AWS リージョン、保管時の暗号化にカスタマーマネージド KMS キーを使用する必要があります。デフォルトの AWS 所有 KMS キータイプは、マルチリージョン IAM アイデンティティセンターではサポートされていません。詳細については、「[複数の で IAM Identity Center を使用する AWS リージョン](multi-region-iam-identity-center.md)」を参照してください。

**注記**  
 IAM アイデンティティセンターは、従業員 ID データの暗号化に[エンベロープ暗号化](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/concepts.html#envelope-encryption)を使用します。KMS キーは、データの暗号化に実際に使用されるデータキーを暗号化するラッピングキーの役割を果たします。

KMS の詳細については、 AWS [AWS 「Key Management Service とは」を参照してください。](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)

## IAM アイデンティティセンターの暗号化コンテキスト
<a name="iam-identity-center-encryption-context"></a>

 [暗号化コンテキスト](https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html)は、データに関する追加のコンテキスト情報を含むシークレット以外のキーと値のペアのオプションセットです。 は、認証された暗号化をサポートする追加の認証済みデータとして暗号化コンテキスト AWS KMS を使用します。データを暗号化するリクエストに暗号化コンテキストを含めると、 は暗号化コンテキストを暗号化されたデータに AWS KMS バインドします。データを復号化するには、そのリクエストに (暗号化時と) 同じ暗号化コンテキストを含めます。暗号化の詳細については、「[AWS KMS デベロッパーガイド](https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html)」を参照してください。

 IAM アイデンティティセンターは、aws:sso:instance-arn、aws:identitystore:identitystore-arn、tenant-key-id の暗号化コンテキストキーを使用します。たとえば、[IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/APIReference/welcome.html) AWS KMS API によって呼び出される API オペレーションには、次の暗号化コンテキストが表示されます。

```
"encryptionContext": {
    "tenant-key-id": "ssoins-1234567890abcdef",
    "aws:sso:instance-arn": "arn:aws:sso:::instance/ssoins-1234567890abcdef"
}
```

 次の暗号化コンテキストは、Identity Store AWS KMS API によって呼び出される API オペレーションに表示されます。 [https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/welcome.html](https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/welcome.html)

```
"encryptionContext": {
    "tenant-key-id": "12345678-1234-1234-1234-123456789012",
    "aws:identitystore:identitystore-arn": "arn:aws:identitystore::123456789012:identitystore/d-1234567890"
}
```

## 暗号化コンテキストを使用して顧客マネージドキーへのアクセスを制御する
<a name="using-encryption-context-to-control-access-to-your-customer-managed-key"></a>

 対称カスタマーマネージドキー (CMK) へのアクセスを制御するための条件として、キーポリシーと IAM ポリシー内の暗号化コンテキストを使用することもできます。[高度な KMS キーポリシーステートメント](advanced-kms-policy.md) の一部のキーポリシーテンプレートには、キーが特定の IAM アイデンティティセンターインスタンスでのみ使用されるように、このような条件が含まれています。

## IAM アイデンティティセンターの暗号化キーのモニタリング
<a name="monitoring-your-encryption-keys-for-iam-identity-center"></a>

 カスタマーマネージド KMS キーを IAM アイデンティティセンターインスタンスで使用する場合、[AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) または [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) を使用して、IAM アイデンティティセンターから AWS KMSに送信されたリクエストを追跡できます。IAM アイデンティティセンターが呼び出す KMS API オペレーションは、[ステップ 2: KMS キーポリシーステートメントを準備する](identity-center-customer-managed-keys.md#choose-kms-key-policy-statements) に記載されています。これらの API オペレーションの CloudTrail イベントには暗号化コンテキストが含まれており、IAM Identity Center インスタンスによって呼び出された AWS KMS API オペレーションをモニタリングして、カスタマーマネージドキーによって暗号化されたデータにアクセスできます。

 AWS KMS API オペレーションの CloudTrail イベントの暗号化コンテキストの例: 

```
{
"requestParameters": {
        "encryptionAlgorithm": "SYMMETRIC_DEFAULT",
        "encryptionContext": {
            "aws:sso:instance-arn": "arn:aws:sso:::instance/ssoins-xxxxxxxxxxxxxxxx",
            "tenant-key-id": "ssoins-xxxxxxxxxxxxxxxx"
        }
    }
}
```

## AWS マネージドアプリケーションの IAM Identity Center ID 属性のストレージ、暗号化、削除
<a name="data-encryption-deletion-considerations"></a>

 AWS Systems Manager や Amazon CodeCatalyst など AWS IAM アイデンティティセンター、デプロイする一部の AWS マネージドアプリケーションは、IAM Identity Center の特定のユーザー属性とグループ属性を独自のデータストアに保存します。IAM アイデンティティセンターのカスタマーマネージド KMS キーによる保管時の暗号化は、 AWS マネージドアプリケーションに保存されている IAM アイデンティティセンターのユーザー属性とグループ属性には適用されません。 AWS マネージドアプリケーションは、保存するデータに対してさまざまな暗号化方法をサポートしています。最後に、IAM アイデンティティセンター内のユーザー属性とグループ属性を削除すると、これらの AWS マネージドアプリケーションは、削除後にこの情報を IAM アイデンティティセンターに引き続き保存することがあります。アプリケーションに保存されているデータの暗号化とセキュリティについては、 AWS マネージドアプリケーションのユーザーガイドを参照してください。

# でのカスタマーマネージド KMS キーの実装 AWS IAM アイデンティティセンター
<a name="identity-center-customer-managed-keys"></a>

カスタマーマネージドキーは、ユーザーが作成、所有、管理する AWS Key Management Service キーです。IAM Identity Center で保管時の暗号化用のカスタマーマネージド KMS AWS キーを実装するには、次の手順に従います。

**重要**  
 一部の AWS マネージドアプリケーションは、カスタマーマネージド AWS KMS キーで設定された IAM Identity Center では使用できません。「[AWS IAM Identity Center で使用できる マネージドアプリケーション](awsapps-that-work-with-identity-center.md)」を参照してください。

1.  [ステップ 1: 組織のユースケースを特定する](#identify-use-cases) - KMS キーを使用するための正しいアクセス許可を定義するには、組織全体の関連するユースケースを特定する必要があります。KMS キーのアクセス許可は、適切な IAM プリンシパルが特定のユースケースで KMS キーを使用できるように連携する KMS キーポリシーステートメントと ID ベースのポリシーで構成されます。

1.  [ステップ 2: KMS キーポリシーステートメントを準備する](#choose-kms-key-policy-statements) - ステップ 1 で特定したユースケースに基づいて関連する KMS キーポリシーステートメントテンプレートを選択し、必要な識別子と IAM プリンシパル名を入力します。ベースライン KMS キーポリシーステートメントから開始し、セキュリティポリシーで必要な場合は、「アドバンスト KMS キーポリシーステートメント」の説明に従って絞り込みます。

1.  [ステップ 3: カスタマーマネージド KMS キーを作成する](#create-customer-managed-kms-key) - IAM Identity Center 要件を満たす AWS KMS で KMS キーを作成し、ステップ 2 で準備した KMS キーポリシーステートメントを KMS キーポリシーに追加します。

1.  [ステップ 4: KMS キーをクロスアカウントで使用するように IAM ポリシーを設定する](#configure-iam-policies-kms-key) - ステップ 1 で特定したユースケースに基づいて関連する IAM ポリシーステートメントテンプレートを選択し、キー ARN を入力して使用できるように準備します。次に、準備された IAM ポリシーステートメントをプリンシパルの IAM ポリシーに追加することで、特定ユースケースそれぞれの IAM プリンシパルがアカウント間で KMS キーを使用できるようにします。

1.  [ステップ 5: IAM アイデンティティセンターで KMS キーを設定する](#configure-kms-key-in-iam-identity-center) - IAM アイデンティティセンターインスタンスのカスタマーマネージド KMS キーを有効にして、保管時の暗号化に使用します。

## ステップ 1: 組織のユースケースを特定する
<a name="identify-use-cases"></a>

 カスタマーマネージド KMS キーを作成して設定する前に、ユースケースを特定し、必要な KMS キーのアクセス許可を準備します。KMS キーポリシーの詳細については、「[AWS KMS デベロッパーガイド](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)」を参照してください。

IAM アイデンティティセンターサービス API を呼び出す IAM プリンシパルには、 アクセス許可が必要です。たとえば、委任管理者は、アクセス許可セットポリシーを使用してこれらの API を使用するアクセス許可を付与できます。IAM アイデンティティセンターがカスタマーマネージドキーで設定されている場合、IAM プリンシパルには、IAM アイデンティティセンターサービス API を介して KMS API を使用するアクセス許可も必要です。これらの KMS API アクセス許可は、KMS キーポリシーと IAM プリンシパルに関連付けられた IAM ポリシーの 2 つの場所で定義します。

KMS キーのアクセス許可は、以下で構成されます。

1. [ステップ 3: カスタマーマネージド KMS キーを作成する](#create-customer-managed-kms-key) での作成時に KMS キーで指定した KMS キーポリシーステートメント。

1. KMS キーの作成後に [ステップ 4: KMS キーをクロスアカウントで使用するように IAM ポリシーを設定する](#configure-iam-policies-kms-key) で指定した IAM プリンシパルの IAM ポリシーステートメント。

 次の表は、KMS キーを使用するためのアクセス許可を必要とする関連するユースケースと IAM プリンシパルを示しています。


|  ユースケース  |  KMS キーを使用するためのアクセス許可が必要な IAM プリンシパル  |  必須/オプション  | 
| --- | --- | --- | 
|  IAM Identity Center AWS の使用  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/singlesignon/latest/userguide/identity-center-customer-managed-keys.html)  | 必須 | 
|  IAM Identity Center での AWS マネージドアプリケーションの使用  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/singlesignon/latest/userguide/identity-center-customer-managed-keys.html)  | オプションです。 | 
|  有効にした IAM Identity Center AWS インスタンス AWS Control Tower での の使用  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/singlesignon/latest/userguide/identity-center-customer-managed-keys.html)  | オプションです。 | 
|  IAM Identity Center を使用した Amazon EC2 AWS インスタンスへの SSO  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/singlesignon/latest/userguide/identity-center-customer-managed-keys.html)  | オプションです。 | 
|  カスタマーマネージドアプリケーション、アクセス許可セットプロビジョニングワークフロー、 AWS Lambda 関数など、IAM プリンシパルを使用して IAM アイデンティティセンターサービス API を呼び出すその他のユースケース  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/singlesignon/latest/userguide/identity-center-customer-managed-keys.html)  | オプションです。 | 

**注記**  
 テーブルにリストされている複数の IAM プリンシパルには、KMS API AWS アクセス許可が必要です。ただし、IAM Identity Center でユーザーとグループのデータを保護するために、IAM Identity Center と Identity Store のサービスのみが KMS API AWS を直接呼び出します。

## ステップ 2: KMS キーポリシーステートメントを準備する
<a name="choose-kms-key-policy-statements"></a>

組織に関連するユースケースを特定したら、対応する KMS キーポリシーステートメントを準備できます。

1.  組織のユースケースに一致する KMS キーポリシーステートメントを選択します。ベースラインポリシーテンプレートから始めます。セキュリティ要件に基づいてより具体的なポリシーが必要な場合は、「[高度な KMS キーポリシーステートメント](advanced-kms-policy.md)」の例を使用してポリシーステートメントを変更できます。この決定に関するガイダンスについては、「[ベースラインとアドバンスト KMS キーポリシーステートメントの選択に関する考慮事項](considerations-for-customer-managed-kms-keys-advanced.md#kms-policy-considerations-advanced-vs-baseline)」を参照してください。さらに、[ベースライン KMS キーと IAM ポリシーステートメント](baseline-KMS-key-policy.md) の各ベースラインセクションには、関連する考慮事項が含まれています。

1.  関連するポリシーをエディタにコピーし、必要な識別子と IAM プリンシパル名を KMS キーポリシーステートメントに挿入します。参照される識別子の値を見つける方法については、「[必要な識別子の場所](#find-the-required-identifiers)」を参照してください。

以下は、各ユースケースのベースラインポリシーテンプレートです。KMS AWS キーを使用するには、IAM Identity Center の最初のアクセス許可セットのみが必要です。ユースケース固有の追加情報については、該当するサブセクションを確認することをお勧めします。
+  [IAM アイデンティティセンターを使用するためのベースライン KMS キーポリシーステートメント (必須)](baseline-KMS-key-policy.md#baseline-kms-key-policy-statements-for-use-of-iam-identity-center-mandatory) 
+  [AWS マネージドアプリケーションを使用するためのベースライン KMS キーと IAM ポリシーステートメント](baseline-KMS-key-policy.md#baseline-kms-key-policy-statements-for-use-of-aws-managed-applications) 
+  [を使用するためのベースライン KMS キーステートメント AWS Control Tower](baseline-KMS-key-policy.md#baseline-kms-key-policy-statements-for-specific-use-cases) 
+  [IAM Identity Center を Amazon EC2 インスタンスで使用するためのベースライン KMS キーと IAM ポリシーステートメント](baseline-KMS-key-policy.md#baseline-kms-key-policy-statements-for-use-of-sso-to-amazon-ec2-windows-instances) 
+  [IAM アイデンティティセンターでカスタムワークフローを使用するためのベースライン KMS キーと IAM ポリシーステートメント](baseline-KMS-key-policy.md#baseline-kms-key-policy-statements-for-use-of-custom-workflows-with-iam-identity-center) 

**重要**  
 IAM アイデンティティセンターで既に使用されているキーの KMS キーポリシーを変更するときは注意が必要です。IAM アイデンティティセンターは、最初に KMS キーを設定するときに暗号化と復号のアクセス許可を検証しますが、それ以降のポリシー変更を検証することはできません。必要なアクセス許可を誤って削除すると、IAM アイデンティティセンターの通常のオペレーションが中断される可能性があります。IAM アイデンティティセンターのカスタマーマネージドキーに関連する一般的なエラーのトラブルシューティングのガイダンスについては、「[でのカスタマーマネージドキーのトラブルシューティング AWS IAM アイデンティティセンター](cmk-related-errors.md)」を参照してください。

**注記**  
 IAM および関連する ID ストアには、カスタマーマネージド KMS キーを使用するためのサービスレベルのアクセス許可が必要です。この要件は、サービス認証情報を使用して IAM Identity Center サービス APIsを呼び出す AWS マネージドアプリケーションにも適用されます。[転送アクセスセッション](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html)で IAM アイデンティティセンターサービス API が呼び出されるその他のユースケースでは、開始する IAM プリンシパル (管理者など) にのみ KMS キーのアクセス許可が必要です。特に、 AWS アクセスポータルと AWS マネージドアプリケーションを使用するエンドユーザーは、それぞれのサービスを通じて付与されるため、直接 KMS キーのアクセス許可を必要としません。

## ステップ 3: カスタマーマネージド KMS キーを作成する
<a name="create-customer-managed-kms-key"></a>

カスタマーマネージドキーは、 AWS マネジメントコンソールまたは AWS KMS APIs を使用して作成できます。キーの作成中に、ステップ 2 で準備した KMS キーポリシーステートメントを KMS キーポリシーに追加します。デフォルトの KMS キーポリシーに関するガイダンスを含む詳細な手順については、「[AWS Key Management Service デベロッパーガイド](https://docs.aws.amazon.com/kms/latest/developerguide/)」を参照してください。

キーは次の要件を満たしている必要があります。
+ KMS キーは IAM Identity Center インスタンスと同じ AWS リージョンにある必要があります
+ マルチリージョンキーまたは単一リージョンキーのいずれかを選択できます。ただし、複数の AWS リージョン で IAM Identity Center を使用する場合は、マルチリージョン KMS キーを作成する必要があります。シングルリージョン KMS キーをマルチリージョン KMS キーに変換することはできないため、シングルリージョン KMS キーを使用する特定の要件がない限り、マルチリージョン KMS キーから始めることをお勧めします。
+ KMS キーは、「暗号化と復号」の用途に設定された対称キーである必要があります
+ KMS キーは、IAM Identity Center の組織インスタンスと同じ AWS Organizations 管理アカウントに存在する必要があります

**注記**  
この KMS キーを IAM アイデンティティセンターをレプリケートするリージョンにレプリケートする場合は、まずこのセクションのセットアップを完了してから、「」のガイダンスに従うことをお勧めします。 [IAM Identity Center を追加のリージョンにレプリケートする](replicate-to-additional-region.md)

## ステップ 4: KMS キーをクロスアカウントで使用するように IAM ポリシーを設定する
<a name="configure-iam-policies-kms-key"></a>

IAM Identity Center 委任管理者など、別の AWS アカウントの IAM Identity Center サービス APIs を使用する IAM プリンシパルには、これらの APIs を介した KMS キーの使用を許可する IAM ポリシーステートメントも必要です。

ステップ 1 で特定した各ユースケースについて:

1. ベースライン KMS キーと IAM ポリシーステートメントで、関連する IAM ポリシーステートメントテンプレートを見つけます。

1. テンプレートをエディタにコピーし、キー ARN を入力します。この ARN は、ステップ 3 の KMS キーの作成後に使用可能になりました。キー ARN 値を見つける方法については、「[必要な識別子の場所](#find-the-required-identifiers)」を参照してください。

1.  で AWS マネジメントコンソール、ユースケースに関連付けられている IAM プリンシパルの IAM ポリシーを見つけます。このポリシーの場所は、ユースケースとアクセス許可の付与方法によって異なります。
   + IAM で直接付与されるアクセスについては、IAM コンソールで IAM ロールなどの IAM プリンシパルを見つけることができます。
   + IAM アイデンティティセンターを通じて付与されたアクセスについては、IAM アイデンティティセンターコンソールで関連するアクセス許可セットを見つけることができます。

1. ユースケース固有の IAM ポリシーステートメントを IAM ロールに追加し、変更を保存します。

**注記**  
ここで説明する IAM ポリシーは、ID ベースのポリシーです。このようなポリシーは IAM ユーザー、グループ、ロールにアタッチできますが、可能な場合は IAM ロールを使用することをお勧めします。IAM ロールと IAM ユーザーの詳細については、「IAM ユーザーガイド」を参照してください。

### 一部の AWS マネージドアプリケーションの追加設定
<a name="additional-config-in-some-aws-apps"></a>

一部の AWS マネージドアプリケーションでは、アプリケーションが IAM Identity Center サービス APIs を使用できるようにサービスロールを設定する必要があります。組織が IAM Identity Center で AWS マネージドアプリケーションを使用している場合は、デプロイされたアプリケーションごとに次の手順を実行します。

1. IAM アイデンティティセンターでアプリケーションを使用するための KMS キー関連のアクセス許可を含めるようにアクセス許可が更新されているかどうかを確認するには、アプリケーションのユーザーガイドを参照してください。

1. その場合は、アプリケーションのユーザーガイドの指示に従ってアクセス許可を更新し、アプリケーションのオペレーションが中断されないようにします。

**注記**  
 AWS マネージドアプリケーションがこれらのアクセス許可を使用しているかどうか不明な場合は、デプロイされたすべての AWS マネージドアプリケーションのユーザーガイドを確認することをお勧めします。この設定を実行する必要があるのは、設定が必要なアプリケーションごとに 1 回だけです。

## ステップ 5: IAM アイデンティティセンターで KMS キーを設定する
<a name="configure-kms-key-in-iam-identity-center"></a>

**重要**  
このステップに進む前に:  
 AWS マネージドアプリケーションがカスタマーマネージド KMS キーと互換性があることを確認します。互換性のあるアプリケーションのリストについては、「[AWS IAM アイデンティティセンターで使用できるマネージドアプリケーション](https://docs.aws.amazon.com/singlesignon/latest/userguide/awsapps-that-work-with-identity-center.html)」を参照してください。互換性のないアプリケーションがある場合は、続行しないでください。
KMS キーを使用するために必要なアクセス許可を設定します。適切なアクセス許可がない場合、このステップは IAM アイデンティティセンターの管理、 AWS マネージドアプリケーションの使用、および KMS キーアクセス許可を必要とするその他のユースケースに失敗または中断する可能性があります。詳細については、「[ステップ 1: 組織のユースケースを特定する](#identify-use-cases)」を参照してください。
IAM ロールを使用して IAM Identity Center サービス APIs を呼び出す AWS マネージドアプリケーションとカスタマーマネージドアプリケーションのアクセス許可で、IAM Identity Center サービス APIs を介した KMS キーの使用も許可されていることを確認します。一部の AWS マネージドアプリケーションでは、これらの APIs を使用するためのサービスロールなどのアクセス許可を設定する必要があります。特定の KMS キーアクセス許可を追加する必要があるかどうかを確認するには、デプロイされた各 AWS マネージドアプリケーションのユーザーガイドを参照してください。

### IAM アイデンティティセンターの新しい組織インスタンスを有効にするときに KMS キーを指定する
<a name="specify-kms-key-new-instance"></a>

IAM アイデンティティセンターの新しい組織インスタンスを有効にする場合、セットアップ時にカスタマーマネージド KMS キーを指定できます。これにより、インスタンスは最初から保管時の暗号化にキーを使用します。開始する前に、「[カスタマーマネージド KMS キーと高度な KMS キーポリシーに関する考慮事項](considerations-for-customer-managed-kms-keys-advanced.md)」を参照してください。

1. **[IAM アイデンティティセンターの有効化]** ページで、**[保管時の暗号化]** セクションを展開します。

1. [**暗号化の管理**] を選択します。

1. **[カスタマーマネージドキー]** を選択します。

1. **[新規の KMS キーの作成]** で、次のいずれかの操作を行います。

   1. **[KMS キーから選択]** を選択し、ドロップダウンリストから作成したキーを選択します。

   1. **[KMS キー ARN を入力]** を選択し、キーの完全な ARN を入力します。

1. **[保存]** を選択します。

1. **[有効化]** を選択してセットアップを完了します。

詳細については、「[IAM Identity Center の有効化](https://docs.aws.amazon.com/singlesignon/latest/userguide/enable-identity-center.html)」を参照してください。

### IAM アイデンティティセンターの既存の組織インスタンスのキー設定を変更する
<a name="change-existing-instance-kms"></a>

カスタマーマネージド KMS キーは、いつでも別のキーに変更したり、 AWS 所有キーに切り替えることができます。

------
#### [ Console ]

 **KMS キー設定を変更するには** 

1. [ https://console.aws.amazon.com/singlesignon/](https://console.aws.amazon.com/singlesignon/) で IAM Identity Center コンソールを開きます。

1. ナビゲーションペインで **[設定]** を選択します。

1. **[追加の設定]** タブを選択します。

1. [**暗号化の管理**] を選択します。

1. 次のいずれかを選択します。

   1. **カスタマーマネージドキー** - ドロップダウンから別のカスタマーマネージドキーを選択するか、新しいキー ARN を入力します。

   1. **AWS 所有キー** - デフォルトの暗号化オプションに切り替えます。

1. **[保存]** を選択します。

------
#### [ AWS CLI ]

 **KMS カスタマーマネージドキーを使用するように IAM アイデンティティセンターの既存の組織インスタンスを変更するには** 

```
aws sso-admin update-instance \
    --instance-arn arn:aws:sso:::instance/ssoins-1234567890abcdef \
    --encryption-configuration \
        KeyType=CUSTOMER_MANAGED_KEY,KmsKeyArn=arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab
```

 ** AWS 所有キーを使用するように IAM アイデンティティセンターの既存の組織インスタンスを変更するには** 

```
aws sso-admin update-instance \
    --instance-arn arn:aws:sso:::instance/ssoins-1234567890abcdef \
    --encryption-configuration KeyType=AWS_OWNED_KMS_KEY
```

------

 **カスタマーマネージドキーに関する考慮事項** 
+ IAM アイデンティティセンターオペレーションの KMS キー設定を更新しても、IAM アイデンティティセンターのアクティブなユーザーセッションには影響しません。このプロセス中は、 AWS アクセスポータル、IAM Identity Center コンソール、IAM Identity Center サービス APIs引き続き使用できます。
+ 新しい KMS キーに切り替えると、IAM アイデンティティセンターはキーを暗号化と復号に正常に使用できることを検証します。キーポリシーまたは IAM ポリシーの設定中にエラーが発生した場合、コンソールに説明エラーメッセージが表示され、以前の KMS キーは引き続き使用されます。
+ デフォルトの年間 KMS キーローテーションは自動的に行われます。[キーローテーション](https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html)、[AWS KMS キーのモニタリング](https://docs.aws.amazon.com/kms/latest/developerguide/monitoring-overview.html)、[キー削除へのアクセスのコントロール](https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys-adding-permission.html)などのトピックについては、 「[AWS KMS デベロッパーガイド](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)」を参照してください。

**重要**  
 IAM アイデンティティセンターインスタンスで使用されているカスタマーマネージド KMS キーが、KMS キーポリシーが正しくないために削除、無効化、またはアクセスできない場合、ワークフォースユーザーと IAM アイデンティティセンター管理者は IAM アイデンティティセンターを使用できません。アクセスの喪失は、状況に応じて、一時的 (キーポリシーを修正できる) または永続的 (削除されたキーを復元できない) にすることができます。KMS キーの削除や無効化など、重要なオペレーションへの[アクセスを制限する](https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys-adding-permission.html)ことをお勧めします。また、IAM Identity Center にアクセスできない場合に特権ユーザーが にアクセスできる AWS ように、組織で[AWS ブレークグラスアクセス手順](https://docs.aws.amazon.com/wellarchitected/latest/devops-guidance/ag.sad.5-implement-break-glass-procedures.html)を設定することをお勧めします。

## 必要な識別子の場所
<a name="find-the-required-identifiers"></a>

 カスタマーマネージド KMS キーのアクセス許可を設定する場合、キーポリシーと IAM ポリシーステートメントテンプレートを完了するには、特定の AWS リソース識別子が必要です。必要な識別子 (組織 ID など) と IAM プリンシパル名を KMS キーポリシーステートメントに挿入します。

 以下は、 AWS マネジメントコンソールでこれらの識別子を見つけるためのガイドです。

 **IAM アイデンティティセンター Amazon リソースネーム (ARN) と ID ストア ARN** 

 IAM Identity Center インスタンスは、arn:aws:sso:::instance/ssoins-1234567890abcdef などの独自の ARN を持つ AWS リソースです。ARN は、「サービス認可リファレンス」の「IAM アイデンティティセンターリソースタイプ」セクションに記載されているパターンに従います。

 すべての IAM アイデンティティセンターインスタンスには、ユーザー ID とグループ ID を保存する ID ストアが関連付けられています。ID ストアには、ID ストア ID と呼ばれる一意の識別子 (例: d-123456789a) があります。ARN は、「[サービス認可リファレンス](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiamidentitycenterdirectory.html)」の「ID ストアリソースタイプ」セクションに記載されているパターンに従います。

 ARN と ID ストア ID の両方の値は、IAM アイデンティティセンターの設定ページで確認できます。ID ストア ID は ID ソースタブにあります。

 **AWS Organizations ID** 

 キーポリシーで組織 ID (o-exampleorg1 など) を指定する場合は、IAM アイデンティティセンターと組織コンソールの設定ページでその値を確認できます。ARN は、「サービス認可リファレンス」の「組織リソースタイプ」セクションに記載されているパターンに従います。

 **KMS キー ARN** 

 KMS キーの ARN は AWS KMS コンソールで確認できます。左側のカスタマーマネージドキーを選択し、ARN を検索するキーをクリックすると、全般設定セクションに表示されます。ARN は、「サービス認可リファレンス」の AWS KMS 「リソースタイプ」セクションに記載されているパターンに従います。

 のキーポリシー AWS KMS とトラブルシューティング AWS KMS のアクセス許可の詳細については、「 AWS Key Management Service デベロッパーガイド」を参照してください。IAM ポリシーとその JSON 表現の詳細については、IAM ユーザーガイドを参照してください。

# ベースライン KMS キーと IAM ポリシーステートメント
<a name="baseline-KMS-key-policy"></a>

ここで提供されるベースライン KMS キーと ID ベースのポリシーは、一般的な要件の基盤として機能します。また、KMS キーが特定の IAM アイデンティティセンターインスタンスまたは AWS マネージドアプリケーションにのみアクセス可能であることを確認するなど、より詳細なアクセスコントロールを提供する [高度な KMS キーポリシーステートメント](advanced-kms-policy.md) を確認することをお勧めします。高度な KMS キーポリシーステートメントを使用する前に、「[ベースラインとアドバンスト KMS キーポリシーステートメントの選択に関する考慮事項](considerations-for-customer-managed-kms-keys-advanced.md#kms-policy-considerations-advanced-vs-baseline)」を確認してください。

以下のセクションでは、各ユースケースのベースラインポリシーステートメントについて説明します。ユースケースに一致するセクションを展開し、KMS キーポリシーステートメントをコピーします。次に、 に戻ります[ステップ 2: KMS キーポリシーステートメントを準備する](identity-center-customer-managed-keys.md#choose-kms-key-policy-statements)。

## IAM アイデンティティセンターを使用するためのベースライン KMS キーポリシーステートメント (必須)
<a name="baseline-kms-key-policy-statements-for-use-of-iam-identity-center-mandatory"></a>

で次の KMS キーポリシーステートメントテンプレートを使用して[ステップ 2: KMS キーポリシーステートメントを準備する](identity-center-customer-managed-keys.md#choose-kms-key-policy-statements)、IAM アイデンティティセンター、関連付けられた ID ストア、および IAM アイデンティティセンター管理者が KMS キーを使用できるようにします。
+ 管理者ポリシーステートメントのプリンシパル要素で、「arn:aws:iam::111122223333:root」の形式を使用して、 AWS 組織管理アカウントと委任管理アカウントである IAM アイデンティティセンターの管理アカウントのアカウントプリンシパルを指定します AWS 。
+ PrincipalArn 要素で、サンプル ARN を IAM アイデンティティセンター管理者の IAM ロールに置き換えます。

  以下のいずれかを指定できます。
  + 特定の IAM ロール ARN:

     ` "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/ap-southeast-2/AWSReservedSSO_permsetname_12345678"` 
  + ワイルドカードパターン (推奨):

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

  ワイルドカード (`*`) を使用すると、アイデンティティセンターが再作成されたアクセス許可セットの新しい一意の識別子を生成するため、アクセス許可セットが削除されて再作成された場合にアクセスが失われるのを防ぎます。実装例については、[カスタム信頼ポリシーの例](referencingpermissionsets.md#custom-trust-policy-example)「」を参照してください。
+ SourceAccount 要素で、IAM アイデンティティセンターアカウント ID を指定します。
+ ID ストアには独自のサービスプリンシパル `identitystore.amazonaws.com` があり、KMS キーの使用を許可する必要があります。
+ これらのポリシーステートメントにより、特定の AWS アカウントの IAM Identity Center インスタンスが KMS キーを使用できるようになります。特定の IAM アイデンティティセンターインスタンスへのアクセスを制限するには、「[高度な KMS キーポリシーステートメント](advanced-kms-policy.md)」を参照してください。 AWS アカウントごとに IAM Identity Center インスタンスを 1 つだけ持つことができます。

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": "*"
    }
  ]
}
```

[ステップ 4: KMS キーをクロスアカウントで使用するように IAM ポリシーを設定する](identity-center-customer-managed-keys.md#configure-iam-policies-kms-key) で次の IAM ポリシーステートメントテンプレートを使用して、IAM アイデンティティセンター管理者が KMS キーを使用できるようにします。
+ `Resource` 要素のキー ARN の例を実際の KMS キー ARN に置き換えます。参照される識別子の値を見つける方法については、「[必要な識別子の場所](identity-center-customer-managed-keys.md#find-the-required-identifiers)」を参照してください。
+ これらの IAM ポリシーステートメントは、IAM プリンシパルへの KMS キーアクセスを許可しますが、リクエストを実行できる AWS サービスを制限しません。KMS キーポリシーは通常、これらのサービス制限を提供します。ただし、この IAM ポリシーに暗号化コンテキストを追加して、特定のアイデンティティセンターインスタンスの使用を制限できます。詳細については、「[高度な KMS キーポリシーステートメント](advanced-kms-policy.md)」を参照してください。

IAM アイデンティティセンターの委任管理者に必要な IAM ポリシーステートメント

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

## AWS マネージドアプリケーションを使用するためのベースライン KMS キーと IAM ポリシーステートメント
<a name="baseline-kms-key-policy-statements-for-use-of-aws-managed-applications"></a>

**注記**  
一部の AWS マネージドアプリケーションは、カスタマーマネージド KMS キーで設定された IAM Identity Center では使用できません。詳細については、「[IAM アイデンティティセンターと連携するAWS マネージドアプリケーション](https://docs.aws.amazon.com/singlesignon/latest/userguide/awsapps-that-work-with-identity-center.html)」を参照してください。

で次の KMS キーポリシーステートメントテンプレート[ステップ 2: KMS キーポリシーステートメントを準備する](identity-center-customer-managed-keys.md#choose-kms-key-policy-statements)を使用して、 AWS マネージドアプリケーションとその管理者の両方が KMS キーを使用できるようにします。
+ PrincipalOrgID および SourceOrgId 条件に AWS Organizations ID を挿入します。参照される識別子の値を見つける方法については、「[必要な識別子の場所](identity-center-customer-managed-keys.md#find-the-required-identifiers)」を参照してください。
+ これらのポリシーステートメントにより、 AWS 組織内の任意の AWS マネージドアプリケーションと任意の IAM プリンシパル (アプリケーション管理者) は、IAM Identity Center と Identity Store を使用して kms:Decrypt を使用できます。これらのポリシーステートメントを特定の AWS マネージドアプリケーション、アカウント、または IAM アイデンティティセンターインスタンスに制限するには、「[高度な KMS キーポリシーステートメント](advanced-kms-policy.md)」を参照してください。

  ` *` を特定の IAM プリンシパルに置き換えることで、特定のアプリケーション管理者へのアクセスを制限できます。アクセス許可セットが再作成されたときに IAM ロール名の変更から保護するには、[カスタム信頼ポリシーの例](referencingpermissionsets.md#custom-trust-policy-example) の アプローチを使用します。詳細については、「[ベースラインとアドバンスト KMS キーポリシーステートメントの選択に関する考慮事項](considerations-for-customer-managed-kms-keys-advanced.md#kms-policy-considerations-advanced-vs-baseline)」を参照してください。

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

[ステップ 4: KMS キーをクロスアカウントで使用するように IAM ポリシーを設定する](identity-center-customer-managed-keys.md#configure-iam-policies-kms-key) で次の IAM ポリシーステートメントテンプレートを使用して、 AWS マネージドアプリケーションの管理者がメンバーアカウントの KMS キーを使用できるようにします。
+ Resource 要素のサンプル ARN を実際の KMS キー ARN に置き換えます。参照される識別子の値を見つける方法については、「[必要な識別子の場所](identity-center-customer-managed-keys.md#find-the-required-identifiers)」を参照してください。
+ 一部の AWS マネージドアプリケーションでは、IAM Identity Center サービス APIs のアクセス許可を設定する必要があります。IAM アイデンティティセンターサービスでカスタマーマネージドキーを設定する前に、これらのアクセス許可で KMS キーの使用も許可されていることを確認してください。特定の KMS キーのアクセス許可要件については、デプロイした各 AWS マネージドアプリケーションのドキュメントを参照してください。

 AWS マネージドアプリケーションの管理者に必要な IAM ポリシーステートメント:

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

## を使用するためのベースライン KMS キーステートメント AWS Control Tower
<a name="baseline-kms-key-policy-statements-for-specific-use-cases"></a>

で次の KMS キーステートメントテンプレート[ステップ 2: KMS キーポリシーステートメントを準備する](identity-center-customer-managed-keys.md#choose-kms-key-policy-statements)を使用して、 AWS Control Tower 管理者が KMS キーを使用できるようにします。
+ Principal 要素で、IAM アイデンティティセンターサービス API へのアクセスに使用される IAM プリンシパルを指定します。IAM プリンシパルの詳細については、「*IAM ユーザーガイド*」の「[プリンシパルの指定](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)」を参照してください。
+ これらのポリシーステートメントにより、 AWS Control Tower 管理者は任意の IAM Identity Center インスタンスを通じて KMS キーを使用できます。ただし、 AWS Control Tower は、同じ組織内の IAM Identity Center の AWS 組織インスタンスへのアクセスを制限します。この制限のため、「」で説明されているように、KMS キーを特定の IAM Identity Center [高度な KMS キーポリシーステートメント](advanced-kms-policy.md) インスタンスにさらに制限する実用的な利点はありません。
+ アクセス許可セットが再作成されたときに IAM ロール名の変更から保護するには、[カスタム信頼ポリシーの例](referencingpermissionsets.md#custom-trust-policy-example)「」で説明されている方法を使用します。

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 は委任管理をサポートしていないため、管理者に IAM ポリシーを設定する必要はありません。

**重要**  
前述のポリシーステートメントでは、 が`AWSControlTowerAdmin`ロールを引き AWS Control Tower 受けるアカウントの自動登録など、 AWS Control Tower サービスマネージドオペレーションについて説明します。ただし、Account Factory を介したアカウントのプロビジョニングや AWS Control Tower APIsの直接呼び出しなど、お客様が開始したオペレーションの場合、 は[フォワードアクセスセッション (FAS)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html) AWS Control Tower を使用し、お客様独自の IAM ロールで動作します。つまり、これらのオペレーションを開始するために使用する IAM ロールには、カスタマーマネージド KMS キーに対する`kms:Decrypt`アクセス許可も必要です。  
上記のステートメントとともに、次の KMS キーポリシー`AWSControlTowerAdmin`ステートメントを追加します。*MyControlTowerRole* を、IAM Identity Center アクセス許可セットロール ( など`AWSReservedSSO_PermissionSetName_*`) AWS Control Tower、自動化用のカスタム IAM ロール、 AWS Control Tower または AWS Service Catalog APIs。

お客様が開始した AWS Control Tower オペレーションの KMS キーポリシーステートメント:

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

## IAM Identity Center を Amazon EC2 インスタンスで使用するためのベースライン KMS キーと IAM ポリシーステートメント
<a name="baseline-kms-key-policy-statements-for-use-of-sso-to-amazon-ec2-windows-instances"></a>

次の の KMS キーポリシーステートメントテンプレート[ステップ 2: KMS キーポリシーステートメントを準備する](identity-center-customer-managed-keys.md#choose-kms-key-policy-statements)を使用して、Amazon EC2 インスタンスへのシングルサインオン (SSO) のユーザーがアカウント間で KMS キーを使用できるようにします。
+ Principal フィールドで、IAM アイデンティティセンターへのアクセスに使用する IAM プリンシパルを指定します。IAM プリンシパルの詳細については、「*IAM ユーザーガイド*」の「[プリンシパルの指定](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)」を参照してください。
+ このポリシーステートメントは、任意の IAM アイデンティティセンターインスタンスに KMS キーの使用を許可します。特定の IAM アイデンティティセンターインスタンスへのアクセスを制限するには、「[高度な KMS キーポリシーステートメント](advanced-kms-policy.md)」を参照してください。
+ アクセス許可セットが再作成されたときに IAM ロール名の変更から保護するには、カスタム信頼ポリシーの例で説明されているアプローチを使用します。

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": "*"
        }
      }
    }
  ]
}
```

で次の IAM ポリシーステートメントテンプレート[ステップ 4: KMS キーをクロスアカウントで使用するように IAM ポリシーを設定する](identity-center-customer-managed-keys.md#configure-iam-policies-kms-key)を使用して、EC2 インスタンスへの SSO が KMS キーを使用できるようにします。

Amazon EC2 インスタンスへの SSO アクセスを許可するために使用している IAM Identity Center の既存のアクセス許可セットに IAM ポリシーステートメントをアタッチします。IAM ポリシーの例については、「*AWS Systems Manager ユーザーガイド*」の「[リモートデスクトッププロトコル接続](https://docs.aws.amazon.com/systems-manager/latest/userguide/fleet-manager-remote-desktop-connections.html#rdp-iam-policy-examples)」を参照してください。
+ Resource 要素のサンプル ARN を実際の KMS キー ARN に置き換えます。参照される識別子の値を見つける方法については、「[必要な識別子の場所](identity-center-customer-managed-keys.md#find-the-required-identifiers)」を参照してください。

アクセス許可セット IAM ポリシー:

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

## IAM アイデンティティセンターでカスタムワークフローを使用するためのベースライン KMS キーと IAM ポリシーステートメント
<a name="baseline-kms-key-policy-statements-for-use-of-custom-workflows-with-iam-identity-center"></a>

で次の KMS キーポリシーステートメントテンプレート[ステップ 2: KMS キーポリシーステートメントを準備する](identity-center-customer-managed-keys.md#choose-kms-key-policy-statements)を使用して、 AWS Organizations 管理アカウントまたは委任管理アカウントのカスタマーマネージドアプリケーションなどのカスタムワークフローが KMS キーを使用できるようにします。カスタマーマネージドアプリケーションへの SAML フェデレーションには、KMS キーのアクセス許可は必要ありません。
+ Principal 要素で、IAM アイデンティティセンターサービス API にアクセスするために使用される IAM プリンシパルを指定します。IAM プリンシパルの詳細については、「*IAM ユーザーガイド*」の「[プリンシパルの指定](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)」を参照してください。
+ これらのポリシーステートメントにより、ワークフローは任意の IAM アイデンティティセンターインスタンスを介して KMS キーを使用できます。特定の IAM アイデンティティセンターインスタンスへのアクセスを制限するには、「[高度な KMS キーポリシーステートメント](advanced-kms-policy.md)」を参照してください。
+ アクセス許可セットが再作成されたときに IAM ロール名の変更から保護するには、[カスタム信頼ポリシーの例](referencingpermissionsets.md#custom-trust-policy-example)「」で説明されている方法を使用します。

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": "*"
        }
      }
    }
  ]
}
```

次の IAM ポリシーステートメントテンプレートを [ステップ 4: KMS キーをクロスアカウントで使用するように IAM ポリシーを設定する](identity-center-customer-managed-keys.md#configure-iam-policies-kms-key) で使用して、カスタムワークフローに関連付けられた IAM プリンシパルがアカウント間で KMS キーを使用できるようにします。IAM ポリシーステートメントを IAM プリンシパルに追加します。
+ Resource 要素のサンプル ARN を実際の KMS キー ARN に置き換えます。参照される識別子の値を見つける方法については、「[必要な識別子の場所](identity-center-customer-managed-keys.md#find-the-required-identifiers)」を参照してください。

IAM ポリシーステートメント (クロスアカウント使用にのみ必要):

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

## 一般的なユースケースの KMS キーポリシーステートメントの例
<a name="kms-key-policy-examples-for-common-use-cases"></a>

### 委任された管理者と AWS マネージドアプリケーションを備えた IAM Identity Center
<a name="example-identity-center-del-admin-aws-apps"></a>

このセクションでは、管理者と AWS マネージドアプリケーションが委任された IAM Identity Center インスタンスに使用できる KMS キーポリシーステートメントの例を示します。

**重要**  
KMS キーポリシーステートメントは、KMS キーのアクセス許可を必要とする他のユースケースで IAM Identity Center インスタンスが使用されていないことを前提としています。確認するには、すべての[ユースケース](identity-center-customer-managed-keys.md#identify-use-cases)を確認できます。また、マネージドアプリケーションに追加の設定が必要かどうかを確認するには、 AWS 「」を参照してください。 [一部の AWS マネージドアプリケーションの追加設定](identity-center-customer-managed-keys.md#additional-config-in-some-aws-apps)

テーブルの下に KMS キーポリシーステートメントをコピーし、KMS キーポリシーに追加します。この例では、次のサンプル値を使用します。
+  `111122223333` - IAM Identity Center インスタンスのアカウント ID 
+  `444455556666` - 委任された管理アカウント ID 
+  `o-a1b2c3d4e5` - AWS 組織 ID 
+  ` arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_Admin_*` - アクセス許可セット *Admin* からプロビジョニングされた IAM Identity Center 管理者の IAM ロールのワイルドカードパターン。このようなロールには、プライマリリージョンのリージョンコード (この例ではus-east-1) が含まれます。
+  ` arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdmin_*` - アクセス許可セット *DelegatedAdmin* からプロビジョニングされた IAM Identity Center 委任管理者の IAM ロールのワイルドカードパターン。このようなロールには、プライマリリージョンのリージョンコード (この例ではus-east-1) が含まれます。

IAM ロールがアクセス許可セットから生成されていない場合、IAM ロールは などの通常のロールのようになります`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"
        }
      }
    }
  ]
}
```

# 高度な KMS キーポリシーステートメント
<a name="advanced-kms-policy"></a>

 高度な KMS キーポリシーステートメントを使用して、カスタマーマネージド KMS キーのより詳細なアクセスコントロールを実装します。これらのポリシーは、暗号化コンテキスト条件とサービス固有の制限を追加することで、[ベースライン KMS キーと IAM ポリシーステートメント](baseline-KMS-key-policy.md) 上に構築されます。高度な KMS キーポリシーステートメントを使用するかどうかを決定する前に、関連する考慮事項を確認してください。

## 暗号化コンテキストを使用してアクセスを制限する
<a name="using-encryption-context-to-restrict-access"></a>

 キーポリシーステートメントで暗号化コンテキスト条件を指定することで、KMS キーの使用を特定の IAM アイデンティティセンターインスタンスに制限できます。ベースラインキーポリシーステートメントには、このコンテキストに汎用値がすでに含まれています。「\$1」ワイルドカードを特定のアイデンティティセンターインスタンス ARN とアイデンティティセンター ARN に置き換えて、キーが目的のインスタンスでのみ機能することを確認します。KMS キーのクロスアカウント使用のために設定された IAM ポリシーに同じ暗号化コンテキスト条件を追加することもできます。

アイデンティティセンター

```
"StringEquals": {
    "kms:EncryptionContext:aws:sso:instance-arn": "arn:aws:sso:::instance/ssoins-1234567890abcdef"
}
```

ID ストア

```
"StringEquals": {
    "kms:EncryptionContext:aws:identitystore:identitystore-arn": "arn:aws:identitystore::111122223333:identitystore/d-1234567890"
}
```

 これらの識別子の検索に関するヘルプが必要な場合は、[必要な識別子の場所](identity-center-customer-managed-keys.md#find-the-required-identifiers)「」を参照してください。

**注記**  
カスタマーマネージド KMS キーは、IAM アイデンティティセンターの組織インスタンスでのみ使用できます。カスタマーマネージドキーは AWS 組織の管理アカウントに配置する必要があります。これにより、キーが 1 つの IAM Identity Center インスタンスで使用されるようになります。ただし、暗号化コンテキストメカニズムは、単一インスタンスの使用に対する独立した技術的保護を提供します。アイデンティティセンターおよび ID ストアサービスプリンシパル向けの KMS キーポリシーステートメントで `aws:SourceArn` 条件キーを使用することもできます。

### 暗号化コンテキスト条件を実装する際の考慮事項
<a name="considerations-for-implementing-encryption-context-conditions"></a>

暗号化コンテキスト条件を実装する前に、以下の要件を確認してください。
+  **DescribeKey アクション。**暗号化コンテキストは、IAM アイデンティティセンター管理者が使用できる「kms:DescribeKey」アクションに適用できません。KMS キーポリシーを設定するときは、この特定のアクションの暗号化コンテキストを除外して、IAM アイデンティティセンター インスタンスの適切なオペレーションを確保します。
+  **新しいインスタンスのセットアップ。**カスタマーマネージド KMS キーを使用して新しい IAM アイデンティティセンターインスタンスを有効にする場合は、「[カスタマーマネージド KMS キーと高度な KMS キーポリシーに関する考慮事項](considerations-for-customer-managed-kms-keys-advanced.md)」を参照してください。
+  **ID ソースの変更。**Active Directory との間で ID ソースを変更する場合、暗号化コンテキストには特別な注意が必要です。「[ID ソースの変更に関する注意事項](manage-your-identity-source-considerations.md)」を参照してください。

## ポリシーテンプレート
<a name="advanced-policy-templates"></a>

 セキュリティ要件に基づいて、これらの高度なポリシーテンプレートから選択します。きめ細かなアクセスコントロールと、導入する管理オーバーヘッドのバランスを取ります。

ここで説明するトピックは以下の通りです。
+  [特定の IAM アイデンティティセンターインスタンスの読み取り専用使用のための KMS ポリシーステートメント](#kms-policy-statements-for-read-only-use-of-a-specific-iam-identity-center-instance). このセクションでは、IAM アイデンティティセンターへの読み取り専用アクセスに暗号化コンテキストを使用する方法を示します。
+  [AWS マネージドアプリケーションを使用するための改良された KMS キーポリシーステートメント](#refined-kms-key-policy-statements-for-use-of-aws-managed-applications)。 このセクションでは、アプリケーションサービスプリンシパル、アプリケーション ARN、 AWS アカウント ID などの暗号化コンテキストとアプリケーション情報を使用して、 AWS マネージドアプリケーションの KMS キーポリシーを絞り込む方法を示します。

## 特定の IAM アイデンティティセンターインスタンスの読み取り専用使用のための KMS ポリシーステートメント
<a name="kms-policy-statements-for-read-only-use-of-a-specific-iam-identity-center-instance"></a>

 このポリシーは、IAM アイデンティティセンターへの読み取りアクセスのみを必要とする[セキュリティ監査担当者](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/SecurityAudit.html)やその他の担当者が KMS キーを使用することを許可します。

このポリシーを使用するには以下を実行します。

1. 読み取り専用管理者 IAM プリンシパルの例を実際の管理者 IAM プリンシパルに置き換えます。

1. IAM アイデンティティセンターインスタンス ARN の例を実際のインスタンス ARN に置き換えます。

1. サンプルの ID ストア ARN を実際の ID ストア ARN に置き換える

1. [委任管理を使用している場合](https://docs.aws.amazon.com/singlesignon/latest/userguide/delegated-admin.html)は、[ステップ 4: KMS キーをクロスアカウントで使用するように IAM ポリシーを設定する](identity-center-customer-managed-keys.md#configure-iam-policies-kms-key) を参照してください

これらの識別子の値の検索に関するヘルプが必要な場合は、「」を参照してください[必要な識別子の場所](identity-center-customer-managed-keys.md#find-the-required-identifiers)。

テンプレートを値で更新したら、 [ステップ 2: KMS キーポリシーステートメントを準備する](identity-center-customer-managed-keys.md#choose-kms-key-policy-statements) に戻り、必要に応じて追加の KMS キーポリシーステートメントを準備します。

kms:Decrypt アクションだけでは、読み取り専用オペレーションへのアクセスは制限されません。IAM ポリシーは、IAM アイデンティティセンターサービス API に読み取り専用アクセスを適用する必要があります。

```
{
  "Version": "2012-10-17", 		 	 	 
  "Statement": [
    {
      "Sid": "AllowReadOnlyAccessToIdentityCenterAPI",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::111122223333:role/MyAdminRole"
      },
      "Action": "kms:Decrypt",
      "Resource": "*",
      "Condition": {
        "StringLike": {
          "kms:ViaService": "sso.*.amazonaws.com",
          "kms:EncryptionContext:aws:sso:instance-arn": "arn:aws:sso:::instance/ssoins-1234567890abcdef"
        }
      }
    },
    {
      "Sid": "AllowReadOnlyAccessToIdentityStoreAPI",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::111122223333:role/MyAdminRole"
      },
      "Action": "kms:Decrypt",
      "Resource": "*",
      "Condition": {
        "StringLike": {
          "kms:ViaService": "identitystore.*.amazonaws.com",
          "kms:EncryptionContext:aws:identitystore:identitystore-arn": "arn:aws:identitystore::111122223333:identitystore/d-1234567890"
        }
      }
    }
  ]
}
```

## AWS マネージドアプリケーションを使用するための改良された KMS キーポリシーステートメント
<a name="refined-kms-key-policy-statements-for-use-of-aws-managed-applications"></a>

 これらのポリシーテンプレートにより、KMS キーを使用できる AWS マネージドアプリケーションをより詳細に制御できます。

**注記**  
 一部の AWS マネージドアプリケーションは、カスタマーマネージド KMS キーで設定された IAM Identity Center では使用できません。「[AWS IAM アイデンティティセンターで使用できるマネージドアプリケーション](https://docs.aws.amazon.com/singlesignon/latest/userguide/awsapps-that-work-with-identity-center.html)」を参照してください。

は、同じ AWS 組織内の任意のアカウントの任意の AWS マネージドアプリケーションに KMS キーの使用[AWS マネージドアプリケーションを使用するためのベースライン KMS キーと IAM ポリシーステートメント](baseline-KMS-key-policy.md#baseline-kms-key-policy-statements-for-use-of-aws-managed-applications)を許可します。これらの洗練されたポリシーを使用して、以下によってアクセスを制限します。
+ アプリケーションサービスプリンシパル
+ アプリケーションインスタンス ARN
+ AWS アカウント IDs
+ 特定の IAM アイデンティティセンターインスタンスの暗号化コンテキスト

**注記**  
サービスプリンシパルは、 AWS サービスの一意の識別子で、通常は servicename.amazonaws.com (Amazon EMR の場合は elasticmapreduce.amazonaws.com など) の形式です。

### アカウントによる制限
<a name="restrict-by-account"></a>

この KMS キーポリシーステートメントテンプレートにより、特定の AWS アカウントの AWS マネージドアプリケーションは、特定の IAM アイデンティティセンターインスタンスを使用して KMS キーを使用できます。

このポリシーを使用するには以下を実行します。

1. サンプルサービスプリンシパルを実際のアプリケーションサービスプリンシパルに置き換える

1. サンプルアカウント ID を、 AWS マネージドアプリケーションをデプロイする実際のアカウント ID に置き換えます。

1. サンプルの ID ストア ARN を実際の ID ストア ARN に置き換える

1. IAM アイデンティティセンターインスタンス ARN の例を実際のインスタンス ARN に置き換えます。

```
{
  "Version": "2012-10-17", 		 	 	 
  "Statement": [
    {
      "Sid": "AllowServiceInSpecificAccountsToUseTheKMSKeyViaIdentityCenter",
      "Effect": "Allow",
      "Principal": {
        "Service": "myapp.amazonaws.com"
      },
      "Action": "kms:Decrypt",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": [
            "111122223333",
            "444455556666"
          ]
        },
        "StringLike": {
          "kms:ViaService": "sso.*.amazonaws.com",
          "kms:EncryptionContext:aws:sso:instance-arn": "arn:aws:sso:::instance/ssoins-1234567890abcdef"
        },
        "Bool": {
          "aws:PrincipalIsAWSService": "true"
        }
      }
    },
    {
      "Sid": "AllowServiceInSpecificAccountsToUseTheKMSKeyViaIdentityStore",
      "Effect": "Allow",
      "Principal": {
        "Service": "myapp.amazonaws.com"
      },
      "Action": "kms:Decrypt",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": [
            "111122223333",
            "444455556666"
          ]
        },
        "StringLike": {
          "kms:ViaService": "identitystore.*.amazonaws.com",
          "kms:EncryptionContext:aws:identitystore:identitystore-arn": "arn:aws:identitystore::111122223333:identitystore/d-1234567890"
        },
        "Bool": {
          "aws:PrincipalIsAWSService": "true"
        }
      }
    }
  ]
}
```

### アプリケーションインスタンスによる制限
<a name="restrict-by-application-instance"></a>

この KMS キーポリシーステートメントテンプレートにより、特定の AWS マネージドアプリケーションインスタンスは、特定の IAM アイデンティティセンターインスタンスを使用して KMS キーを使用できます。

このポリシーを使用するには以下を実行します。

1. サンプルサービスプリンシパルを実際のアプリケーションサービスプリンシパルに置き換える

1. サンプルアプリケーション ARN を実際のアプリケーションインスタンス ARN に置き換える

1. サンプルの ID ストア ARN を実際の ID ストア ARN に置き換える

1. IAM アイデンティティセンターインスタンス ARN の例を実際のインスタンス ARN に置き換えます。

```
{
  "Version": "2012-10-17", 		 	 	 
  "Statement": [
    {
      "Sid": "AllowSpecificAppInstanceToUseTheKMSKeyViaIdentityCenter",
      "Effect": "Allow",
      "Principal": {
        "Service": "myapp.amazonaws.com"
      },
      "Action": "kms:Decrypt",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:SourceARN": "arn:aws:myapp:us-east-1:111122223333:application/my-application"
        },
        "StringLike": {
          "kms:ViaService": "sso.*.amazonaws.com",
          "kms:EncryptionContext:aws:sso:instance-arn": "arn:aws:sso:::instance/ssoins-1234567890abcdef"
        },
        "Bool": {
          "aws:PrincipalIsAWSService": "true"
        }
      }
    },
    {
      "Sid": "AllowSpecificAppInstanceToUseTheKMSKeyViaIdentityStore",
      "Effect": "Allow",
      "Principal": {
        "Service": "myapp.amazonaws.com"
      },
      "Action": "kms:Decrypt",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:SourceARN": "arn:aws:myapp:us-east-1:111122223333:application/my-application"
        },
        "StringLike": {
          "kms:ViaService": "identitystore.*.amazonaws.com",
          "kms:EncryptionContext:aws:identitystore:identitystore-arn": "arn:aws:identitystore::111122223333:identitystore/d-1234567890"
        },
        "Bool": {
          "aws:PrincipalIsAWSService": "true"
        }
      }
    }
  ]
}
```

# カスタマーマネージド KMS キーと高度な KMS キーポリシーに関する考慮事項
<a name="considerations-for-customer-managed-kms-keys-advanced"></a>

IAM アイデンティティセンターでカスタマーマネージド KMS キーを実装する場合は、暗号化設定の設定、セキュリティ、継続的なメンテナンスに影響するこれらの要因を考慮してください。

## ベースラインとアドバンスト KMS キーポリシーステートメントの選択に関する考慮事項
<a name="kms-policy-considerations-advanced-vs-baseline"></a>

[高度な KMS キーポリシーステートメント](advanced-kms-policy.md) を使用して KMS キーのアクセス許可をより具体的にするかどうかを決定するときは、組織の管理オーバーヘッドとセキュリティニーズを考慮してください。より具体的なポリシーステートメントでは、キーを使用できるユーザーと目的をよりきめ細かく制御できます。ただし、IAM アイデンティティセンターの設定が進化するにつれて、継続的なメンテナンスが必要になります。たとえば、KMS キーの使用を特定の AWS マネージドアプリケーションのデプロイに制限する場合は、組織がアプリケーションをデプロイまたはデプロイ解除するたびにキーポリシーを更新する必要があります。制限の少ないポリシーは管理上の負担を軽減しますが、セキュリティ要件に必要なよりも広範なアクセス許可を付与する可能性があります。

## カスタマーマネージド KMS キーを使用して新しい IAM アイデンティティセンターインスタンスを有効にする際の考慮事項
<a name="considerations-for-enabling-new-instance"></a>

 ここでの考慮事項は、「[高度な KMS キーポリシーステートメント](advanced-kms-policy.md)」で説明されている暗号化コンテキストを使用して、KMS キーの使用を特定の IAM アイデンティティセンター インスタンスに制限する場合に適用されます。

 カスタマーマネージド KMS キーを使用して新しい IAM アイデンティティセンターインスタンスを有効にする場合、IAM アイデンティティセンターと ID ストア ARN はセットアップ後まで使用できません。次のオプションがあります。
+  一時的に汎用 ARN パターンを使用し、インスタンスが有効になったら、 完全な ARN に置き換えます。必要に応じて、StringEquals 演算子と StringLike 演算子を切り替えてください。
  +  IAM アイデンティティセンター SPN の場合: "arn:\$1\$1Partition\$1:sso:::instance/\$1"。
  +  ID ストア SPN の場合: "arn:\$1\$1Partition\$1:identitystore::\$1\$1Account\$1:identitystore/\$1"。
+  ARN で一時的に「purpose:KEY\$1CONFIGURATION」を使用します。これはインスタンスの有効化にのみ機能し、IAM アイデンティティセンターインスタンスが正常に機能するには、実際の ARN に置き換える必要があります。このアプローチの利点は、インスタンスが有効になった後にこれを置き換えることを忘れないことです。
  +  IAM アイデンティティセンター SPN の場合は、「arn:\$1\$1Partition\$1:sso:::instance/purpose:KEY\$1CONFIGURATION」を使用します。
  +  ID ストア SPN の場合は、「arn:\$1\$1Partition\$1:identitystore::\$1\$1Account\$1:identitystore/purpose:KEY\$1CONFIGURATION」を使用します。
**重要**  
 この設定は、既存の IAM アイデンティティセンターインスタンスで既に使用されている KMS キーに適用しないでください。通常のオペレーションが中断される可能性があります。
+  インスタンスが有効になるまで、KMS キーポリシーから暗号化コンテキスト条件を省略します。