

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

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

角色型存取控制 (RBAC) 是一種授權策略，僅提供使用者執行其任務所需的許可，而無其他功能。 AWS KMS 支援 RBAC，可讓您透過在金鑰[政策中指定金鑰用量的精細許可來控制對金鑰](key-policies.md)的存取。金鑰政策會指定資源、動作、效果、主體和選用條件，以授予對金鑰的存取權。

若要在 中實作 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 ]



下列金鑰政策範例允許 IAM `ExampleAdminRole` 角色管理 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 身分 （使用者、使用者群組和角色）](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)