为 Guardrails 设置权限 - Amazon Bedrock

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

为 Guardrails 设置权限

要设置具有使用护栏权限的角色,请创建一个 IAM 角色并按照创建向 AWS 服务委派权限的角色中的步骤附加以下权限

如果您对代理使用防护栏,请将权限附加到具有创建和管理代理权限的服务角色。您可以在控制台中设置此角色,也可以按照中的步骤创建自定义角色为 Amazon Bedrock 的代理创建服务角色

  • 调用 Amazon Bedrock 基础模型的权限

  • 创建和管理护栏的权限

  • (可选)解密客户管理的护栏密 AWS KMS 钥的权限

创建和管理护栏的权限

将以下语句附加到策略的Statement字段中,以便您的角色使用护栏。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateAndManageGuardrails", "Effect": "Allow", "Action": [ "bedrock:CreateGuardrail", "bedrock:CreateGuardrailVersion", "bedrock:DeleteGuardrail", "bedrock:GetGuardrail", "bedrock:ListGuardrails", "bedrock:UpdateGuardrail" ], "Resource": "*" } ] }

调用护栏的权限

将以下语句附加到该角色的策略Statement字段中,以允许模型推断和调用护栏。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "InvokeFoundationModel", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:region::foundation-model/*" ] }, { "Sid": "ApplyGuardrail", "Effect": "Allow", "Action": [ "bedrock:ApplyGuardrail" ], "Resource": [ "arn:aws:bedrock:region:account-id:guardrail/guardrail-id" ] } ] }

(可选)为护栏创建客户托管密钥

任何具有CreateKey权限的用户都可以使用 AWS Key Management Service (AWS KMS) 控制台或CreateKey操作创建客户托管密钥。确保创建对称加密密钥。创建密钥后,设置以下权限。

  1. 按照创建密钥策略中的步骤为您的 KMS 密钥创建基于资源的策略。添加以下策略声明,向护栏用户和护栏创建者授予权限。将每个角色替换为允许其执行指定操作的角色。

    { "Version": "2012-10-17", "Id": "KMS Key Policy", "Statement": [ { "Sid": "PermissionsForGuardrailsCreators", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:user/role" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*" }, { "Sid": "PermissionsForGuardrailsUusers", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:user/role" }, "Action": "kms:Decrypt", "Resource": "*" } }
  2. 将以下基于身份的策略附加到角色以允许其创建和管理护栏。将密钥 ID 替换为您创建的 KMS 密钥的 ID。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Allow role to create and manage guardrails", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:DescribeKey", "kms:GenerateDataKey" "kms:CreateGrant" ], "Resource": "arn:aws:kms:region:account-id:key/key-id" } ] }
  3. 将以下基于身份的策略附加到角色,以允许该角色在模型推断期间或调用代理时使用您加密的护栏。将密钥 ID 替换为您创建的 KMS 密钥的 ID。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Allow role to use an encrypted guardrail during model inference" "Effect": "Allow", "Action": [ "kms:Decrypt", ], "Resource": "arn:aws:kms:region:account-id:key/key-id" } ] }