View a markdown version of this page

IAM 政策 - AWS 上的 Claude 平台

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

IAM 政策

AWS 上的 Claude 平台與 AWS IAM 整合以進行存取控制。您可以使用標準 IAM 政策語法,授予或拒絕特定工作區上特定 API 動作的存取權。

SigV4 服務名稱和 IAM 動作命名空間為 aws-external-anthropic。動作遵循 模式 aws-external-anthropic:<Action>(例如,aws-external-anthropic:CreateInference)。

範例:拒絕批次推論

下列政策允許即時推論,同時封鎖批次處理,這是 ZDR 敏感工作負載的常見需求:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "aws-external-anthropic:CreateInference", "aws-external-anthropic:CountTokens", "aws-external-anthropic:GetModel", "aws-external-anthropic:ListModels", "aws-external-anthropic:GetWorkspace", "aws-external-anthropic:ListWorkspaces" ], "Resource": "arn:aws:aws-external-anthropic:*:*:workspace/*" }, { "Effect": "Deny", "Action": [ "aws-external-anthropic:CreateBatchInference", "aws-external-anthropic:GetBatchInference", "aws-external-anthropic:ListBatchInferences" ], "Resource": "*" } ] }

GetBatchInference 動作會同時授權批次中繼資料路由和批次結果路由。拒絕它,以及 ListBatchInferences,會同時封鎖讀取和批次列舉。

Allow 陳述式會列舉特定 Get*List*動作,而不是使用萬用字元。萬用字元會授予 GetFile(下載檔案位元組) 和其他您不想要的讀取;Allow無論如何都會Deny覆寫,但明確形式是建立模型的安全模式。

範例:單一工作區上的同步推論

授予對一個生產工作區執行推論的 IAM 主體最低許可:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "aws-external-anthropic:CreateInference", "aws-external-anthropic:CountTokens", "aws-external-anthropic:Get*", "aws-external-anthropic:List*" ], "Resource": "arn:aws:aws-external-anthropic:us-west-2:123456789012:workspace/wrkspc_01AbCdEf23GhIj" } ] }
注意

此政策中的List*萬用字元也符合ListWorkspaces帳戶範圍的 。工作區 ARN 限制條件會無提示地篩選掉,因此此政策不會授權列出工作區。如果您的服務帳戶需要列舉工作區,請使用 新增 ListWorkspaces的個別Allow陳述式Resource: "*"

此政策假設 AWS SigV4 身分驗證。如果委託人使用 API 金鑰進行身分驗證,請同時授予 aws-external-anthropic:CallWithBearerToken(請參閱身分驗證)。

範例:每個客戶工作區隔離

將角色限制為單一工作區:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "aws-external-anthropic:*", "Resource": "arn:aws:aws-external-anthropic:us-west-2:123456789012:workspace/wrkspc_01AbCdEf23GhIj" }, { "Effect": "Allow", "Action": [ "aws-external-anthropic:CallWithBearerToken", "aws-external-anthropic:AssumeConsole" ], "Resource": "*" } ] }
注意

第一個陳述式中的aws-external-anthropic:*萬用字元包含帳戶範圍動作 (CreateWorkspaceListWorkspaces),工作區 ARN 限制會以無提示方式篩選掉。這與「隔離」意圖一致 — 角色無法建立或列舉工作區 — 但政策包含沒有效果的許可。請參閱佈建自動化以取得帳戶範圍模式。

第二個陳述式會在所有資源AssumeConsole上授予 CallWithBearerToken和 ,因為兩者都是未繫結至工作區 ARN 的無路由動作。如果角色僅使用 SigV4,且永遠不會與 Claude 主控台聯合,請省略第二個陳述式。

範例:對 ZDR 敏感工作區的功能鎖定

封鎖特定工作區上的批次處理和檔案上傳,同時保持同步推論可用。當工作區處理不得保留伺服器端的零資料保留 (ZDR) 資料時很有用。將此政策與允許政策連接,例如 AnthropicLimitedAccess或上述的單一工作區範例;僅拒絕政策本身不會授予任何許可:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "aws-external-anthropic:CreateBatchInference", "aws-external-anthropic:CreateFile" ], "Resource": "arn:aws:aws-external-anthropic:us-west-2:123456789012:workspace/wrkspc_01AbCdEf23GhIj" } ] }
注意

此拒絕只會封鎖建立。除非您也列出其他檔案和批次動作,否則不會拒絕這些動作。如需工作區絕不能保留檔案或批次的完整鎖定,請同時拒絕 aws-external-anthropic:GetFileaws-external-anthropic:ListFilesaws-external-anthropic:DeleteFileaws-external-anthropic:GetBatchInferenceaws-external-anthropic:ListBatchInferencesaws-external-anthropic:CancelBatchInferenceaws-external-anthropic:DeleteBatchInference

範例:佈建自動化

授予 CI/CD 角色建立和管理工作區所需的動作,無需任何推論許可:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "aws-external-anthropic:CreateWorkspace", "aws-external-anthropic:GetWorkspace", "aws-external-anthropic:ListWorkspaces", "aws-external-anthropic:UpdateWorkspace", "aws-external-anthropic:ArchiveWorkspace" ], "Resource": "*" } ] }

CreateWorkspaceListWorkspaces是帳戶範圍的操作。在這些動作上指定工作區 ARN 沒有效果;請使用 Resource: "*"

受管政策

AWS 提供常見存取模式的受管政策:

  • AnthropicFullAccessaws-external-anthropic:*授予所有資源。

  • AnthropicReadOnlyAccess在所有資源CallWithBearerToken上授予 List*Get*和 。

  • AnthropicInferenceAccess授予所有資源上的 ReadOnly 動作加上推論動作 (CreateInferenceCreateBatchInferenceCancelBatchInference、、DeleteBatchInferenceCountTokens)。

  • AnthropicLimitedAccess授予所有資源上的AnthropicInferenceAccess動作加上所有 Claude Managed Agents 動作 (代理程式、工作階段、環境、保存庫、記憶體存放區)。

  • AnthropicSelfHostedEnvironmentAccess授予自我託管沙盒工作者輪詢和處理環境工作項目、讀取相關環境、工作階段和技能資源,以及更新工作階段狀態所需的許可。將此政策連接到您自我託管環境工作者擔任的 IAM 角色。 AnthropicSelfHostedEnvironmentAccess是建議的單一角色預設值;如果您在不同的 IAM 主體下執行工作輪詢器和每個工作階段沙盒,您可以將這些許可分割為兩個更窄的自訂政策,以實現最低權限。

AnthropicInferenceAccess 是足以執行推論的最窄受管政策。透過 Get*List* 萬用字元,它授予 命名空間中每個 API 資源的讀取存取權,包括透過 下載的檔案內容GetFile,以及透過 下載的記憶體內容GetMemoryStore。它不會授予檔案或技能建立或刪除、使用者設定檔管理、工作區變動或主控台聯合。

注意

AnthropicReadOnlyAccessAnthropicInferenceAccessAnthropicLimitedAccess 不授予 AssumeConsole。需要聯合到 Claude Console 的委託人需要單獨授予 aws-external-anthropic:AssumeConsole - 透過 AnthropicFullAccess或自訂政策。請參閱聯合到 Claude 主控台

注意

CreateInferenceCreateBatchInference 是獨立的動作。拒絕一個不會封鎖另一個。如果您想要防止所有模型呼叫,請同時拒絕兩者。

聯合到 Claude 主控台

aws-external-anthropic:AssumeConsole 可讓 IAM 主體聯合到 Anthropic 操作的 Claude 主控台。對於大多數操作,主控台內的存取仍然由 IAM 管理,但管理操作的子集,主要是沒有對應 IAM API 的使用情況檢視,取決於主體聯合的功能。

有兩個功能:

  • developer — 允許 AWS 開發人員在day-to-day上所需的 Claude 平台操作:從主控台執行推論、讀取工作區資料、檢視個人用量。

  • admin — 還允許僅管理員主控台操作,包括非透過 IAM 動作呈現的整個帳戶用量檢視和管理設定。

使用 AssumeConsole 動作的條件aws-external-anthropic:Capability索引鍵控制主體可以請求的功能:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "aws-external-anthropic:AssumeConsole", "Resource": "*", "Condition": { "StringEquals": { "aws-external-anthropic:Capability": "admin" } } } ] }

AnthropicFullAccess 授予AssumeConsole沒有功能限制。對於任何較窄的授予 - 僅限開發人員的主控台存取或僅限管理員的存取 - 連接自訂政策,其範圍AssumeConsole與上述aws-external-anthropic:Capability條件相同。

使用承載字符呼叫

aws-external-anthropic:CallWithBearerToken 當 API 金鑰顯示為承載字符時, 會授權使用的SigV4-free 請求路徑。使用 API 金鑰進行身分驗證的任何委託人都需要在目標工作區執行此動作。無論您直接使用或ANTHROPIC_AWS_API_KEY設定 Authorization: Bearer 標頭,這都會套用。

除了推論動作 (CreateInference、 等) 之外CreateBatchInference,API 金鑰發起人也需要此項目。如果沒有 CallWithBearerToken,API 金鑰請求會在達到推論授權檢查之前遭到拒絕。SigV4 呼叫者不需要此動作。

AnthropicReadOnlyAccessAnthropicLimitedAccessAnthropicInferenceAccessAnthropicFullAccess全都包含 CallWithBearerToken。如果您撰寫 API 金鑰存取的自訂政策,請明確新增它。

傳出 Web 聯合身分 (主控台存取時需要)

Claude 主控台會在 Anthropic 基礎設施中執行,而非 AWS。當 IAM 主體呼叫 時AssumeConsole,AWS STS 會發出範圍限定為 Anthropic 對象的 Web 身分字符;然後,Anthropic 主控台會接受該字符並建立聯合工作階段。為此,AWS 帳戶必須允許aws-external-anthropic對象使用傳出 Web 聯合身分。

除了 aws-external-anthropic:AssumeConsole動作之外,呼叫 的委託人AssumeConsole還需要下列 STS 許可:

  • sts:GetWebIdentityToken — 允許發出 Anthropic 主控台使用的 Web 身分字符。

  • sts:TagGetWebIdentityToken — 允許將工作階段標籤連接到 Web 身分字符。AWS 上的 Claude 平台使用這些標籤,將主體的功能和工作區內容傳遞至主控台。

在主控台使用者擔任的任何角色的信任政策中包含兩者,或在連接到AssumeConsole直接呼叫之使用者身分的內嵌/受管政策中AnthropicFullAccess包含兩者。 包含這兩個 STS 動作。在 sts:* SCP 或許可界限層級拒絕的環境必須明確允許這兩個動作,主控台聯合才能成功。