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 标头中传递的相同值。
该服务定义了 65 个操作。操作遵循 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} |
GetBatchInference 同时授权读取批处理元数据和下载批处理结果。AnthropicReadOnlyAccess、AnthropicInferenceAccess 和 AnthropicLimitedAccess 策略的 Get* 通配符包含此操作。
| 操作 | 授权的路由 |
|---|---|
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} |
GetFile 同时授权元数据和内容下载。具有只读访问权限的主体可以下载文件字节,而不仅仅是列出文件。
| 操作 | 授权的路由 |
|---|---|
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} |
GetSkill 同时授权技能元数据和技能内容下载。具有只读访问权限的主体可以下载技能字节,而不仅仅是列出技能。
创建或删除单个技能版本映射到 UpdateSkill,而不是 CreateSkill 或 DeleteSkill。拒绝 aws-external-anthropic:Delete* 的策略仍然允许版本删除,拒绝 aws-external-anthropic:Create* 的策略仍然允许版本创建。如果您需要阻止任何技能变更,请同时拒绝 UpdateSkill 和 CreateSkill。
| 操作 | 授权的路由 |
|---|---|
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 |
智能体仅支持归档,不支持硬删除。拒绝 aws-external-anthropic:Delete* 的策略不会阻止 ArchiveAgent。如果您需要阻止任何智能体变更,请拒绝 ArchiveAgent、UpdateAgent 和 CreateAgent。
| 操作 | 授权的路由 |
|---|---|
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} |
GetSession 授权读取会话元数据、完整事件流(对话历史记录)和会话资源。AnthropicReadOnlyAccess、AnthropicInferenceAccess 和 AnthropicLimitedAccess 策略的 Get* 通配符包含此操作。
创建、更新或删除单个会话子资源(事件或会话资源)映射到 UpdateSession,而不是 CreateSession 或 DeleteSession。拒绝 aws-external-anthropic:Delete* 的策略仍然允许子资源删除,拒绝 aws-external-anthropic:Create* 的策略仍然允许子资源创建。如果您需要阻止任何会话变更,请同时拒绝 UpdateSession、CreateSession 和 ArchiveSession。
| 操作 | 授权的路由 |
|---|---|
CreateEnvironment | POST /v1/environments |
GetEnvironment | GET /v1/environments/{id}GET /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 |
拒绝 aws-external-anthropic:Delete* 的策略不会阻止 ArchiveEnvironment。ProcessEnvironmentWork 不会被 Create*、Update*、Delete* 或 Archive* 通配符匹配。如果您需要阻止任何环境变更,请同时拒绝 ArchiveEnvironment、UpdateEnvironment、CreateEnvironment 和 ProcessEnvironmentWork。
ProcessEnvironmentWork 授权自托管沙箱工作进程轮询、确认、发送心跳、停止环境工作项并发布其结果。仅将其授予运行自托管环境工作进程的主体。AnthropicSelfHostedEnvironmentAccess 托管策略包含此操作。
| 操作 | 授权的路由 |
|---|---|
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} |
创建、更新、归档或删除单个保管库凭据映射到 UpdateVault。读取凭据映射到 GetVault。保管库凭据密钥不会被暴露:密钥字段是只写的,GetVault 永远不会返回它们(请参阅使用保管库进行身份验证)。拒绝 aws-external-anthropic:Delete* 的策略仍然允许凭据删除,拒绝 aws-external-anthropic:Create* 的策略仍然允许凭据创建。如果您需要阻止任何保管库变更,请同时拒绝 UpdateVault、CreateVault 和 ArchiveVault。
| 操作 | 授权的路由 |
|---|---|
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} |
GetMemoryStore 授权读取存储元数据、所有内存和内存版本历史记录。AnthropicReadOnlyAccess、AnthropicInferenceAccess 和 AnthropicLimitedAccess 策略的 Get* 通配符包含此操作。
创建、更新或删除单个内存以及编辑内存版本都映射到 UpdateMemoryStore,而不是 CreateMemoryStore 或 DeleteMemoryStore。拒绝 aws-external-anthropic:Delete* 的策略仍然允许单个内存删除和内存版本编辑,拒绝 aws-external-anthropic:Create* 的策略仍然允许单个内存创建。如果您需要阻止任何内存存储变更,请同时拒绝 UpdateMemoryStore、CreateMemoryStore 和 ArchiveMemoryStore。
| 操作 | 授权的路由 |
|---|---|
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 |
Webhook 签名密钥是只写的。GetWebhook 仅返回 webhook 元数据;它不会返回签名密钥。
RotateWebhookSecret 不会被 aws-external-anthropic:Create*、Update* 或 Delete* 通配符匹配。拒绝这些模式的策略仍然允许密钥轮换。如果您需要阻止任何 webhook 变更,请拒绝 RotateWebhookSecret、UpdateWebhook、CreateWebhook 和 DeleteWebhook。
| 操作 | 授权的路由 |
|---|---|
CreateUserProfile | POST /v1/user_profiles |
GetUserProfile | GET /v1/user_profiles/{id} |
ListUserProfiles | GET /v1/user_profiles |
UpdateUserProfile | POST /v1/user_profiles/{id} |
IAM 操作匹配不区分大小写。通配符 aws-external-anthropic:*File 匹配 CreateFile、GetFile 和 DeleteFile,但不匹配 ListFiles(以 "files" 结尾,而不是 "file")。它还会过度匹配 CreateUserProfile、GetUserProfile 和 UpdateUserProfile,因为 "Profile" 以 "file" 结尾。如果您打算仅授予或拒绝 Files API 操作,请显式枚举它们(CreateFile、GetFile、ListFiles、DeleteFile),而不是使用 *File 后缀模式。
| 操作 | 授权的路由 |
|---|---|
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 |
工作区仅支持归档,不支持硬删除。拒绝 aws-external-anthropic:Delete* 的策略不会阻止 ArchiveWorkspace。如果您需要阻止任何工作区变更,请拒绝 ArchiveWorkspace、UpdateWorkspace 和 CreateWorkspace。
| 操作 | 授权的路由 |
|---|---|
CallWithBearerToken | (无) |
CallWithBearerToken 是一个身份验证层权限,授权主体通过 API 密钥(持有者令牌)而不是 AWS SigV4 进行身份验证。它不映射到任何路由。请将其与您希望 API 密钥持有者执行的路由映射操作一起授予。
| 操作 | 授权的路由 |
|---|---|
AssumeConsole | (无) |
AssumeConsole 授权主体通过 AWS 控制台联合身份验证流程为 Claude Platform on AWS 工作区打开 Claude Console。它不映射到任何路由。请将其授予应能够在 AWS 控制台的 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 将每个操作分类为数据事件(高容量、数据平面操作)或管理事件(控制平面操作)。保管库和 webhook 操作被分类为管理事件,因为它们持有密钥(保管库凭据和 webhook 签名密钥),并受益于默认开启的审计日志记录。工作区操作也被分类为管理事件,因为它们是组织范围的控制平面操作。所有其他操作,包括推理、批处理、模型、文件、技能、用户配置文件以及其余的 Claude Managed Agents 操作,都被分类为数据事件。
| 方法 | 路由 | IAM 操作 | CloudTrail 事件类型 |
|---|---|---|---|
POST | /v1/messages | CreateInference | 数据 |
POST | /v1/messages/count_tokens | CountTokens | 数据 |
POST | /v1/messages/batches | CreateBatchInference | 数据 |
GET | /v1/messages/batches | ListBatchInferences | 数据 |
GET | /v1/messages/batches/{id} | GetBatchInference | 数据 |
GET | /v1/messages/batches/{id}/results | GetBatchInference | 数据 |
POST | /v1/messages/batches/{id}/cancel | CancelBatchInference | 数据 |
DELETE | /v1/messages/batches/{id} | DeleteBatchInference | 数据 |
GET | /v1/models | ListModels | 数据 |
GET | /v1/models/{id} | GetModel | 数据 |
POST | /v1/files | CreateFile | 数据 |
GET | /v1/files | ListFiles | 数据 |
GET | /v1/files/{id} | GetFile | 数据 |
GET | /v1/files/{id}/content | GetFile | 数据 |
DELETE | /v1/files/{id} | DeleteFile | 数据 |
POST | /v1/skills | CreateSkill | 数据 |
GET | /v1/skills | ListSkills | 数据 |
GET | /v1/skills/{id} | GetSkill | 数据 |
DELETE | /v1/skills/{id} | DeleteSkill | 数据 |
POST | /v1/skills/{id}/versions | UpdateSkill | 数据 |
GET | /v1/skills/{id}/versions | GetSkill | 数据 |
GET | /v1/skills/{id}/versions/{version} | GetSkill | 数据 |
GET | /v1/skills/{id}/versions/{version}/content | GetSkill | 数据 |
DELETE | /v1/skills/{id}/versions/{version} | UpdateSkill | 数据 |
POST | /v1/user_profiles | CreateUserProfile | 数据 |
GET | /v1/user_profiles | ListUserProfiles | 数据 |
GET | /v1/user_profiles/{id} | GetUserProfile | 数据 |
POST | /v1/user_profiles/{id} | UpdateUserProfile | 数据 |
POST | /v1/organizations/workspaces | CreateWorkspace | 管理 |
GET | /v1/organizations/workspaces | ListWorkspaces | 管理 |
GET | /v1/organizations/workspaces/{id} | GetWorkspace | 管理 |
POST | /v1/organizations/workspaces/{id} | UpdateWorkspace | 管理 |
POST | /v1/organizations/workspaces/{id}/archive | ArchiveWorkspace | 管理 |
POST | /v1/agents | CreateAgent | 数据 |
GET | /v1/agents | ListAgents | 数据 |
GET | /v1/agents/{id} | GetAgent | 数据 |
POST | /v1/agents/{id} | UpdateAgent | 数据 |
POST | /v1/agents/{id}/archive | ArchiveAgent | 数据 |
GET | /v1/agents/{id}/versions | GetAgent | 数据 |
POST | /v1/sessions | CreateSession | 数据 |
GET | /v1/sessions | ListSessions | 数据 |
GET | /v1/sessions/{id} | GetSession | 数据 |
POST | /v1/sessions/{id} | UpdateSession | 数据 |
POST | /v1/sessions/{id}/archive | ArchiveSession | 数据 |
DELETE | /v1/sessions/{id} | DeleteSession | 数据 |
GET | /v1/sessions/{id}/events | GetSession | 数据 |
POST | /v1/sessions/{id}/events | UpdateSession | 数据 |
GET | /v1/sessions/{id}/events/stream | GetSession | 数据 |
GET | /v1/sessions/{id}/resources | GetSession | 数据 |
GET | /v1/sessions/{id}/resources/{id} | GetSession | 数据 |
POST | /v1/sessions/{id}/resources | UpdateSession | 数据 |
POST | /v1/sessions/{id}/resources/{id} | UpdateSession | 数据 |
DELETE | /v1/sessions/{id}/resources/{id} | UpdateSession | 数据 |
POST | /v1/environments | CreateEnvironment | 数据 |
GET | /v1/environments | ListEnvironments | 数据 |
GET | /v1/environments/{id} | GetEnvironment | 数据 |
POST | /v1/environments/{id} | UpdateEnvironment | 数据 |
POST | /v1/environments/{id}/archive | ArchiveEnvironment | 数据 |
DELETE | /v1/environments/{id} | DeleteEnvironment | 数据 |
GET | /v1/environments/{id}/work/poll | ProcessEnvironmentWork | 数据 |
GET | /v1/environments/{id}/work/{work_id} | GetEnvironment | 数据 |
GET | /v1/environments/{id}/work/stats | GetEnvironment | 数据 |
POST | /v1/environments/{id}/work/{work_id} | ProcessEnvironmentWork | 数据 |
POST | /v1/environments/{id}/work/{work_id}/ack | ProcessEnvironmentWork | 数据 |
POST | /v1/environments/{id}/work/{work_id}/heartbeat | ProcessEnvironmentWork | 数据 |
POST | /v1/environments/{id}/work/{work_id}/stop | ProcessEnvironmentWork | 数据 |
POST | /v1/vaults | CreateVault | 管理 |
GET | /v1/vaults | ListVaults | 管理 |
GET | /v1/vaults/{id} | GetVault | 管理 |
POST | /v1/vaults/{id} | UpdateVault | 管理 |
POST | /v1/vaults/{id}/archive | ArchiveVault | 管理 |
DELETE | /v1/vaults/{id} | DeleteVault | 管理 |
GET | /v1/vaults/{id}/credentials | GetVault | 管理 |
POST | /v1/vaults/{id}/credentials | UpdateVault | 管理 |
GET | /v1/vaults/{id}/credentials/{id} | GetVault | 管理 |
POST | /v1/vaults/{id}/credentials/{id} | UpdateVault | 管理 |
POST | /v1/vaults/{id}/credentials/{id}/archive | UpdateVault | 管理 |
DELETE | /v1/vaults/{id}/credentials/{id} | UpdateVault | 管理 |
POST | /v1/memory_stores | CreateMemoryStore | 数据 |
GET | /v1/memory_stores | ListMemoryStores | 数据 |
GET | /v1/memory_stores/{id} | GetMemoryStore | 数据 |
POST | /v1/memory_stores/{id} | UpdateMemoryStore | 数据 |
POST | /v1/memory_stores/{id}/archive | ArchiveMemoryStore | 数据 |
DELETE | /v1/memory_stores/{id} | DeleteMemoryStore | 数据 |
POST | /v1/memory_stores/{id}/memories | UpdateMemoryStore | 数据 |
GET | /v1/memory_stores/{id}/memories | GetMemoryStore | 数据 |
GET | /v1/memory_stores/{id}/memories/{id} | GetMemoryStore | 数据 |
POST | /v1/memory_stores/{id}/memories/{id} | UpdateMemoryStore | 数据 |
DELETE | /v1/memory_stores/{id}/memories/{id} | UpdateMemoryStore | 数据 |
GET | /v1/memory_stores/{id}/memory_versions | GetMemoryStore | 数据 |
GET | /v1/memory_stores/{id}/memory_versions/{id} | GetMemoryStore | 数据 |
POST | /v1/memory_stores/{id}/memory_versions/{id}/redact | UpdateMemoryStore | 数据 |
GET | /v1/webhooks | ListWebhooks | 管理 |
GET | /v1/webhooks/{id} | GetWebhook | 管理 |
POST | /v1/webhooks | CreateWebhook | 管理 |
POST | /v1/webhooks/{id} | UpdateWebhook | 管理 |
DELETE | /v1/webhooks/{id} | DeleteWebhook | 管理 |
POST | /v1/webhooks/{id}/regenerate_signing_secret | RotateWebhookSecret | 管理 |
不在此表中的路由在 Claude Platform on AWS 上不可用。网关默认拒绝此处未列出的任何路由。
工作区路由是 Claude Platform on AWS 上唯一可用的 Admin API 路由。Claude Console 的工作区页面是只读的;请使用 Admin API 或 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 操作的自定义策略。
AnthropicReadOnlyAccess、AnthropicInferenceAccess 和 AnthropicLimitedAccess 都带有 Get* 和 List* 通配符,这些通配符授予对工作区中所有内容的读取访问权限:文件字节、技能内容、批处理结果、会话对话历史记录和内存内容。保管库凭据密钥和 webhook 签名密钥不会被暴露;这些字段是只写的,GetVault 或 GetWebhook 永远不会返回它们。如果您的主体不应读取现有内容,请使用仅枚举您所需操作的自定义策略。
AnthropicLimitedAccess 除了推理操作外,还包括所有 Claude Managed Agents 操作。
AnthropicSelfHostedEnvironmentAccess 是足以运行自托管沙箱工作进程的最小托管策略。请将其附加到您的环境工作进程用于身份验证的主体。
AssumeConsole 不包含在 AnthropicReadOnlyAccess、AnthropicInferenceAccess、AnthropicLimitedAccess 或 AnthropicSelfHostedEnvironmentAccess 中。需要 Claude Console 访问权限的主体需要 AnthropicFullAccess 或授予 aws-external-anthropic:AssumeConsole 的自定义策略。请参阅控制台访问。
CreateInference 和 CreateBatchInference 是独立的操作。拒绝其中一个不会阻止另一个。如果您打算阻止所有模型调用,请同时拒绝两者。
为针对一个生产工作区运行推理的 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": "*"
}
]
}第一个语句中的 aws-external-anthropic:* 通配符包含账户范围的操作(CreateWorkspace、ListWorkspaces),工作区 ARN 约束会静默过滤掉这些操作。这与"隔离"意图一致(该角色无法创建或枚举工作区),但该策略包含无效的权限。有关账户范围的模式,请参阅配置自动化。
CallWithBearerToken 和 AssumeConsole 是无路由操作,不绑定到工作区 ARN。第二个语句在 Resource: "*" 上授予它们,以便该角色可以使用 API 密钥进行身份验证并打开 Claude Console。如果该角色仅使用 SigV4 且不需要 Claude Console 访问权限,请省略此语句。
在特定工作区上阻止批处理和文件上传,同时保持同步推理可用。当工作区处理不得在服务器端持久化的 Zero Data Retention (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"
}
]
}此拒绝仅阻止创建。除非您也列出其他文件和批处理操作,否则它们不会被拒绝。对于工作区绝不能保存文件或批处理的完全锁定,还需拒绝 aws-external-anthropic:GetFile、aws-external-anthropic:ListFiles、aws-external-anthropic:DeleteFile、aws-external-anthropic:GetBatchInference、aws-external-anthropic:ListBatchInferences、aws-external-anthropic:CancelBatchInference 和 aws-external-anthropic:DeleteBatchInference。
Claude Console 的工作区页面是只读的;请使用 Admin API 工作区端点或 AWS 控制台来创建、更新或归档工作区。
为 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: "*"。
Was this page helpful?