

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# （可选）为护栏创建客户管理的密钥以提高安全性
<a name="guardrails-permissions-kms"></a>

您可以通过客户管理来加密您的护栏。 AWS KMS keys任何具有`CreateKey`权限的用户都可以使用 AWS Key Management Service (AWS KMS) 控制台或[CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)操作创建客户托管密钥。在这些情况下，应确保创建对称加密密钥。

创建密钥后，请配置以下权限策略。

1. 执行以下操作以创建基于资源的密钥策略。

   1. [创建密钥策略](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html)，为您的 KMS 密钥创建基于资源的策略。

   1. 添加以下策略语句，向护栏用户和护栏创建者授予权限。将每个 `{{role}}` 替换为您希望允许其执行指定操作的角色。

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Id": "KMS key policy",
          "Statement": [
              {
                  "Sid": "PermissionsForGuardrailsCreators",
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::{{111122223333}}:user/{{role}}"
                  },
                  "Action": [
                      "kms:Decrypt",
                      "kms:GenerateDataKey",
                      "kms:DescribeKey",
                      "kms:CreateGrant"
                  ],
                  "Resource": "*"
              },
              {
                  "Sid": "PermissionsForGuardrailsUsers",
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::{{111122223333}}:user/{{role}}"
                  },
                  "Action": "kms:Decrypt",
                  "Resource": "*"
              }
          ]
      }
      ```

------

1. 将以下基于身份的策略附加到角色，以便该角色能够创建和管理护栏。将 `{{key-id}}` 替换为您创建的 KMS 密钥的 ID。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowRoleToCreateAndManageGuardrails",
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt",
                   "kms:DescribeKey",
                   "kms:GenerateDataKey",
                   "kms:CreateGrant"
               ],
               "Resource": "arn:aws:kms:{{us-east-1}}:{{123456789012}}:key/{{key-id}}"
           }
       ]
   }
   ```

------

1. 将以下基于身份的策略附加到角色，以便该角色能够在模型推理过程中或调用代理时使用您加密的护栏。将 `{{key-id}}` 替换为您创建的 KMS 密钥的 ID。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowRoleToUseEncryptedGuardrailDuringInference",
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:{{us-east-1}}:{{123456789012}}:key/{{key-id}}"
           }
       ]
   }
   ```

------