

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

# 用户权限
<a name="id-based-policy-examples-users"></a>

以下政策允许用户在 AWS 应用程序和网站（包括、和网站）上访问 Amazon Q Dev AWS 管理控制台 eloper AWS Documentation 的功能。 AWS Console Mobile Application

有关允许对 Amazon Q 开发者版的管理访问权限的策略，请参阅[管理员权限](id-based-policy-examples-admins.md)。

**注意**  
在 [IDE 中访问 Amazon Q](q-in-IDE.md) 或通过[命令行访问 Amazon Q 的](command-line.md)用户不需要 IAM 权限。

## 允许用户通过订阅 Amazon Q 开发者版专业套餐来访问 Amazon Q
<a name="id-based-policy-examples-allow-subs-access"></a>

以下示例策略授予通过订阅 Amazon Q 开发者版专业套餐使用 Amazon Q 的权限。如果没有这些权限，用户只能访问 Amazon Q 的免费套餐。要与 Amazon Q 聊天或使用其他 Amazon Q 功能，用户需要额外的权限，例如本节示例策略所授予的权限。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowGetIdentity",
            "Effect": "Allow",
            "Action": [
                "q:GetIdentityMetaData"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowSetTrustedIdentity",
            "Effect": "Allow",
            "Action": [
                "sts:SetContext"
            ],
            "Resource": "arn:aws:sts::*:self"
        }
    ]
}
```

------

## 支持 Amazon Q 访问客户自主管理型密钥
<a name="id-based-policy-examples-allow-q-access-encryption"></a>

以下示例策略通过支持 Amazon Q 访问客户自主管理型密钥，授予用户访问使用该密钥加密的功能的权限。如果管理员设置了用于加密的客户自主管理型密钥，则此策略需要使用 Amazon Q。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "QKMSDecryptGenerateDataKeyPermissions",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:GenerateDataKeyWithoutPlaintext",
                "kms:ReEncryptFrom",
                "kms:ReEncryptTo"
            ],
            "Resource": [
            "arn:aws:kms:{{us-east-1}}:{{111122223333}}:key/{{key_id}}"
            ],
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                    "q.{{us-east-1}}.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

## 允许用户与 Amazon Q 聊天
<a name="id-based-policy-examples-allow-chat"></a>

以下示例策略授予在控制台中与 Amazon Q 聊天的权限。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAmazonQConversationAccess",
      "Effect": "Allow",
      "Action": [
        "q:StartConversation",
        "q:SendMessage",
        "q:GetConversation",
        "q:ListConversations",
        "q:UpdateConversation",
        "q:DeleteConversation"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## 允许用户将 Amazon Q CLI 与 AWS CloudShell
<a name="id-based-policy-examples-allow-cli-cloudshell"></a>

以下示例策略授予将 Amazon Q CLI 与一起使用的权限 AWS CloudShell。

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

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codewhisperer:GenerateRecommendations",
                "codewhisperer:ListCustomizations"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "q:StartConversation",
                "q:SendMessage"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## 支持用户在命令行上运行转换
<a name="id-based-policy-examples-allow-cli-transformations"></a>

以下示例策略授予使用 [Amazon Q 命令行工具转换代码以进行转换的](transform-CLI.md)权限。此政策不影响通过[命令行访问 Amazon Q](command-line.md)。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
              "qdeveloper:StartAgentSession",
              "qdeveloper:ImportArtifact",
              "qdeveloper:ExportArtifact",
              "qdeveloper:TransformCode"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## 允许用户使用 Amazon Q 诊断控制台错误
<a name="id-based-policy-examples-allow-error-diagnosing"></a>

以下示例策略授予使用 Amazon Q 诊断控制台错误的权限。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAmazonQTroubleshooting",
      "Effect": "Allow",
      "Action": [
        "q:StartTroubleshootingAnalysis",
        "q:GetTroubleshootingResults",
        "q:StartTroubleshootingResolutionExplanation",
        "q:UpdateTroubleshootingCommandResult",
        "q:PassRequest",
        "cloudformation:GetResource"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## 允许用户使用 Amazon Q 并基于 CLI 命令生成代码
<a name="id-based-policy-examples-allow-console-to-code"></a>

以下示例策略授予使用 Amazon Q 根据录制的 CLI 命令生成代码的权限，从而允许使用该 Console-to-Code 功能。

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
         "Sid": "AllowAmazonQConsoleToCode",
         "Effect": "Allow",
         "Action": "q:GenerateCodeFromCommands",
         "Resource": "*"
       }
   ]
}
```

------

## 支持用户与 Amazon Q 聊资源
<a name="id-based-policy-examples-allow-resource-chat"></a>

以下示例策略授予与 Amazon Q 聊资源的权限，并支持 Amazon Q 代表您检索资源信息。Amazon Q 仅有权访问您的 IAM 身份有权访问的资源。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAmazonQPassRequest",
      "Effect": "Allow",
      "Action": [
        "q:StartConversation",
        "q:SendMessage",
        "q:GetConversation",
        "q:ListConversations",
        "q:UpdateConversation",
        "q:DeleteConversation",
        "q:PassRequest"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AllowCloudControlReadAccess",
      "Effect": "Allow",
      "Action": [
         "cloudformation:GetResource",
         "cloudformation:ListResources"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## 允许 Amazon Q 在聊天中代表您执行操作
<a name="id-based-policy-examples-allow-actions"></a>

以下示例策略授予与 Amazon Q 聊天的权限，并允许 Amazon Q 代表您执行操作。Amazon Q 仅有权执行您的 IAM 身份有权执行的操作。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAmazonQPassRequest",
      "Effect": "Allow",
      "Action": [
        "q:StartConversation",
        "q:SendMessage",
        "q:GetConversation",
        "q:ListConversations",
        "q:UpdateConversation",
        "q:DeleteConversation",
        "q:PassRequest"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## 允许用户在 Amazon Q 中使用 Q 项目（预览版）
<a name="id-based-policy-examples-allow-artifacts"></a>

以下示例策略授予使用 Amazon Q 工件的权限，这使您能够在 Amazon Q 中完成多服务任务。该策略包括 Amazon Q、IAM 和的权限。 CloudFormation

除了这些权限外，您还必须有权访问您询问的资源。Amazon Q 永远不会访问您的 IAM 身份无法访问的资源。

**重要**  
此示例策略包括资源不受限制的 IAM 操作（`iam:CreateRole``iam:CreatePolicy``iam:AttachRolePolicy`、、和`iam:PutRolePolicy`）。某些 Amazon Q 工作流程包括创建或配置 IAM 角色作为连接 AWS 服务一部分的步骤（例如，创建向 EC2 实例授予 S3 访问权限的角色）。这些步骤需要这些权限才能成功执行。如果您的身份已具有管理员访问权限，则这些权限已被授予。对于非管理员身份，仅将此策略授予您账户中的可信用户。如果您不需要创建或修改 IAM 角色的工作流程，则可以从该策略中删除 IAM 操作 — 需要 IAM 权限的步骤将显示权限错误。

```
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Sid": "AllowAmazonQPassRequest",
            "Effect": "Allow",
            "Action": [
                "q:StartConversation",
                "q:SendMessage",
                "q:GetConversation",
                "q:ListConversations",
                "q:UpdateConversation",
                "q:DeleteConversation",
                "q:PassRequest"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowQArtifactsAccess",
            "Effect": "Allow",
            "Action": [
                "q:GetArtifact",
                "q:CreateArtifact",
                "q:GetArtifactActionResult",
                "q:PerformArtifactAction",
                "iam:CreateRole",
                "iam:CreatePolicy",
                "iam:AttachRolePolicy",
                "iam:PutRolePolicy",
                "cloudformation:GetResource",
                "cloudformation:ListResources",
                "cloudformation:CancelResourceRequest",
                "cloudformation:CreateResource",
                "cloudformation:GetResourceRequestStatus",
                "cloudformation:ListResourceRequests",
                "cloudformation:UpdateResource"
            ],
            "Resource": "*"
        }
    ]
}
```

## 支持 Amazon Q 访问成本数据并提供成本优化建议
<a name="id-based-policy-examples-allow-cost-chat"></a>

以下示例策略授予与 Amazon Q 聊成本的权限，并支持 Amazon Q 访问您的成本数据并提供成本分析和优化建议。该政策包括 AWS Cost Explorer、AWS 成本优化中心、AWS Compute Optimizer、AWS Budgets、AWS 免费套餐、AWS 定价和储蓄计划的权限以及预订建议。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAmazonQChatAndPassRequest",
      "Effect": "Allow",
      "Action": [
        "q:StartConversation",
        "q:SendMessage",
        "q:GetConversation",
        "q:ListConversations",
        "q:UpdateConversation",
        "q:DeleteConversation",
        "q:PassRequest"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowCostExplorerAccess",
      "Effect": "Allow",
      "Action": [
        "ce:GetCostAndUsage",
        "ce:GetCostAndUsageWithResources",
        "ce:GetCostForecast",
        "ce:GetUsageForecast",
        "ce:GetTags",
        "ce:GetCostCategories",
        "ce:GetDimensionValues",
        "ce:GetSavingsPlansUtilization",
        "ce:GetSavingsPlansCoverage",
        "ce:GetSavingsPlansUtilizationDetails",
        "ce:GetReservationUtilization",
        "ce:GetReservationCoverage",
        "ce:GetSavingsPlansPurchaseRecommendation",
        "ce:GetReservationPurchaseRecommendation",
        "ce:GetRightsizingRecommendation",
        "ce:GetAnomalies",
       "ce:GetCostAndUsageComparisons",
       "ce:GetCostComparisonDrivers"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowCostOptimizationHubAccess",
      "Effect": "Allow",
      "Action": [
        "cost-optimization-hub:GetRecommendation",
        "cost-optimization-hub:ListRecommendations",
        "cost-optimization-hub:ListRecommendationSummaries"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowComputeOptimizerAccess",
      "Effect": "Allow",
      "Action": [
        "compute-optimizer:GetAutoScalingGroupRecommendations",
        "compute-optimizer:GetEBSVolumeRecommendations",
        "compute-optimizer:GetEC2InstanceRecommendations",
        "compute-optimizer:GetECSServiceRecommendations",
        "compute-optimizer:GetRDSDatabaseRecommendations",
        "compute-optimizer:GetLambdaFunctionRecommendations",
        "compute-optimizer:GetIdleRecommendations",
        "compute-optimizer:GetLicenseRecommendations",
        "compute-optimizer:GetEffectiveRecommendationPreferences"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowBudgetsAccess",
      "Effect": "Allow",
      "Action": [
        "budgets:ViewBudget"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowFreeTierAccess",
      "Effect": "Allow",
      "Action": [
        "freetier:GetFreeTierUsage",
        "freetier:GetAccountPlanState",
        "freetier:ListAccountActivities",
       "freetier:GetAccountActivity"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowPricingAccess",
      "Effect": "Allow",
      "Action": [
        "pricing:GetProducts",
        "pricing:GetAttributeValues",
        "pricing:DescribeServices"
      ],
      "Resource": "*"
   }
  ]
}
```

------

## 拒绝授予 Amazon Q 代表您执行特定操作的权限
<a name="id-based-policy-examples-deny-some-actions"></a>

以下示例策略授予与 Amazon Q 聊天的权限，并允许 Amazon Q 代表您执行您的 IAM 身份有权执行的任何操作（Amazon EC2 操作除外）。该策略使用 [`aws:CalledVia` 全局条件键](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-calledvia)指定只有在 Amazon Q 调用 Amazon EC2 操作时才会拒绝 Amazon EC2 操作。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "q:StartConversation",
        "q:SendMessage",
        "q:GetConversation",
        "q:ListConversations",
        "q:UpdateConversation",
        "q:DeleteConversation",
        "q:PassRequest"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Deny",
      "Action": [
        "ec2:*"
      ],
      "Resource": "*",
      "Condition": {
            "ForAnyValue:StringEquals": {
               "aws:CalledVia": ["q.amazonaws.com"]
            }
       }
    }
  ]
}
```

------

## 允许授予 Amazon Q 代表您执行特定操作的权限
<a name="id-based-policy-examples-allow-some-actions"></a>

以下示例策略授予与 Amazon Q 聊天的权限，并允许 Amazon Q 代表您执行您的 IAM 身份有权执行的任何操作（Amazon EC2 操作除外）。此策略授予您的 IAM 身份执行任何 Amazon EC2 操作的权限，但仅允许 Amazon Q 执行 `ec2:describeInstances` 操作。该策略使用 [`aws:CalledVia` 全局条件键](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-calledvia)来指定 Amazon Q 只能调用 `ec2:describeInstances`，不允许调用任何其他 Amazon EC2 操作。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "q:StartConversation",
        "q:SendMessage",
        "q:GetConversation",
        "q:ListConversations",
        "q:UpdateConversation",
        "q:DeleteConversation",
        "q:PassRequest"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:*"
      ],
      "Resource": "*",
      "Condition": {
            "ForAnyValue:StringNotEquals": {
               "aws:CalledVia": ["q.amazonaws.com"]
            }
       }
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:describeInstances"
      ],
      "Resource": "*",
       "Condition": {
            "ForAnyValue:StringEquals": {
               "aws:CalledVia": ["q.amazonaws.com"]
            }
       }
    }
  ]
}
```

------

## 允许授予 Amazon Q 代表您在特定区域执行特定操作的权限
<a name="id-based-policy-examples-allow-actions-some-regions"></a>

以下示例策略授予与 Amazon Q 聊天的权限，并在 Amazon Q 代表您执行操作时，仅允许 Amazon Q 针对 `us-east-1` 和 `us-west-2` 区域发出调用。Amazon Q 无法对任何其他区域发出调用。有关如何指定可以拨打哪些区域的更多信息，请参阅*《AWS Identity and Access Management 用户指南》RequestedRegion*中的 a [ws:](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requestedregion)。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "q:StartConversation",
        "q:SendMessage",
        "q:GetConversation",
        "q:ListConversations",
        "q:UpdateConversation",
        "q:DeleteConversation",
        "q:PassRequest"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
            "aws:RequestedRegion": [ 
                "us-east-1", 
                "us-west-2"
            ] 
        } 
      }
    }
  ]
}
```

------

## 拒绝授予 Amazon Q 代表您执行操作的权限
<a name="id-based-policy-examples-deny-actions"></a>

以下示例策略阻止 Amazon Q 代表您执行操作。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyAmazonQPassRequest",
      "Effect": "Deny",
      "Action": [
        "q:PassRequest"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## 支持用户与来自一个提供商的插件进行聊天
<a name="id-based-policy-examples-allow-plugin-type"></a>

以下示例策略授予与管理员配置的给定提供商所提供的任何插件进行聊天的权限，该插件由插件 ARN 指定，其中包含插件提供商的名称和通配符（`*`）。如果删除并重新配置了插件，则具有这些权限的用户将保留对新配置的插件的访问权限。要使用此策略，请在 `Resource` 字段中替换 ARN 中的以下内容：
+ {{AWS-region}}— 插件的创建 AWS 区域 位置。
+ {{AWS-account-ID}}— 配置插件的账户的账户 ID。 AWS 
+ {{plugin-provider}}— 您要允许访问的插件提供商的名称，比如`CloudZero``Datadog`、或`Wiz`。插件提供商字段区分大小写。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAmazonQConversationAccess",
            "Effect": "Allow",
            "Action": [
                "q:StartConversation",
                "q:SendMessage",
                "q:GetConversation",
                "q:ListConversations",
                "q:UpdateConversation",
                "q:DeleteConversation"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowAmazonQPluginAccess",
            "Effect": "Allow",
            "Action": [
                "q:UsePlugin"
            ],
            "Resource": "arn:aws:qdeveloper:{{us-east-1}}:{{111122223333}}:plugin/{{plugin-provider}}/*"
        }
    ]
}
```

------

## 支持用户与特定插件聊天
<a name="id-based-policy-examples-allow-plugin-arn"></a>

以下示例策略授予与由插件 ARN 指定的插件进行聊天的权限。如果删除并重新配置了插件，则除非在此策略中更新插件 ARN，否则用户将无法访问新插件。要使用此策略，请在 `Resource` 字段中替换 ARN 中的以下内容：
+ {{AWS-region}}— 插件的创建 AWS 区域 位置。
+ {{AWS-account-ID}}— 配置插件的账户的账户 ID。 AWS 
+ {{plugin-provider}}— 您要允许访问的插件提供商的名称，比如`CloudZero``Datadog`、或`Wiz`。插件提供商字段区分大小写。
+ {{plugin-ARN}}— 您要允许访问的插件的 ARN。

## 拒绝访问 Amazon Q
<a name="id-based-policy-examples-deny"></a>

以下示例策略拒绝使用 Amazon Q 的所有权限。

**注意**  
当您拒绝访问 Amazon Q 时，Amazon Q 图标和聊天面板仍将出现在 AWS 控制台、 AWS 网站、 AWS 文档页面或中 AWS Console Mobile Application。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyAmazonQFullAccess",
      "Effect": "Deny",
      "Action": [
        "q:*"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## 允许用户查看他们的权限
<a name="id-based-policy-examples-view-own-permissions"></a>

该示例说明了您如何创建策略，以允许 IAM 用户查看附加到其用户身份的内联和托管式策略。此策略包括在控制台上或使用 AWS CLI 或 AWS API 以编程方式完成此操作的权限。

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```