

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

# マルチリージョンキーへのアクセスを制御する
<a name="multi-region-keys-auth"></a>

マルチリージョンキーは、単一リージョンキーを使用するとより複雑な、コンプライアンス、災害対策、バックアップのシナリオで使用できます。ただし、マルチリージョンキーのセキュリティプロパティは単一リージョンキーのセキュリティプロパティとは大きく異なるため、マルチリージョンキーの作成、管理、使用の認可には注意が必要です。

**注記**  
`Resource` フィールドのワイルドカード文字を含む既存の IAM ポリシーステートメントが、単一リージョンキーおよびマルチリージョンキーの両方に適用されるようになりました。ステートメントを単一リージョンの KMS キーまたはマルチリージョンキーに制限するには、[kms:MultiRegion](conditions-kms.md#conditions-kms-multiregion) 条件キーを使用します。

認可ツールを使用して、単一リージョンで十分なシナリオでのマルチリージョンキーの作成および使用を阻止します。プリンシパルが、マルチリージョンキー AWS リージョン を必要とする にのみレプリケートできるようにします。マルチリージョンキーのアクセス許可を、それらを必要とするプリンシパルおよびタスクに対してのみ付与します。

キーポリシー、IAM ポリシー、許可を使用して、IAM プリンシパルが でマルチリージョンキーを管理および使用できるようにします AWS アカウント。各マルチリージョンキーは、一意のキー ARN とキーポリシーを持つ独立したリソースです。各キーのキーポリシーを確立して維持し、新規および既存の IAM ポリシーが認可戦略を実装していることを確認する必要があります。

マルチリージョンキーをサポートするために、 は IAM サービスにリンクされたロール AWS KMS を使用します。このロールは、 AWS KMS に[共有プロパティ](multi-region-keys-overview.md#mrk-sync-properties)の同期に必要なアクセス許可を付与します。詳細については、「[マルチリージョンキー AWS KMS の同期を許可する](multi-region-auth-slr.md)」を参照してください。

**Topics**
+ [マルチリージョンキーの認可の原則](#multi-region-auth-about)
+ [マルチリージョンキー管理者およびユーザーを認可する](#multi-region-auth-users)

## マルチリージョンキーの認可の原則
<a name="multi-region-auth-about"></a>

マルチリージョンキーのキーポリシーと IAM ポリシーを設計するときは、次の原則を考慮します。
+ **キーポリシー** — 各マルチリージョンキーは、固有の[キーポリシー](key-policies.md)を持つ独立した KMS キーリソースです。関連するマルチリージョンキーセットの各キーに、同じ、または異なるキーポリシーを適用できます。キーポリシーは、マルチリージョンキー[の共有プロパティ](multi-region-keys-overview.md#mrk-sync-properties)*ではありません*。 AWS KMS は、関連するマルチリージョンキー間でキーポリシーをコピーまたは同期しません。

   AWS KMS コンソールでレプリカキーを作成すると、コンソールにはプライマリキーの現在のキーポリシーが便利に表示されます。このキーポリシーの使用、編集、削除、置き換えを行うことができます。ただし、プライマリキーポリシーをそのまま受け入れても、 AWS KMS はポリシーを同期しません。例えば、プライマリキーのキーポリシーを変更しても、レプリカキーのキーポリシーは変わりません。
+ **デフォルトのキーポリシー** — [CreateKey](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateKey.html) および `ReplicateKey` オペレーションを使用してマルチリージョンキーを作成する際、リクエストでキーポリシーを指定しない限り、[デフォルトのキーポリシー](key-policy-default.md)が適用されます。これは、単一リージョンキーに適用されるのと同じデフォルトのキーポリシーです。
+ **IAM ポリシー** — すべての KMS キーと同様に、[キーポリシーによって許可される](key-policy-default.md#key-policy-default-allow-root-enable-iam)場合にのみ、IAM ポリシーを使用してマルチリージョンキーへのアクセスを制御できます。[IAM ポリシー](iam-policies.md)は AWS リージョン 、デフォルトですべての に適用されます。ただし、条件キー ([aws:RequestedRegion](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requestedregion) など) を使用して、特定のリージョンへのアクセス許可を制限できます。

  プライマリキーおよびレプリカキーを作成するには、キーが作成されたリージョンに適用される、IAM ポリシーの `kms:CreateKey` アクセス許可をプリンシパルに付与する必要があります。
+ **グラン**ト — AWS KMS [グラント](grants.md)はリージョン別です。各権限は、1 つの KMS キーにアクセス許可を付与します。権限を使用して、マルチリージョンのプライマリキーまたはレプリカキーへのアクセス許可を付与できます。ただし、マルチリージョンキーが関連付けられている場合でも、単一の権限を使用して複数の KMS キーにアクセス許可を付与することはできません。
+ **キー ARN** — 各マルチリージョンキーは[一意のキー ARN](mrk-how-it-works.md) を持ちます。関連するマルチリージョンキーのキー ARN は、同じパーティション、アカウント、キー ID を持ちますが、リージョンが異なります。

  IAM ポリシーステートメントを特定のマルチリージョンキーに適用するには、そのキー ARN またはリージョンを含むキー ARN パターンを使用します。関連するすべてのマルチリージョンキーに IAM ポリシーステートメントを適用するには、次の例に示すように、ARN のリージョン要素でワイルドカード文字 (\$1) を使用します。

  ```
  {
    "Effect": "Allow",  
    "Action": [
      "kms:Describe*",
      "kms:List*"
    ],
    "Resource": {
        "arn:aws:kms:*::111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab"
    }
  }
  ```

  ポリシーステートメントを 内のすべてのマルチリージョンキーに適用するには AWS アカウント、[kms:MultiRegion ](conditions-kms.md#conditions-kms-multiregion)ポリシー条件または固有の`mrk-`プレフィックスを含むキー ID パターンを使用できます。
+ **サービスリンクロール** — マルチリージョンのプライマリキーを作成するプリンシパルには、[iam:CreateServiceLinkedRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceLinkedRole.html) アクセス許可が必要です。

  関連するマルチリージョンキーの共有プロパティを同期するために、 AWS KMS は IAM [サービスにリンクされたロール](multi-region-auth-slr.md)を引き受けます。マルチリージョンのプライマリキー AWS KMS を作成するたびに、 AWS アカウント でサービスにリンクされたロールを作成します。(ロールが存在する場合は、 AWS KMS は悪影響のないロールを再作成します)。ロールはすべてのリージョンで有効です。 AWS KMS がサービスにリンクされたロールを作成 (または再作成) できるようにするには、マルチリージョンのプライマリキーを作成するプリンシパルに [iam:CreateServiceLinkedRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceLinkedRole.html) アクセス許可が必要です。

## マルチリージョンキー管理者およびユーザーを認可する
<a name="multi-region-auth-users"></a>

マルチリージョンキーを作成および管理するプリンシパルには、プライマリリージョンとレプリカリージョンで次のアクセス許可が必要です。
+ `kms:CreateKey`
+ `kms:ReplicateKey`
+ `kms:UpdatePrimaryRegion`
+ `iam:CreateServiceLinkedRole`

### プライマリキーを作成する
<a name="mrk-auth-create-primary"></a>

[マルチリージョンのプライマリキーを作成](create-primary-keys.md)するには、プリンシパルに、プライマリキーのリージョンで有効な IAM ポリシーの [kms:CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) および [iam:CreateServiceLinkedRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceLinkedRole.html) アクセス許可が必要です。これらのアクセス許可を持つプリンシパルは、アクセス許可が制限されない限り　単一リージョンキーおよびマルチリージョンキーを作成できます。

アクセス`iam:CreateServiceLinkedRole`許可により、 AWS KMS は [**AWSServiceRoleForKeyManagementServiceMultiRegionKeys** ロール](multi-region-auth-slr.md)を作成して、関連するマルチリージョンキー[の共有プロパティ](multi-region-keys-overview.md#mrk-sync-properties)を同期できます。

例えば、次の IAM ポリシーは、プリンシパルがマルチリージョンキーの作成、それらのキーへのポリシーのアタッチ、マルチリージョンキーのサービスリンクロールの作成を行うことを許可します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":{
      "Action": [
        "kms:CreateKey",
        "iam:CreateServiceLinkedRole"
      ],
      "Effect":"Allow",
      "Resource":"*"
  }
}
```

------

マルチリージョンのプライマリキーを作成するアクセス許可を許可または拒否するには、[kms:MultiRegion](conditions-kms.md#conditions-kms-multiregion) 条件キーを使用します。有効な値は、`true` (マルチリージョンキー) または `false` (単一リージョンキー) です。例えば、次の IAM ポリシーステートメントでは、`kms:MultiRegion` 条件キーを持つ `Deny` アクションを使用して、プリンシパルがマルチリージョンキーを作成しないようにします。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":{
      "Action":"kms:CreateKey",
      "Effect":"Deny",
      "Resource":"*",
      "Condition": {
          "Bool": {
            "kms:MultiRegion": true
          }
      }
  }
}
```

------

### キーをレプリケートする
<a name="mrk-auth-replicate"></a>

[マルチリージョンのレプリカキーを作成する](#mrk-auth-replicate)には、プリンシパルに次のアクセス許可が必要です。
+  プライマリキーのキーポリシーの [kms:ReplicateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_ReplicateKey.html) アクセス許可。
+ レプリカキーリージョンで有効な IAM ポリシーの [kms:CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) アクセス許可。

これらのアクセス許可を許可する場合は注意が必要です。これにより、プリンシパルは KMS キーと、その使用を認可するキーポリシーを作成できます。`kms:ReplicateKey` アクセス許可は AWS KMS内のリージョンの境界を越えるキーマテリアルの転送も認可します。

マルチリージョンキー AWS リージョン をレプリケートできる を制限するには、[kms:ReplicaRegion ](conditions-kms.md#conditions-kms-replica-region)条件キーを使用します。これは、`kms:ReplicateKey` アクセス許可のみを制限します。それ以外には影響を与えません。例えば、次のキーポリシーは、指定されたリージョンでのみプリンシパルにこのプライマリキーのレプリケーションを許可します。

```
{
  "Effect": "Allow",
  "Principal": {
    "AWS": "arn:aws:iam::111122223333:role/Administrator"
  },
  "Action": "kms:ReplicateKey",
  "Resource": "*",
  "Condition": {
    "StringEquals": {
      "kms:ReplicaRegion": [
         "us-east-1",
         "eu-west-3",
         "ap-southeast-2"
      ]
    }
  }
}
```

### プライマリリージョンを更新する
<a name="mrk-auth-update"></a>

認可されたプリンシパルは、レプリカキーをプライマリキーに変換し、プライマリキーは以前のプライマリキーをレプリカキーに変更します。このアクションは[プライマリリージョンの更新](multi-region-update.md)として知られています。。プライマリリージョンを更新するには、プリンシパルに両方のリージョンで [kms:UpdatePrimaryRegion](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdatePrimaryRegion.html) 許可が必要です。キーポリシーまたは IAM ポリシーでこれらのアクセス許可を付与できます。
+ プライマリキーの `kms:UpdatePrimaryRegion`。このアクセス許可は、プライマリキーリージョンで有効である必要があります。
+ レプリカキーの `kms:UpdatePrimaryRegion`。このアクセス許可は、レプリカキーリージョンで有効である必要があります。

例えば、次のキーポリシーは、KMS キーのプライマリリージョンを更新する管理者のロールを引き受けることができるユーザーに付与します。この KMS キーを、このオペレーションでプライマリキーまたはレプリカキーにすることができます。

```
{
  "Effect": "Allow",
  "Resource": "*",
  "Principal": {
    "AWS": "arn:aws:iam::111122223333:role/Administrator"
  },
  "Action": "kms:UpdatePrimaryRegion"
}
```

プライマリキーをホスト AWS リージョン できる を制限するには、[kms:PrimaryRegion ](conditions-kms.md#conditions-kms-primary-region)条件キーを使用します。たとえば、次の IAM ポリシーステートメントでは、新しいプライマリリージョンが指定されたリージョンの 1 つである場合にのみ AWS アカウント、プリンシパルが のマルチリージョンキーのプライマリリージョンを更新することを許可します。

```
{
  "Effect": "Allow",  
  "Action": "kms:UpdatePrimaryRegion",
  "Resource": {
      "arn:aws:kms:*:111122223333:key/*"
  },
  "Condition": {
    "StringEquals": {
      "kms:PrimaryRegion": [ 
         "us-west-2",
         "sa-east-1",
         "ap-southeast-1"
      ]
    }
  }
}
```

### マルチリージョンキーを使用および管理する
<a name="mrk-auth-using"></a>

デフォルトでは、 AWS アカウント でKMS キーを使用および管理するためのアクセス許可を持つプリンシパルは、マルチリージョンキーを使用および管理するためのアクセス許可も持っています。ただし、[kms:MultiRegion](conditions-kms.md#conditions-kms-multiregion) 条件キーを使用して、単一リージョンキーのみまたはマルチリージョンキーのみを許可できます。または、[kms:MultiRegionKeyType](conditions-kms.md#conditions-kms-multiregion-key-type) 条件キーを使用して、マルチリージョンのプライマリキーのみまたはレプリカキーのみを許可します。どちらの条件キーも、[CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) オペレーションと、既存の KMS キーを使用するオペレーション ([Encrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) または [EnableKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_EnableKey.html) など) へのアクセスを制御します。

以下の IAM ポリシーステートメントの例では、`kms:MultiRegion` 条件キーを使用して、プリンシパルがマルチリージョンキーを使用または管理できないようにします。

```
{
  "Effect": "Deny",  
  "Action": "kms:*",
  "Resource": "*",
  "Condition": {
    "Bool": "kms:MultiRegion": true
  }
}
```

この IAM ポリシーステートメントの例では、`kms:MultiRegionKeyType` 条件を使用して、マルチリージョンレプリカキーのみでキー削除のスケジュールおよびキャンセルを実行することをプリンシパルに許可します。

```
{
  "Effect": "Allow",  
  "Action": [
    "kms:ScheduleKeyDeletion",
    "kms:CancelKeyDeletion"
  ],
  "Resource": {
      "arn:aws:kms:us-west-2:111122223333:key/*"
  },
  "Condition": {
    "StringEquals": "kms:MultiRegionKeyType": "REPLICA"
  }
}
```