

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

# Amazon Q 开发者版权限参考
<a name="security_iam_permissions"></a>

Amazon Q 开发者使用两种类型 APIs 来提供服务：
+ 用户和管理员权限，可以在策略中使用这些权限来控制 Amazon Q 的使用
+ 其他 APIs 用于提供服务，但不能用于控制 Amazon Q 使用的策略中

本节提供有关 Amazon Q 开发者 APIs 使用的及其用途的信息。

**Topics**
+ [Amazon Q 开发者版权限](#qdev-permissions)
+ [Amazon Q 用户订阅权限](#subscriptions-permissions)
+ [其他 Amazon Q 开发者 APIs](#other-permissions)

## Amazon Q 开发者版权限
<a name="qdev-permissions"></a>

在设置[在 Amazon Q 中使用身份进行身份验证](security-iam.md#security-iam-authentication)和编写您可附加到 IAM 身份的权限策略（基于身份的策略）时，您可以使用以下权限作为参考。

下表显示了您可以在策略中允许或拒绝访问的 Amazon Q 开发者版权限。

**重要**  
要与 Amazon Q 聊天，IAM 身份需要执行以下操作的权限：  
`StartConversation`
`SendMessage`
`GetConversation`（仅限控制台）
`ListConversations`（仅限控制台）
如果附加的策略未明确允许其中一项操作，则在您尝试与 Amazon Q 聊天时将返回 IAM 权限错误。

**注意**  
`codewhisperer` 前缀是与 Amazon Q Developer 合并前的服务的旧名称。有关更多信息，请参阅[Amazon Q 开发者版重命名：变更摘要](service-rename.md)。


**Amazon Q 开发者版权限**  

| Name | 对已授予权限的描述 | 需要与 Amazon Q 聊天？ | 
| --- |--- |--- |
| 用户权限 | 
| --- |
| q:DeleteConversation |  删除与 Amazon Q 的对话  |  是  | 
| qdeveloper:ExportArtifact |  从 Amazon Q 导出构件  |  否  | 
| codewhisperer:GenerateRecommendations |  在 Amazon Q 中获取针对 AWS 编码环境的代码建议  |  否  | 
| q:GenerateCodeFromCommands |  在 Amazon Q 中基于 CLI 命令生成代码  |  否  | 
| q:GetConversation |  获取与 Amazon Q 特定对话关联的单条消息  |  是（仅在控制台中）  | 
| q:GetIdentityMetaData |  允许 Amazon Q 获取与应用程序身份相关的元数据  |  否  | 
| q:GetTroubleshootingResults |  获取 Amazon Q 问题排查结果   |  否  | 
| qdeveloper:ImportArtifact |  将构件导入到 Amazon Q  | 否 | 
| q:ListConversations |  列出与特定 Amazon Q 用户关联的单个对话  | 是（仅在控制台中） | 
| q:PassRequest |  允许 Amazon Q 执行 IAM 身份有权执行的操作。  | 否 | 
| q:SendMessage |  将消息发送到 Amazon Q  |  是  | 
| qdeveloper:StartAgentSession |  开始与 Amazon Q 的代理会话  |  否  | 
| q:StartConversation |  与 Amazon Q 开始对话  |  是  | 
| q:StartTroubleshootingAnalysis |  开始 Amazon Q 问题排查分析  |  否  | 
| q:StartTroubleshootingResolutionExplanation |  开始 Amazon Q 问题排查解决方案解释  |  否  | 
| qdeveloper:TransformCode |  使用 Amazon Q 转换代码  |  否  | 
| q:UsePlugin |  从 Amazon Q 聊天访问插件  |  否  | 
| q:UpdateConversation |  更新与 Amazon Q 的对话  |  是  | 
| q:UpdateTroubleshootingCommandResult |  允许 Amazon Q 分析资源以排查控制台错误  |  否  | 
| 管理员权限 | 
| --- |
| codewhisperer:CreateCustomization |  基于您的数据来源创建 Amazon Q 自定义项  |  否  | 
| codewhisperer:DeleteCustomization |  删除 Amazon Q 自定义项  |  否  | 
| codewhisperer:GetCustomization |  获取有关 Amazon Q 自定义项的详细信息  |  否  | 
| codewhisperer:ListCustomizations |  根据状态列出 Amazon Q 自定义项  |  否  | 
| codewhisperer:ListProfiles |  列出 Amazon Q 配置文件  |  否  | 
| codewhisperer:ListTagsForResource |  在控制台中列出与 Amazon Q 资源关联的所有标签  |  否  | 
| codewhisperer:TagResource |  为 Amazon Q 资源添加或创建标签  |  否  | 
| codewhisperer:UnTagResource |  移除 Amazon Q 资源的标签  |  否  | 
| codewhisperer:UpdateCustomization |  激活或停用 Amazon Q 自定义项  |  否  | 
| codewhisperer:ListCustomizationVersions |  列出 Amazon Q 自定义项的版本  |  否  | 
| codewhisperer:UpdateProfile |  更新 Amazon Q 配置文件  |  否  | 
| q:CreateAssignment |  为 Amazon Q 开发者版配置文件创建用户分配或组分配  |  否  | 
| q:CreateAuthGrant |  向 Amazon Q 注册第三方应用程序用户  |  否  | 
| q:CreateOAuthAppConnection |  在 Amazon Q 上注册第三方 OAuth 应用程序  |  否  | 
| q:CreatePlugin |  在 Amazon Q 中创建和配置第三方插件  |  否  | 
| q:DeleteAssignment |  删除 Amazon Q 开发者版配置文件的用户分配或组分配  |  否  | 
| q:DeletePlugin |  在 Amazon Q 中删除已配置的插件  |  否  | 
| q:GetPlugin |  查看有关特定 Amazon Q 插件的信息  |  否  | 
| q:ListPlugins |  在 Amazon Q 中查看已配置的插件  |  否  | 
| q:ListPluginProviders |  在 Amazon Q 中查看可用的插件  |  否  | 
| q:ListTagsForResource |  在控制台中列出与 Amazon Q 资源关联的所有标签  |  否  | 
| q:TagResource |  为 Amazon Q 资源添加或创建标签  |  否  | 
| q:SentEvent |  将事件从第三方应用程序发送到 Amazon Q 进行处理  |  否  | 
| q:UntagResource |  移除 Amazon Q 资源的标签  |  否  | 
| q:UpdateAuthGrant |  使用 Amazon Q 更新第三方应用程序用户  |  否  | 
| q:UpdateOAuthAppConnection |  使用 Amazon Q 更新第三方 OAuth 应用程序  |  否  | 
| q:UpdatePlugin |  更新第三方集成插件的功能启用控件  |  否  | 

### 使用 q：PassRequest
<a name="passrequest"></a>

`q:PassRequest`是一项 Amazon Q 权限，允许 Amazon Q 代表您致电 AWS APIs 。当您向 IAM 身份添加 `q:PassRequest` 权限时，Amazon Q 将获得调用 IAM 身份有权调用的任何 API 的权限。例如，如果某个 IAM 角色具有 `s3:ListAllMyBuckets` 权限和 `q:PassRequest` 权限，则当代入 IAM 角色的用户要求 Amazon Q 列出他们的 Amazon S3 存储桶时，Amazon Q 可以调用 `ListAllMyBuckets` API。

您可以创建限制 `q:PassRequest` 权限范围的 IAM 策略。例如，您可以阻止 Amazon Q 执行特定操作，或者只允许 Amazon Q 对服务执行部分操作。您还可以指定 Amazon Q 在代表您执行操作时可以调用的区域。

有关控制 `q:PassRequest` 使用的 IAM 策略的示例，请参阅以下基于身份的策略示例：
+ [允许 Amazon Q 在聊天中代表您执行操作](id-based-policy-examples-users.md#id-based-policy-examples-allow-actions)
+ [拒绝授予 Amazon Q 代表您执行特定操作的权限](id-based-policy-examples-users.md#id-based-policy-examples-deny-some-actions)
+ [允许授予 Amazon Q 代表您执行特定操作的权限](id-based-policy-examples-users.md#id-based-policy-examples-allow-some-actions)
+ [允许授予 Amazon Q 代表您在特定区域执行特定操作的权限](id-based-policy-examples-users.md#id-based-policy-examples-allow-actions-some-regions)
+ [拒绝授予 Amazon Q 代表您执行操作的权限](id-based-policy-examples-users.md#id-based-policy-examples-deny-actions)

## Amazon Q 用户订阅权限
<a name="subscriptions-permissions"></a>

Amazon Q 开发者版管理员必须具有以下权限才能为其组织中的用户和组创建和管理订阅。

以下术语对于理解订阅权限的作用很有帮助：

**User**  
单个用户， AWS IAM Identity Center 由唯一的用户 ID 表示。

**Group**  
用户集合， AWS IAM Identity Center 由唯一的群组 ID 表示。

**订阅**  
订阅与单个 Identity Center 用户绑定，使用户能够使用 Amazon Q 功能。订阅并不授权用户使用 Amazon Q 功能。例如，如果 Adam 订阅了 Amazon Q 开发者版专业套餐，则他们能够使用 Amazon Q 开发者版功能，但在管理员向他们授予所需权限之前，他们无法访问这些功能。


**Amazon Q 用户订阅权限**  

| Name | 操作描述 | 
| --- | --- | 
| user-subscriptions:CreateClaim | 创建用户订阅 | 
| user-subscriptions:DeleteClaim | 删除用户订阅 | 
| user-subscriptions:ListApplicationClaims | 列出给定应用程序的所有用户订阅 | 
| user-subscriptions:ListClaims | 列出所有用户订阅 | 
| user-subscriptions:ListUserSubscriptions | 列出给定用户的所有用户订阅 | 
| user-subscriptions:UpdateClaim | 更新用户订阅 | 

## 其他 Amazon Q 开发者 APIs
<a name="other-permissions"></a>

下表显示了 IDE 中 APIs Amazon Q 的功能所使用的功能。它们 APIs不用于控制对 Amazon Q 功能的访问，但是当用户访问相关功能时，它们会出现在管理账户的 AWS CloudTrail 日志中。

**注意**  
`codewhisperer` 前缀是与 Amazon Q Developer 合并前的服务的旧名称。有关更多信息，请参阅 [Amazon Q 开发者版重命名：变更摘要](service-rename.md)。


**Amazon Q 开发 APIs 者将提供该服务**  

| Name | 操作描述 | 
| --- | --- | 
| codewhisperer:AllowVendedLogDeliveryForResource | 允许 Amazon Q 开发者将日志 CloudWatch 异步发布到亚马逊 | 
| codewhisperer:CreateTaskAssistConversation | 开始与Amazon Q Developer Agent for software development对话 | 
| codewhisperer:CreateUploadUrl | 创建 URL 以上传将用于在 IDE 中使用 Amazon Q 进行开发的代码文件 | 
| codewhisperer:DeleteTaskAssistConversation | 删除与Amazon Q Developer Agent for software development的对话 | 
| codewhisperer:ExportResultArchive | 导出 Amazon Q 开发者版的输出存档以供下载 | 
| codewhisperer:GenerateAssistantResponse | 在 IDE 中的聊天中在 Amazon Q 中返回响应 | 
| codewhisperer:GenerateCompletions | 获取内联代码建议 | 
| codewhisperer:GenerateTaskAssistPlan | 基于Amazon Q Developer Agent for software development生成实施计划 | 
| codewhisperer:GetCodeAnalysis | 获取正在执行的安全扫描的状态 | 
| codewhisperer:GetTaskAssistCodeGeneration | 获取由Amazon Q Developer Agent for software development生成的代码 | 
| codewhisperer:GetTransformation | 从Amazon Q Developer Agent for code transformation返回代码转换 | 
| codewhisperer:GetTransformationPlan | 从Amazon Q Developer Agent for software development返回转换计划 | 
| codewhisperer:ListAvailableCustomizations | 返回已创建并可供使用的自定义项列表 | 
| codewhisperer:ListCodeAnalysisFindings | 返回已扫描文件中所有安全问题的列表 | 
| codewhisperer:ListFeatureEvaluations | 列出 Amazon Q 开发者版客户端功能的相关配置 | 
| codewhisperer:SendTelemetryEvent | 向发送有关在 IDE 中使用 Amazon Q 的遥测信息 AWS  | 
| codewhisperer:StartTaskAssistCodeGeneration | 使用Amazon Q Developer Agent for software development开始代码生成 | 
| codewhisperer:StartCodeAnalysis | 开始安全扫描 | 
| codewhisperer:StartTransformation | 使用Amazon Q Developer Agent for code transformation开始转换 | 
| codewhisperer:StopTransformation | 使用Amazon Q Developer Agent for code transformation停止转换 | 