

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

# エイリアスへのアクセスの制御
<a name="alias-access"></a>

エイリアスを作成または変更すると、エイリアスとそのエイリアスに関連付けられた KMS キーが影響を受けます。このため、エイリアスを管理するプリンシパルには、エイリアスおよび影響を受けるすべての KMS キーに対してエイリアスオペレーションを呼び出す許可が必要です。これらの許可は、[キーポリシー](key-policies.md)、[IAM ポリシー](iam-policies.md)、[権限](grants.md)を使用することで付与できます。

**注記**  
タグとエイリアスを管理する許可をプリンシパルに付与する場合は注意が必要です。タグまたはエイリアスを変更すると、カスタマーマネージドキーに対するアクセス許可が許可または拒否される可能性があります。詳細については、「[の ABAC AWS KMS](abac.md)」および「[エイリアスを使用して KMS キーへのアクセスを制御する](alias-authorization.md)」を参照してください。

すべての AWS KMS オペレーションへのアクセスの制御については、「」を参照してください[アクセス許可に関するリファレンス](kms-api-permissions-reference.md)。

エイリアスを作成および管理するための権限は、次のように機能します。

## kms:CreateAlias
<a name="alias-access-create"></a>

エイリアスを作成するには、プリンシパルに、エイリアスおよび関連付けられた KMS キーの両方に対する次の許可が必要です。
+ `kms:CreateAlias` エイリアスの場合。エイリアスの作成を許可されたプリンシパルにアタッチされた IAM ポリシーでこのアクセス許可を提供します。

  次のポリシーステートメントの例では、`Resource` エレメントの特定のエイリアスを指定します。ただし、複数のエイリアス ARN を一覧表示したり、「test\$1」などのエイリアスパターンを指定したりできます。`Resource` 値を `"*"` に指定すると、プリンシパルがアカウントとリージョンで任意のエイリアスを作成できるようになります。エイリアスを作成する権限は、アカウントおよびリージョン内のすべてのリソースに対する `kms:Create*` 権限に含めることもできます。

  ```
  {
    "Sid": "IAMPolicyForAnAlias",
    "Effect": "Allow",
    "Action": [
      "kms:CreateAlias",
      "kms:UpdateAlias",
      "kms:DeleteAlias"
    ],
    "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key"
  }
  ```
+ KMS キーの `kms:CreateAlias` このアクセス許可は、キーポリシーまたはキーポリシーから委任された IAM ポリシーで指定する必要があります。

  ```
  {
    "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab",
    "Effect": "Allow",
    "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"},
    "Action": [
      "kms:CreateAlias",
      "kms:DescribeKey"
    ],
    "Resource": "*"
  }
  ```

条件キーを使用して、エイリアスと関連付けることができる KMS キーを制限できます。例えば、[kms:KeySpec](conditions-kms.md#conditions-kms-key-spec) 条件キーを使用して、プリンシパルが非対称 KMS キーに対してのみエイリアスを作成できるようにします。KMS キーリソースに対する `kms:CreateAlias` 許可の制限に使用できる条件キーの詳細なリストについては、[AWS KMS アクセス許可](kms-api-permissions-reference.md) を参照してください。

## kms:ListAliases
<a name="alias-access-view"></a>

アカウントとリージョンのエイリアスを一覧表示するには、プリンシパルに IAM ポリシーの `kms:ListAliases` アクセス権限が必要です。このポリシーは特定の KMS キーまたはエイリアスリソースに関連付けられていないため、ポリシー内のリソース要素の値が [`"*"` である必要があります](iam-policies-best-practices.md#require-resource-star)。

例えば、次の IAM ポリシーステートメントでは、アカウントとリージョン内のすべての KMS キーとエイリアスを一覧表示する許可をプリンシパルに付与します。

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

****  

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

------

## kms:UpdateAlias
<a name="alias-access-update"></a>

エイリアスに関連付けられている KMS キーを変更するには、プリンシパルにエイリアス用、現在の KMS キー用、新規の KMS キー用の 3 つの許可要素が必要です。

例えば、`test-key` エイリアスをキー ID 1234abcd-12ab-34cd-56ef-1234567890ab の KMS キーから、キー ID 0987dcba-09fe-87dc-65ba-ab0987654321 の KMS キーに変更するとします。その場合は、このセクションの例に似たポリシーステートメントを含めます。
+ `kms:UpdateAlias` エイリアスの場合。このアクセス権限は、プリンシパルにアタッチされている IAM ポリシーで提供します。次の IAM ポリシーは、特定のエイリアスを指定します。ただし、複数のエイリアス ARN を一覧表示したり、`"test*"` などのエイリアスパターンを指定したりできます。`"*"` の `Resource` 値を指定することで、プリンシパルがアカウントとリージョンで任意のエイリアスを更新できるようにもなります。

  ```
  {
    "Sid": "IAMPolicyForAnAlias",
    "Effect": "Allow",
    "Action": [
      "kms:UpdateAlias",
      "kms:ListAliases",
      "kms:ListKeys"
    ],
    "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key"
  }
  ```
+ 現在エイリアスに関連付けられている KMS キーの `kms:UpdateAlias`。このアクセス許可は、キーポリシーまたはキーポリシーから委任された IAM ポリシーで指定する必要があります。

  ```
  {
    "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab",
    "Effect": "Allow",
    "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"},
    "Action": [
      "kms:UpdateAlias",
      "kms:DescribeKey"
    ],
    "Resource": "*"
  }
  ```
+ `kms:UpdateAlias`オペレーションでエイリアスに関連付けられている KMS キーの 。このアクセス許可は、キーポリシーまたはキーポリシーから委任された IAM ポリシーで指定する必要があります。

  ```
  {
    "Sid": "Key policy for 0987dcba-09fe-87dc-65ba-ab0987654321",
    "Effect": "Allow",
    "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"},
    "Action": [
      "kms:UpdateAlias", 
      "kms:DescribeKey"
    ],
    "Resource": "*"
  }
  ```

条件キーを使用して、`UpdateAlias` オペレーションの KMS キーの一方または両方を制限できます。例えば、[kms:ResourceAliases](conditions-kms.md#conditions-kms-resource-aliases) 条件キーを使用して、ターゲット KMS キーに特定のエイリアスが既に存在する場合にのみ、プリンシパルがエイリアスを更新できるようにします。KMS キーリソースに対する `kms:UpdateAlias` 許可の制限に使用できる条件キーの詳細なリストについては、[AWS KMS アクセス許可](kms-api-permissions-reference.md) を参照してください。

## kms:DeleteAlias
<a name="alias-access-delete"></a>

エイリアスを削除するには、プリンシパルにエイリアスおよび関連付けられた KMS キーに対する許可が必要です。

プリンシパルにリソースを削除する権限を与えるときは、いつものように注意する必要があります。ただし、エイリアスを削除しても関連付けられた KMS キーには影響しません。エイリアスに依存するアプリケーションでエラーが発生する可能性がありますが、エイリアスを誤って削除した場合は、エイリアスを再作成することができます。
+ `kms:DeleteAlias` エイリアスの場合。エイリアスの削除を許可されているプリンシパルにアタッチされた IAM ポリシーでこのアクセス許可を提供します。

  次のポリシーステートメントの例は、 `Resource` エレメントのエイリアスを指定します。ただし、複数のエイリアス ARN を一覧表示したり、`"test*"` などのエイリアスパターンを指定したりできます。`"*"` の `Resource` 値を指定して、プリンシパルにアカウントとリージョンで任意のエイリアスを削除させることもできます。

  ```
  {
    "Sid": "IAMPolicyForAnAlias",
    "Effect": "Allow",
    "Action": [
      "kms:CreateAlias",
      "kms:UpdateAlias",
      "kms:DeleteAlias"
    ],
    "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key"
  }
  ```
+ 関連付けられた KMS キーの `kms:DeleteAlias`。このアクセス許可は、キーポリシーまたはキーポリシーから委任された IAM ポリシーで指定する必要があります。

  ```
  {
    "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab",
    "Effect": "Allow",
    "Principal": {
      "AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"
    },
    "Action": [
      "kms:CreateAlias",
      "kms:UpdateAlias",
      "kms:DeleteAlias",
      "kms:DescribeKey"
    ],
    "Resource": "*"
  }
  ```

## エイリアスのアクセス許可を制限する
<a name="alias-access-limiting"></a>

リソースが KMS キーの場合、条件キーを使用してエイリアスのアクセス許可を制限できます。例えば、次の IAM ポリシーでは、特定のアカウントとリージョンの KMS キーに対するエイリアスオペレーションを許可します。ただし、[kms:KeyOrigin ](conditions-kms.md#conditions-kms-key-origin)条件キーを使用して、キーマテリアルを含む KMS キーへのアクセス許可をさらに制限します AWS KMS。

KMS キーリソースに対するエイリアスのアクセス許可の制限に使用できる条件キーの詳細なリストについては、[AWS KMS アクセス許可](kms-api-permissions-reference.md) を参照してください。

```
{
  "Sid": "IAMPolicyKeyPermissions",
  "Effect": "Allow",
  "Resource": "arn:aws:kms:us-west-2:111122223333:key/*",
  "Action": [
    "kms:CreateAlias",
    "kms:UpdateAlias",
    "kms:DeleteAlias"
  ],
  "Condition": {
    "StringEquals": {
      "kms:KeyOrigin": "AWS_KMS"
    }
  }  
}
```

リソースがエイリアスのポリシーステートメントでは、条件キーを使用できません。プリンシパルが管理できるエイリアスを制限するには、エイリアスへのアクセスを制御する IAM ポリシーステートメントの `Resource` 要素の値を使用します。たとえば、次のポリシーステートメントでは、エイリアスが で始まらない限り、プリンシパルは AWS アカウント および リージョンでエイリアスを作成、更新、または削除できます`Restricted`。

```
{
  "Sid": "IAMPolicyForAnAliasAllow",
  "Effect": "Allow",
  "Action": [
    "kms:CreateAlias",
    "kms:UpdateAlias",
    "kms:DeleteAlias"
  ],
  "Resource": "arn:aws:kms:us-west-2:111122223333:alias/*"
},
{
  "Sid": "IAMPolicyForAnAliasDeny",
  "Effect": "Deny",
  "Action": [
    "kms:CreateAlias",
    "kms:UpdateAlias",
    "kms:DeleteAlias"
  ],
  "Resource": "arn:aws:kms:us-west-2:111122223333:alias/Restricted*"
}
```