

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

# でのカスタマーマネージド 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 アイデンティティセンターを使用した 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 キーポリシー](baseline-KMS-key-policy.md)て、組織に合わせてカスタマイズします。セキュリティ要件に基づいてより具体的なポリシーが必要な場合は、「[高度な KMS キーポリシーステートメント](advanced-kms-policy.md)」の例を使用してポリシーステートメントを変更できます。この決定に関するガイダンスについては、「[ベースラインとアドバンスト KMS キーポリシーステートメントの選択に関する考慮事項](considerations-for-customer-managed-kms-keys-advanced.md#kms-policy-considerations-advanced-vs-baseline)」を参照してください。

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

1.  セキュリティ要件で要求されている場合は、「」の例を使用してポリシーステートメントを絞り込みます[高度な KMS キーポリシーステートメント](advanced-kms-policy.md)。

**重要**  
 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 ユーザーガイドを参照してください。