

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

# の RBAC AWS KMS
<a name="rbac"></a>

ロールベースのアクセスコントロール (RBAC) とは、それぞれのユーザーに対して業務の実行に必要最小限なアクセス許可のみを提供する認証戦略です。 AWS KMS は、キー用途に基づくきめ細かなアクセス許可を[キーポリシー](key-policies.md)内で指定するキーアクセス制御を可能にすることで、RBAC をサポートします。キーポリシーは、キーへのアクセスを許可するリソース、アクション、効果、プリンシパル、およびオプション条件を指定します。

RBAC を実装するには AWS KMS、キーユーザーとキー管理者のアクセス許可を分離することをお勧めします。

------
#### [ Key users ]

例えば、以下のキーポリシーステートメントは、`ExampleUserRole` IAM ロールに KMS キーの使用を許可します。

```
{
            "Sid": "Allow use of the key",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws: iam::111122223333:role/ExampleUserRole"
            },
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey*",
                "kms:DescribeKey"
            ],
            "Resource": "*"
  }
```

 キーユーザーが必要とするアクセス許可は、恐らくこの例のユーザーよりも少ないでしょう。そのユーザーが必要とするアクセス許可のみを割り当ててください。アクセス許可をさらに絞り込むには、次の質問を使用します。
+ どの IAM プリンシパル (ロールまたはユーザー) がそのキーにアクセスする必要がありますか?
+ 各プリンシパルがそのキーを用いて実行する必要があるアクションはどんなものがありますか? 例えば、そのプリンシパルに必要なのは暗号化と署名のアクセス許可だけですか?
+ ユーザーは人間ですか、それとも AWS のサービスですか。サービスの場合は AWS 、 [条件キー](conditions-kms.md#conditions-kms-via-service)を使用して、キーの使用を特定の AWS サービスに制限できます。

------
#### [ Key administrators ]



以下のキーポリシー例は、`ExampleAdminRole` IAM ロールが KMS キーを管理することを許可します。

```
{
            "Sid": "Allow access for Key Administrators",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws: iam::111122223333:role/ExampleAdminRole"
            },
            "Action": [
                "kms:Create*",
                "kms:Describe*",
                "kms:Enable*",
                "kms:List*",
                "kms:Put*",
                "kms:Update*",
                "kms:Revoke*",
                "kms:Disable*",
                "kms:Get*",
                "kms:Delete*",
                "kms:TagResource",
                "kms:UntagResource",
                "kms:ScheduleKeyDeletion",
                "kms:CancelKeyDeletion"
            ],
            "Resource": "*"
    }
```

 キー管理者に必要なアクセス許可は、恐らくこの例の管理者より少ないでしょう。そのキー管理者が必要とするアクセス許可のみを割り当ててください。

------

各ユーザーが自らのロールの履行に必要とするアクセス許可のみを付与してください。ユーザーのアクセス許可は、キーがテスト環境で使用されるか本番環境で使用されるかによっても異なります。特定の非本番環境で制限の少ないアクセス許可を使用する場合は、そのポリシーを本番環境にリリースする前にテストするプロセスを実装します。

**詳細情報**
+ [IAM ID (ユーザー、ユーザーグループ、ロール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html)
+ [アクセスコントロールのタイプ](https://docs.aws.amazon.com/prescriptive-guidance/latest/saas-multitenant-api-access-authorization/access-control-types.html)