Claude Platform on AWS 的 IAM 操作
通过 AWS 策略控制对 Claude Platform on AWS 访问权限的 IAM 操作参考。
Claude Platform on AWS 使用 AWS IAM 进行访问控制。每个 API 路由都映射到 aws-external-anthropic 命名空间中的一个 IAM 操作。本页面列出了所有操作、每个操作所授权的路由,以及适用于常见访问模式的托管策略。有关平台设置和身份验证,请参阅 Claude Platform on AWS。
服务详情
| 属性 | 值 |
|---|---|
| IAM 服务前缀 | aws-external-anthropic |
| 资源类型 | workspace |
工作区 ARN 格式:
arn:aws:aws-external-anthropic:{region}:{account-id}:workspace/{workspace-id}ARN 中的区域始终会被填充,并与工作区所绑定的区域一致。资源段是带标签的工作区 ID(wrkspc_...),与您在 anthropic-workspace-id 标头中传递的值相同。
操作
该服务定义了 71 个操作。操作遵循 AWS 的 VerbNoun 命名约定,并严格使用动词规范,使得 Get* 和 List* 通配符能够形成清晰的只读边界。
推理
| 操作 | 授权的路由 |
|---|---|
CreateInference | POST /v1/messages |
CountTokens | POST /v1/messages/count_tokens |
批处理
| 操作 | 授权的路由 |
|---|---|
CreateBatchInference | POST /v1/messages/batches |
GetBatchInference | GET /v1/messages/batches/{id}GET /v1/messages/batches/{id}/results |
ListBatchInferences | GET /v1/messages/batches |
CancelBatchInference | POST /v1/messages/batches/{id}/cancel |
DeleteBatchInference | DELETE /v1/messages/batches/{id} |
模型
| 操作 | 授权的路由 |
|---|---|
GetModel | GET /v1/models/{id} |
ListModels | GET /v1/models |
文件
| 操作 | 授权的路由 |
|---|---|
CreateFile | POST /v1/files |
GetFile | GET /v1/files/{id}GET /v1/files/{id}/content |
ListFiles | GET /v1/files |
DeleteFile | DELETE /v1/files/{id} |
技能
| 操作 | 授权的路由 |
|---|---|
CreateSkill | POST /v1/skills |
GetSkill | GET /v1/skills/{id}GET /v1/skills/{id}/versionsGET /v1/skills/{id}/versions/{version}GET /v1/skills/{id}/versions/{version}/content |
ListSkills | GET /v1/skills |
UpdateSkill | POST /v1/skills/{id}/versionsDELETE /v1/skills/{id}/versions/{version} |
DeleteSkill | DELETE /v1/skills/{id} |
代理
| 操作 | 授权的路由 |
|---|---|
CreateAgent | POST /v1/agents |
GetAgent | GET /v1/agents/{id}GET /v1/agents/{id}/versions |
ListAgents | GET /v1/agents |
UpdateAgent | POST /v1/agents/{id} |
ArchiveAgent | POST /v1/agents/{id}/archive |
会话
| 操作 | 授权的路由 |
|---|---|
CreateSession | POST /v1/sessions |
GetSession | GET /v1/sessions/{id}GET /v1/sessions/{id}/eventsGET /v1/sessions/{id}/events/streamGET /v1/sessions/{id}/resourcesGET /v1/sessions/{id}/resources/{id} |
ListSessions | GET /v1/sessions |
UpdateSession | POST /v1/sessions/{id}POST /v1/sessions/{id}/eventsPOST /v1/sessions/{id}/resourcesPOST /v1/sessions/{id}/resources/{id}DELETE /v1/sessions/{id}/resources/{id} |
ArchiveSession | POST /v1/sessions/{id}/archive |
DeleteSession | DELETE /v1/sessions/{id} |
环境
| 操作 | 授权的路由 |
|---|---|
CreateEnvironment | POST /v1/environments |
GetEnvironment | GET /v1/environments/{id}GET /v1/environments/{id}/workGET /v1/environments/{id}/work/{work_id}GET /v1/environments/{id}/work/stats |
ListEnvironments | GET /v1/environments |
UpdateEnvironment | POST /v1/environments/{id} |
ArchiveEnvironment | POST /v1/environments/{id}/archive |
DeleteEnvironment | DELETE /v1/environments/{id} |
ProcessEnvironmentWork | GET /v1/environments/{id}/work/pollPOST /v1/environments/{id}/work/{work_id}POST /v1/environments/{id}/work/{work_id}/ackPOST /v1/environments/{id}/work/{work_id}/heartbeatPOST /v1/environments/{id}/work/{work_id}/stop |
保管库
| 操作 | 授权的路由 |
|---|---|
CreateVault | POST /v1/vaults |
GetVault | GET /v1/vaults/{id}GET /v1/vaults/{id}/credentialsGET /v1/vaults/{id}/credentials/{id} |
ListVaults | GET /v1/vaults |
UpdateVault | POST /v1/vaults/{id}POST /v1/vaults/{id}/credentialsPOST /v1/vaults/{id}/credentials/{id}POST /v1/vaults/{id}/credentials/{id}/archiveDELETE /v1/vaults/{id}/credentials/{id} |
ArchiveVault | POST /v1/vaults/{id}/archive |
DeleteVault | DELETE /v1/vaults/{id} |
记忆存储
| 操作 | 授权的路由 |
|---|---|
CreateMemoryStore | POST /v1/memory_stores |
GetMemoryStore | GET /v1/memory_stores/{id}GET /v1/memory_stores/{id}/memoriesGET /v1/memory_stores/{id}/memories/{id}GET /v1/memory_stores/{id}/memory_versionsGET /v1/memory_stores/{id}/memory_versions/{id} |
ListMemoryStores | GET /v1/memory_stores |
UpdateMemoryStore | POST /v1/memory_stores/{id}POST /v1/memory_stores/{id}/memoriesPOST /v1/memory_stores/{id}/memories/{id}DELETE /v1/memory_stores/{id}/memories/{id}POST /v1/memory_stores/{id}/memory_versions/{id}/redact |
ArchiveMemoryStore | POST /v1/memory_stores/{id}/archive |
DeleteMemoryStore | DELETE /v1/memory_stores/{id} |
Webhook
| 操作 | 授权的路由 |
|---|---|
CreateWebhook | POST /v1/webhooks |
GetWebhook | GET /v1/webhooks/{id} |
ListWebhooks | GET /v1/webhooks |
UpdateWebhook | POST /v1/webhooks/{id} |
DeleteWebhook | DELETE /v1/webhooks/{id} |
RotateWebhookSecret | POST /v1/webhooks/{id}/regenerate_signing_secret |
用户配置文件
| 操作 | 授权的路由 |
|---|---|
CreateUserProfile | POST /v1/user_profiles |
GetUserProfile | GET /v1/user_profiles/{id} |
ListUserProfiles | GET /v1/user_profiles |
UpdateUserProfile | POST /v1/user_profiles/{id} |
工作区
| 操作 | 授权的路由 |
|---|---|
CreateWorkspace | POST /v1/organizations/workspaces |
GetWorkspace | GET /v1/organizations/workspaces/{id} |
ListWorkspaces | GET /v1/organizations/workspaces |
UpdateWorkspace | POST /v1/organizations/workspaces/{id} |
ArchiveWorkspace | POST /v1/organizations/workspaces/{id}/archive |
加密密钥
| 操作 | 授权的路由 |
|---|---|
RegisterKey | POST /v1/organizations/external_keys |
GetKey | GET /v1/organizations/external_keys/{id} |
ListKeys | GET /v1/organizations/external_keys |
UpdateKey | POST /v1/organizations/external_keys/{id} |
DisableKey | DELETE /v1/organizations/external_keys/{id} |
合规
| 操作 | 授权的路由 |
|---|---|
ListComplianceActivities | GET /v1/compliance/activities |
身份验证
| 操作 | 授权的路由 |
|---|---|
CallWithBearerToken | (无) |
CallWithBearerToken 是一项身份验证层权限,授权主体通过 API 密钥(bearer token,持有者令牌)而非 AWS SigV4 进行身份验证。它不映射到任何路由。请将其与您希望 API 密钥持有者能够执行的路由映射操作一起授予。
控制台访问
| 操作 | 授权的路由 |
|---|---|
AssumeConsole | (无) |
AssumeConsole 授权主体通过 AWS Console 联合登录流程为 Claude Platform on AWS 工作区打开 Claude Console。它不映射到任何路由。请将其授予应当能够在 AWS Console 中 Claude Platform on AWS 服务页面上点击 Open Claude Console 的主体。Claude Console 角色(Admin 或 Developer)由您的 Anthropic 客户代表单独分配;它并非从主体的 IAM 权限派生而来。有关登录流程和角色说明,请参阅使用 Claude Console。
路由到操作映射
下表列出了 Claude Platform on AWS 上的每个路由以及调用它所需的 IAM 操作。每个 IAM 操作同时也授权使用 anthropic-beta 标头的请求;路由的 beta 变体不需要单独的 IAM 操作。CloudTrail 将每个操作分类为 Data 事件(高容量的数据平面操作)或 Management 事件(控制平面操作)。保管库和 webhook 操作被分类为 Management 事件,因为它们持有密钥(保管库凭证和 webhook 签名密钥),并受益于默认开启的审计日志记录。工作区、外部密钥和合规操作也被分类为 Management 事件,因为它们是组织范围的控制平面操作。所有其他操作,包括推理、批处理、模型、文件、技能、用户配置文件以及其余的 Claude Managed Agents 操作,均被分类为 Data 事件。
| 方法 | 路由 | IAM 操作 | CloudTrail 事件类型 |
|---|---|---|---|
POST | /v1/messages | CreateInference | Data |
POST | /v1/messages/count_tokens | CountTokens | Data |
POST | /v1/messages/batches | CreateBatchInference | Data |
GET | /v1/messages/batches | ListBatchInferences | Data |
GET | /v1/messages/batches/{id} | GetBatchInference | Data |
GET | /v1/messages/batches/{id}/results | GetBatchInference | Data |
POST | /v1/messages/batches/{id}/cancel | CancelBatchInference | Data |
DELETE | /v1/messages/batches/{id} | DeleteBatchInference | Data |
GET | /v1/models | ListModels | Data |
GET | /v1/models/{id} | GetModel | Data |
POST | /v1/files | CreateFile | Data |
GET | /v1/files | ListFiles | Data |
GET | /v1/files/{id} | GetFile | Data |
GET | /v1/files/{id}/content | GetFile | Data |
DELETE | /v1/files/{id} | DeleteFile | Data |
POST | /v1/skills | CreateSkill | Data |
GET | /v1/skills | ListSkills | Data |
GET | /v1/skills/{id} | GetSkill | Data |
DELETE | /v1/skills/{id} | DeleteSkill | Data |
POST | /v1/skills/{id}/versions | UpdateSkill | Data |
GET | /v1/skills/{id}/versions | GetSkill | Data |
GET | /v1/skills/{id}/versions/{version} | GetSkill | Data |
GET | /v1/skills/{id}/versions/{version}/content | GetSkill | Data |
DELETE | /v1/skills/{id}/versions/{version} | UpdateSkill | Data |
POST | /v1/user_profiles | CreateUserProfile | Data |
GET | /v1/user_profiles | ListUserProfiles | Data |
GET | /v1/user_profiles/{id} | GetUserProfile | Data |
POST | /v1/user_profiles/{id} | UpdateUserProfile | Data |
POST | /v1/organizations/workspaces | CreateWorkspace | Management |
GET | /v1/organizations/workspaces | ListWorkspaces | Management |
GET | /v1/organizations/workspaces/{id} | GetWorkspace | Management |
POST | /v1/organizations/workspaces/{id} | UpdateWorkspace | Management |
POST | /v1/organizations/workspaces/{id}/archive | ArchiveWorkspace | Management |
POST | /v1/organizations/external_keys | RegisterKey | Management |
GET | /v1/organizations/external_keys | ListKeys | Management |
GET | /v1/organizations/external_keys/{id} | GetKey | Management |
POST | /v1/organizations/external_keys/{id} | UpdateKey | Management |
DELETE | /v1/organizations/external_keys/{id} | DisableKey | Management |
GET | /v1/compliance/activities | ListComplianceActivities | Management |
POST | /v1/agents | CreateAgent | Data |
GET | /v1/agents | ListAgents | Data |
GET | /v1/agents/{id} | GetAgent | Data |
POST | /v1/agents/{id} | UpdateAgent | Data |
POST | /v1/agents/{id}/archive | ArchiveAgent | Data |
GET | /v1/agents/{id}/versions | GetAgent | Data |
POST | /v1/sessions | CreateSession | Data |
GET | /v1/sessions | ListSessions | Data |
GET | /v1/sessions/{id} | GetSession | Data |
POST | /v1/sessions/{id} | UpdateSession | Data |
POST | /v1/sessions/{id}/archive | ArchiveSession | Data |
DELETE | /v1/sessions/{id} | DeleteSession | Data |
GET | /v1/sessions/{id}/events | GetSession | Data |
POST | /v1/sessions/{id}/events | UpdateSession | Data |
GET | /v1/sessions/{id}/events/stream | GetSession | Data |
GET | /v1/sessions/{id}/resources | GetSession | Data |
GET | /v1/sessions/{id}/resources/{id} | GetSession | Data |
POST | /v1/sessions/{id}/resources | UpdateSession | Data |
POST | /v1/sessions/{id}/resources/{id} | UpdateSession | Data |
DELETE | /v1/sessions/{id}/resources/{id} | UpdateSession | Data |
POST | /v1/environments | CreateEnvironment | Data |
GET | /v1/environments | ListEnvironments | Data |
GET | /v1/environments/{id} | GetEnvironment | Data |
POST | /v1/environments/{id} | UpdateEnvironment | Data |
POST | /v1/environments/{id}/archive | ArchiveEnvironment | Data |
DELETE | /v1/environments/{id} | DeleteEnvironment | Data |
GET | /v1/environments/{id}/work | GetEnvironment | Data |
GET | /v1/environments/{id}/work/poll | ProcessEnvironmentWork | Data |
GET | /v1/environments/{id}/work/{work_id} | GetEnvironment | Data |
GET | /v1/environments/{id}/work/stats | GetEnvironment | Data |
POST | /v1/environments/{id}/work/{work_id} | ProcessEnvironmentWork | Data |
POST | /v1/environments/{id}/work/{work_id}/ack | ProcessEnvironmentWork | Data |
POST | /v1/environments/{id}/work/{work_id}/heartbeat | ProcessEnvironmentWork | Data |
POST | /v1/environments/{id}/work/{work_id}/stop | ProcessEnvironmentWork | Data |
POST | /v1/vaults | CreateVault | Management |
GET | /v1/vaults | ListVaults | Management |
GET | /v1/vaults/{id} | GetVault | Management |
POST | /v1/vaults/{id} | UpdateVault | Management |
POST | /v1/vaults/{id}/archive | ArchiveVault | Management |
DELETE | /v1/vaults/{id} | DeleteVault | Management |
GET | /v1/vaults/{id}/credentials | GetVault | Management |
POST | /v1/vaults/{id}/credentials | UpdateVault | Management |
GET | /v1/vaults/{id}/credentials/{id} | GetVault | Management |
POST | /v1/vaults/{id}/credentials/{id} | UpdateVault | Management |
POST | /v1/vaults/{id}/credentials/{id}/archive | UpdateVault | Management |
DELETE | /v1/vaults/{id}/credentials/{id} | UpdateVault | Management |
POST | /v1/memory_stores | CreateMemoryStore | Data |
GET | /v1/memory_stores | ListMemoryStores | Data |
GET | /v1/memory_stores/{id} | GetMemoryStore | Data |
POST | /v1/memory_stores/{id} | UpdateMemoryStore | Data |
POST | /v1/memory_stores/{id}/archive | ArchiveMemoryStore | Data |
DELETE | /v1/memory_stores/{id} | DeleteMemoryStore | Data |
POST | /v1/memory_stores/{id}/memories | UpdateMemoryStore | Data |
GET | /v1/memory_stores/{id}/memories | GetMemoryStore | Data |
GET | /v1/memory_stores/{id}/memories/{id} | GetMemoryStore | Data |
POST | /v1/memory_stores/{id}/memories/{id} | UpdateMemoryStore | Data |
DELETE | /v1/memory_stores/{id}/memories/{id} | UpdateMemoryStore | Data |
GET | /v1/memory_stores/{id}/memory_versions | GetMemoryStore | Data |
GET | /v1/memory_stores/{id}/memory_versions/{id} | GetMemoryStore | Data |
POST | /v1/memory_stores/{id}/memory_versions/{id}/redact | UpdateMemoryStore | Data |
GET | /v1/webhooks | ListWebhooks | Management |
GET | /v1/webhooks/{id} | GetWebhook | Management |
POST | /v1/webhooks | CreateWebhook | Management |
POST | /v1/webhooks/{id} | UpdateWebhook | Management |
DELETE | /v1/webhooks/{id} | DeleteWebhook | Management |
POST | /v1/webhooks/{id}/regenerate_signing_secret | RotateWebhookSecret | Management |
不在此表中的路由在 Claude Platform on AWS 上不可用。网关默认拒绝此处未列出的任何路由。
托管策略
AWS 为 Claude Platform on AWS 提供五个托管策略。所有托管策略均应用于 Resource: "*"。
| 策略 | 授予 |
|---|---|
AnthropicFullAccess | aws-external-anthropic:* |
AnthropicReadOnlyAccess | Get*、List*、CallWithBearerToken |
AnthropicInferenceAccess | Get*、List*、CreateInference、CreateBatchInference、CancelBatchInference、DeleteBatchInference、CountTokens、CallWithBearerToken |
AnthropicLimitedAccess | 所有 AnthropicInferenceAccess 操作,加上所有 Claude Managed Agents 操作(代理、会话、环境、保管库、记忆存储、webhook 以及自托管环境工作) |
AnthropicSelfHostedEnvironmentAccess | GetEnvironment、ProcessEnvironmentWork、GetSession、UpdateSession、GetSkill、CallWithBearerToken |
AnthropicInferenceAccess 是足以运行推理的最窄托管策略。它涵盖同步推理和批量推理,并通过 Get* 和 List* 通配符授予对命名空间中每个 API 资源的读取访问权限,包括 Claude Managed Agents(CMA)资源(代理、会话、环境、保管库、记忆存储和 webhook)。这包括通过 GetFile 下载文件内容(请参阅文件注释)、通过 GetSkill 下载技能内容(请参阅技能注释)以及通过 GetMemoryStore 读取记忆内容。保管库凭证密钥和 webhook 签名密钥不会被暴露:这些字段为只写字段,GetVault 或 GetWebhook 永远不会返回它们(请参阅使用保管库进行身份验证)。AnthropicInferenceAccess 不授予文件创建或删除、技能管理、用户配置文件管理、工作区变更、加密密钥管理或任何 Claude Managed Agents 写入操作(创建、更新、归档、删除、处理或轮换)。若要排除 CMA 读取权限,请将 AnthropicInferenceAccess 替换为仅枚举您所需的特定非 CMA 操作的自定义策略。
AnthropicLimitedAccess 除推理操作外,还包含所有 Claude Managed Agents 操作。
AnthropicSelfHostedEnvironmentAccess 是足以运行自托管沙箱工作进程的最窄托管策略。请将其附加到您的环境工作进程进行身份验证时所使用的主体。
AssumeConsole 不包含在 AnthropicReadOnlyAccess、AnthropicInferenceAccess、AnthropicLimitedAccess 或 AnthropicSelfHostedEnvironmentAccess 中。需要 Claude Console 访问权限的主体需要 AnthropicFullAccess 或授予 aws-external-anthropic:AssumeConsole 的自定义策略。请参阅控制台访问。
示例策略
在单个工作区上进行同步推理
为针对一个生产工作区运行推理的 IAM 主体授予最小权限:
{
"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"
],
"Resource": "arn:aws:aws-external-anthropic:us-west-2:123456789012:workspace/wrkspc_01AbCdEf23GhIj"
}
]
}按客户隔离工作区
将角色限制在单个工作区:
{
"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": "*"
}
]
}针对 ZDR 敏感工作区的功能锁定
在特定工作区上阻止批处理和文件上传,同时保留同步推理可用。当工作区处理不得在服务器端持久化的零数据保留(ZDR)数据时非常有用。请将此策略与 Allow 策略(例如 AnthropicInferenceAccess 或单工作区示例)一起附加;仅包含 Deny 的策略本身不授予任何权限:
{
"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"
}
]
}配置自动化
授予 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": "*"
}
]
}CreateWorkspace 和 ListWorkspaces 是账户范围的操作。在这些操作上指定工作区 ARN 不会产生任何效果;请使用 Resource: "*"。
另请参阅
- Claude Platform on AWS:了解设置、身份验证和平台概述
- AWS IAM 用户指南:了解 IAM 策略语法和评估逻辑
- AWS CloudTrail 用户指南:了解审计日志配置
Was this page helpful?