View a markdown version of this page

先決條件和許可 - Amazon Bedrock

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

先決條件和許可

先決條件

當您提交進階提示最佳化任務時,Amazon Bedrock 會使用呼叫身分的許可,代表您存取帳戶中的資源。您用來呼叫 API 或存取 AWS 主控台的 IAM 使用者或角色必須具有以下許可:

  • 管理進階提示最佳化任務

  • 叫用目標基礎模型

  • 從 讀取輸入資料,並將結果寫入 Amazon S3 儲存貯體

  • (選用) 使用您的 AWS KMS 金鑰,使用客戶受管金鑰 (CMK) 加密任務輸出,或存取使用 CMK 的 S3 儲存貯體

  • (選用) 叫用 Lambda 函數以進行自訂評估

所需的 IAM 許可

API 許可

每個進階提示最佳化 API 都需要任務資源的特定 IAM 動作:

API 作業 IAM 動作 資源 存取層級
CreateAdvancedPromptOptimizationJob bedrock:CreateAdvancedPromptOptimizationJob arn:aws:bedrock:region:account-id:advanced-prompt-optimization-job/* 寫入
GetAdvancedPromptOptimizationJob bedrock:GetAdvancedPromptOptimizationJob arn:aws:bedrock:region:account-id:advanced-prompt-optimization-job/* 讀取
ListAdvancedPromptOptimizationJobs bedrock:ListAdvancedPromptOptimizationJobs arn:aws:bedrock:region:account-id:advanced-prompt-optimization-job/* 清單
StopAdvancedPromptOptimizationJob bedrock:StopAdvancedPromptOptimizationJob arn:aws:bedrock:region:account-id:advanced-prompt-optimization-job/* 寫入
BatchDeleteAdvancedPromptOptimization 任務 bedrock:BatchDeleteAdvancedPromptOptimization Job arn:aws:bedrock:region:account-id:advanced-prompt-optimization-job/* 寫入

模型調用許可

當您建立任務時,進階提示最佳化會使用呼叫者登入資料 (正向存取工作階段) 代表您叫用目標模型。您的 IAM 身分必須具有叫用指定模型的許可:

推論路徑 需要 IAM 動作 資源 ARN
ConverseStream (目前) bedrock:InvokeModelWithResponseStream arn:aws:bedrock:region::foundation-model/model-id
Converse (非串流) bedrock:InvokeModel arn:aws:bedrock:region::foundation-model/model-id
跨區域推論設定檔 bedrock:InvokeModelWithResponseStream arn:aws:bedrock:*:account-id:inference-profile/profile-id
重要

如果您帳戶中的模型未啟用模型存取,任務將失敗:「模型無法存取推論 API。確認角色具有叫用模型的許可。」

S3 儲存貯體許可

您的呼叫身分必須具有輸入資料集的讀取存取權,以及輸出位置的寫入存取權。S3 儲存貯體必須與任務位於相同的區域。

{ "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" }, { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET" }

如果您的 S3 儲存貯體使用 CMK 加密,請參閱使用 加密 AWS KMS 一節以取得所需的 KMS 許可。

使用 加密 AWS KMS (選用)

您可以透過兩種方式搭配進階提示最佳化使用 AWS KMS 客戶受管金鑰 (CMKs):

  • 任務輸出加密 – 在建立任務時指定 encryptionConfig 參數,以使用 CMK 加密最佳化結果。

  • S3 儲存貯體加密 – 如果您的 S3 儲存貯體使用伺服器端加密搭配 KMS 金鑰 (SSE-KMS),您的身分需要 KMS 許可,才能讀取輸入並將結果寫入該儲存貯體。

您可以對兩者使用相同的 KMS 金鑰,或使用單獨的金鑰。

所需的 KMS 動作取決於您使用 KMS 的方式:

使用案例 必要的動作
加密任務輸出 (encryptionConfig) kms:Encrypt, kms:GenerateDataKey, kms:DescribeKey
從 SSE-KMS 加密的 S3 儲存貯體讀取 kms:Decrypt
寫入 SSE-KMS 加密的 S3 儲存貯體 kms:GenerateDataKey

單一 KMS 金鑰

如果您針對輸出加密和 S3 儲存貯體加密使用相同的金鑰:

{ "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/your-kms-key-id" }

S3 輸入和任務輸出加密的個別 KMS 金鑰

如果您的 S3 輸入儲存貯體使用一個 KMS 金鑰,而且您想要使用不同的 KMS 金鑰來加密任務輸出:

{ "Sid": "KMSDecryptS3Input", "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/s3-bucket-kms-key-id" }, { "Sid": "KMSEncryptJobOutput", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:GenerateDataKey", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/output-encryption-kms-key-id" }

自訂評估 Lambda 許可 (選用)

如果您使用自訂 Lambda 函數來評估提示品質,您的呼叫身分必須具有叫用它的許可:

{ "Effect": "Allow", "Action": ["lambda:InvokeFunction","lambda:GetFunction"], "Resource": "arn:aws:lambda:us-west-2:123456789012:function:my-evaluation-metric" }

範例 IAM 政策

身分型政策:允許 AdvPO 任務管理和模型調用

將此政策連接到將建立和管理 AdvPO 任務的 IAM 使用者或角色。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateAndManageAdvPOJobs", "Effect": "Allow", "Action": [ "bedrock:CreateAdvancedPromptOptimizationJob", "bedrock:GetAdvancedPromptOptimizationJob", "bedrock:ListAdvancedPromptOptimizationJobs", "bedrock:StopAdvancedPromptOptimizationJob", "bedrock:BatchDeleteAdvancedPromptOptimizationJob" ], "Resource": "arn:aws:bedrock:us-east-1:123456789012:advanced-prompt-optimization-job/*" }, { "Sid": "InvokeModelsForOptimization", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:*::foundation-model/*", "arn:aws:bedrock:*:123456789012:inference-profile/*" ] }, { "Sid": "S3AccessForInputAndOutput", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::my-advpo-bucket/*" }, { "Sid": "S3ListBucket", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::my-advpo-bucket" } ] }

身分型政策:唯讀存取 AdvPO 任務

對於只需要檢視任務狀態和結果的使用者,請使用此政策。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewAdvPOJobs", "Effect": "Allow", "Action": [ "bedrock:GetAdvancedPromptOptimizationJob", "bedrock:ListAdvancedPromptOptimizationJobs" ], "Resource": "arn:aws:bedrock:us-east-1:123456789012:advanced-prompt-optimization-job/*" }, { "Sid": "ReadOutputFromS3", "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::my-advpo-bucket/output/*" } ] }

身分型政策:僅限特定模型

使用此政策僅允許 AdvPO 搭配特定模型 (例如,僅限 Claude Sonnet)。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AdvPOJobManagement", "Effect": "Allow", "Action": [ "bedrock:CreateAdvancedPromptOptimizationJob", "bedrock:GetAdvancedPromptOptimizationJob", "bedrock:ListAdvancedPromptOptimizationJobs", "bedrock:StopAdvancedPromptOptimizationJob" ], "Resource": "arn:aws:bedrock:us-east-1:123456789012:advanced-prompt-optimization-job/*" }, { "Sid": "InvokeOnlyClaudeSonnet", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:*::foundation-model/anthropic.claude-sonnet-*", "arn:aws:bedrock:*:123456789012:inference-profile/us.anthropic.claude-sonnet-*" ] }, { "Sid": "S3Access", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::my-advpo-bucket/*" } ] }

拒絕政策:防止 AdvPO 用量 (SCP 範例)

使用 做為服務控制政策 (SCP),以防止整個組織的 AdvPO 使用。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAdvPO", "Effect": "Deny", "Action": [ "bedrock:CreateAdvancedPromptOptimizationJob", "bedrock:StopAdvancedPromptOptimizationJob", "bedrock:BatchDeleteAdvancedPromptOptimizationJob" ], "Resource": "*" } ] }

跨區域推論

服務可能會使用跨區域推論 (CRIS) 進行評估和提示重寫。對於歐洲區域,服務將使用 eu CRIS 區域。對於下列區域,它可以使用全域 CRIS:ap-south-1 (孟買)、sa-east-1 (聖保羅)、ap-northeast-2 (首爾)、ap-southeast-1 (新加坡)。