

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

# AWS 上的 Claude 平台的 IAM 操作
<a name="iam-actions"></a>

 *IAM 操作参考，用于通过 AWS 策略控制 AWS 上的 Claude 平台的访问权限。*

AWS 上的 Claude 平台使用 AWS IAM 进行访问控制。每个 API 路由都映射到`aws-external-anthropic`命名空间中的 IAM 操作。此页面列出了所有操作、每个操作授权的路由，以及适用于常见访问模式的托管策略。有关平台设置和身份验证的信息，请参阅 [AWS 上的 Claude 平台是什么？](welcome.md) 。

## 服务详细信息
<a name="_service_details"></a>


|  |  | 
| --- |--- |
|  **IAM 服务前缀**  |  `aws-external-anthropic`  | 
|  **资源类型**  |  `workspace`  | 
|  **工作空间 ARN**  |  `arn:aws:aws-external-anthropic:{region}:{account-id}:workspace/{workspace-id}`  | 

ARN 区域始终处于填充状态，并且与工作空间绑定到的区域相匹配。资源段是带标签的工作空间 ID (`wrkspc_…​`)，与您在`anthropic-workspace-id`标题中传递的值相同。

## 操作
<a name="_actions"></a>

该服务在 15 个组中定义了 65 个操作。操作遵循 AWS `VerbNoun` 惯例，使用动词纪律，`Get*`这样`List*`通配符就会生成一个干净的只读边界。

### 推理
<a name="_inference"></a>


| 处理建议 | 已授权的路线 | 
| --- | --- | 
|  `CreateInference`  |  `POST /v1/messages`  | 
|  `CountTokens`  |  `POST /v1/messages/count_tokens`  | 

### 批处理
<a name="_batch_processing"></a>


| 处理建议 | 已授权的路线 | 
| --- | --- | 
|  `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}`  | 

###   模型
<a name="_models"></a>


| 处理建议 | 已授权的路线 | 
| --- | --- | 
|  `GetModel`  |  `GET /v1/models/{id}`  | 
|  `ListModels`  |  `GET /v1/models`  | 

### 文件
<a name="_files"></a>


| 处理建议 | 已授权的路线 | 
| --- | --- | 
|  `CreateFile`  |  `POST /v1/files`  | 
|  `GetFile`  |  `GET /v1/files/{id}` `GET /v1/files/{id}/content`  | 
|  `ListFiles`  |  `GET /v1/files`  | 
|  `DeleteFile`  |  `DELETE /v1/files/{id}`  | 

**注意**  
 `GetFile`授权下载元数据和内容。具有只读访问权限的主体可以下载文件字节，而不仅仅是列出文件。

### 技能
<a name="_skills"></a>


| 处理建议 | 已授权的路线 | 
| --- | --- | 
|  `CreateSkill`  |  `POST /v1/skills`  | 
|  `GetSkill`  |  `GET /v1/skills/{id}` `GET /v1/skills/{id}/versions` `GET /v1/skills/{id}/versions/{version}` `GET /v1/skills/{id}/versions/{version}/content`  | 
|  `ListSkills`  |  `GET /v1/skills`  | 
|  `UpdateSkill`  |  `POST /v1/skills/{id}/versions` `DELETE /v1/skills/{id}/versions/{version}`  | 
|  `DeleteSkill`  |  `DELETE /v1/skills/{id}`  | 

**注意**  
删除单个技能版本会映射到`UpdateSkill`，而不是`DeleteSkill`。拒绝的策略`aws-external-anthropic:Delete*`仍允许删除版本。拒绝 `UpdateSkill``CreateSkill`，如果你需要防止任何技能变异，也可以拒绝。

### 用户配置文件
<a name="_user_profiles"></a>


| 处理建议 | 已授权的路线 | 
| --- | --- | 
|  `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`（以 “文件” 结尾，而不是 “文件”）。它还会过度匹配`CreateUserProfile``GetUserProfile`、和，`UpdateUserProfile`因为 “配置文件” 以 “文件” 结尾。如果您打算仅允许或拒绝 Files API 操作，请显式枚举它们（`CreateFile`、`GetFile`、`ListFiles`、`DeleteFile`），而不是使用`*File`后缀模式。

### 座席
<a name="_agents"></a>

Cla [ude 托管代理的代理](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview)定义。


| 处理建议 | 已授权的路线 | 
| --- | --- | 
|  `CreateAgent`  | 代理创建路由 | 
|  `GetAgent`  | 代理读取路由 | 
|  `ListAgents`  | 代理列表路线 | 
|  `UpdateAgent`  | 代理更新路线 | 
|  `ArchiveAgent`  | 代理存档路由 | 

### 会话
<a name="_sessions"></a>

代理会话和事件历史记录。


| 处理建议 | 已授权的路线 | 
| --- | --- | 
|  `CreateSession`  | 会话创建路由 | 
|  `GetSession`  | 会话读取路由 | 
|  `ListSessions`  | 会话列表路由 | 
|  `UpdateSession`  | 会话更新路线 | 
|  `ArchiveSession`  | 会话存档路由 | 
|  `DeleteSession`  | 会话删除路由 | 

### 环境
<a name="_environments"></a>

会话的云容器配置。


| 处理建议 | 已授权的路线 | 
| --- | --- | 
|  `CreateEnvironment`  | 环境创建路线 | 
|  `GetEnvironment`  | 环境读取路由 | 
|  `ListEnvironments`  | 环境列出路由 | 
|  `UpdateEnvironment`  | 环境更新路线 | 
|  `ArchiveEnvironment`  | 环境存档路线 | 
|  `DeleteEnvironment`  | 环境删除路由 | 
|  `ProcessEnvironmentWork`  | Self-hosted 环境工作者路线 | 

### 保管库
<a name="_vaults"></a>

用于会话身份验证的凭据库。


| 处理建议 | 已授权的路线 | 
| --- | --- | 
|  `CreateVault`  | 保管库创建路线 | 
|  `GetVault`  | 保管库读取路由 | 
|  `ListVaults`  | 保管库列表路线 | 
|  `UpdateVault`  | 保管库更新路线 | 
|  `ArchiveVault`  | 保管库存档路线 | 
|  `DeleteVault`  | 保管库删除路线 | 

**注意**  
文件库操作被归类为 CloudTrail 管理事件（而不是数据事件），因为文件库持有凭据并受益于默认开启的审核日志。其他 Claude 托管代理操作（代理、会话、环境、内存存储）是数据事件。

### 内存存储
<a name="_memory_stores"></a>

永久代理内存。


| 处理建议 | 已授权的路线 | 
| --- | --- | 
|  `CreateMemoryStore`  | 存储器创建路由 | 
|  `GetMemoryStore`  | 内存存储读取路由 | 
|  `ListMemoryStores`  | 内存存储列表路由 | 
|  `UpdateMemoryStore`  | 内存存储更新路线 | 
|  `ArchiveMemoryStore`  | 内存存储存档路由 | 
|  `DeleteMemoryStore`  | 存储器删除路由 | 

**注意**  
 `GetMemoryStore`读取内存内容。因此，托管策略或自定义策略中的`Get*`通配符授予内存读取权限。如果必须限制内存内容，则明确规定策略的范围。

### Webhook
<a name="_webhooks"></a>

会话的生命周期事件通知。


| 处理建议 | 已授权的路线 | 
| --- | --- | 
|  `ListWebhooks`  |  `GET /v1/webhooks`  | 
|  `GetWebhook`  |  `GET /v1/webhooks/{webhook_endpoint_id}`  | 
|  `CreateWebhook`  |  `POST /v1/webhooks`  | 
|  `UpdateWebhook`  |  `POST /v1/webhooks/{webhook_endpoint_id}`  | 
|  `DeleteWebhook`  |  `DELETE /v1/webhooks/{webhook_endpoint_id}`  | 
|  `RotateWebhookSecret`  |  `POST /v1/webhooks/{webhook_endpoint_id}/regenerate_signing_secret`  | 

### Workspaces
<a name="_workspaces"></a>


| 处理建议 | 已授权的路线 | 
| --- | --- | 
|  `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`  | 

[注册时会配置默认工作空间；请参阅工作空间。](workspaces.md)

### 身份验证
<a name="_authentication"></a>


| 处理建议 | 已授权的路线 | 
| --- | --- | 
|  `CallWithBearerToken`  | （无） | 

 `CallWithBearerToken`是一种身份验证层权限，它授权委托人通过 API 密钥（持有者令牌）而不是 AWS Sigv4 进行身份验证。它不会映射到路线。将其与您希望 API 密钥持有者执行的路由映射操作一起授予。

### 控制台访问
<a name="_console_access"></a>


| 处理建议 | 已授权的路线 | 
| --- | --- | 
|  `AssumeConsole`  | （无） | 

 `AssumeConsole`授权委托人通过 AWS 控制台联合流程在 AWS 工作空间上打开 Claude 平台的 Claude 控制台。它不会映射到路线。将其授予本应能够在 AWS 控制台的 AWS 服务页面上单击 **Claude 平台上的 “打开 Claude 控制台**” 的委托人。`AssumeConsole`操作上的`aws-external-anthropic:Capability`条件键控制委托人可以请求哪些控制台功能（开发者或管理员）。有关详细信息，请参阅 [IAM 策略](iam-policies.md)和[使用 Claude 控制台](console.md)了解登录流程。

**警告**  
 `aws-external-anthropic:AssumeConsole`发出持续长达 12 小时的 Claude 控制台会话，与呼叫者自己的会话持续时间无关。IAM 会话短于 12 小时的呼叫者仍然可以获得超过其源证书寿命的控制台会话。将此权限限制为需要 Claude Console 访问权限的委托人，并在不再需要时立即撤销该权限。

**注意**  
联合后在 Claude 控制台内执行的操作不会记录在 AWS CloudTrail 中，也不会通过 IAM 进行归因。这包括工作空间范围内的全球活动，例如查看使用情况报告。如果您需要控制台活动的审计跟踪，请使用 Claude 控制台中提供的审计日志，而不 CloudTrail是。

## Route-to-action 映射
<a name="_route_to_action_mapping"></a>

下表列出了 AWS 上的 Claude 平台上的每条路由，以及调用该路由所需的 IAM 操作。稳定路由的 IAM 操作还会授权使用`anthropic-beta`标头的请求。 CloudTrail 将每个操作分类为数据事件（高容量、数据平面操作）或管理事件（控制平面操作）。


| 方法 | 路线 | 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`  | 管理 | 

[Claude Managed Agents 路由（代理、会话、环境、文件库、内存存储）遵循相同的行动路径模式；有关每条路由的完整映射，请参阅 Anthropic IAM 操作参考。](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions)保管库路由是管理事件；代理、会话、环境和内存存储路由是数据事件。

默认情况下，网关会拒绝不在 AWS 的 Claude 平台上的路由。

## 另请参阅
<a name="_see_also"></a>
+  [IAM 策略](iam-policies.md)，例如策略和托管策略
+  [有关 IAM 策略语法和评估逻辑的 AWS IAM 用户指南](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)
+  用于审计日志配置的 [AWS CloudTrail 用户指南](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)