

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

# 配置 Amazon Q 开发者版 CloudZero 插件
<a name="cloudzero-plugin"></a>

CloudZero 是一款云成本优化平台，可通过成本评估提升云资源使用效率。如果您使用CloudZero监控 AWS 成本，则可以使用 Amazon Q Developer 聊天中的CloudZero插件访问成本见解，而无需离开 AWS 管理控制台。

您可以使用该CloudZero插件来了解您的 AWS 成本、获取成本优化见解并跟踪账单。收到响应后，您还可以提出后续问题，例如 CloudZero 洞察信息的状态或成本影响。

要配置插件，您需提供 CloudZero 账户中的身份验证凭证，以建立 Amazon Q 与 CloudZero 之间的连接。配置插件后，通过在 Amazon Q 聊天中将 ****@cloudzero**** 添加到问题的开头，即可访问 CloudZero 数据。

**警告**  
CloudZeroAmazon Q 中的CloudZero插件无法检测到用户权限。当管理员在账户中配置CloudZero插件时，在该 AWS 账户中拥有插件权限的用户可以访问该账户中可由该CloudZero插件检索的任何资源。  
您可以配置 IAM 策略来限制用户可访问的插件。有关更多信息，请参阅 [配置用户权限](#cloudzero-configure-user-permissions)。

## 先决条件
<a name="cloudzero-plugin-prerequisites"></a>

### 添加权限
<a name="add-cloudzero-plugin-permissions"></a>

要配置插件，需具备以下管理员级别的权限：
+ 访问 Amazon Q 开发者版控制台的权限。有关授予所需权限的 IAM 策略示例，请参阅[支持管理员使用 Amazon Q 开发者版控制台](id-based-policy-examples-admins.md#q-admin-setup-admin-users)。
+ 配置插件的权限。有关授予所需权限的 IAM 策略示例，请参阅[支持管理员配置插件](id-based-policy-examples-admins.md#id-based-policy-examples-admin-plugins)。

### 获取凭证
<a name="acquire-cloudzero-credentials"></a>

开始配置前，请记录您 CloudZero 账户中的以下信息。配置插件时，这些身份验证凭据将存储在 AWS Secrets Manager 密钥中。
+ **API 密钥**：一种访问密钥，允许 Amazon Q 调用 CloudZero API 以访问您组织的成本洞察信息和账单信息。您可在 CloudZero 账户设置中找到该 API 密钥。有关更多信息，请参阅 CloudZero 文档中的[授权](https://docs.cloudzero.com/reference/authorization)。

有关从 CloudZero 账户获取凭证的更多信息，请参阅 [CloudZero 文档](https://docs.cloudzero.com/docs/amazon-q-integration)。

## 密钥与服务角色
<a name="cloudzero-secrets-service-roles"></a>

### AWS Secrets Manager 秘密
<a name="cloudzero-secrets"></a>

配置插件时，Amazon Q 会为您创建一个用于存储CloudZero身份验证凭证的新 AWS Secrets Manager 密钥。此外，您也可以使用自己创建的现有密钥。

如果您选择自己创建密钥，请以明文形式输入 API 密钥：

```
your-api-key
```

有关创建密钥的更多信息，请参阅《AWS Secrets Manager 用户指南》**中的[创建密钥](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)。

### 服务角色
<a name="cloudzero-service-role"></a>

要在 Amazon Q 开发者版中配置 CloudZero 插件，您需要创建一个服务角色，用于授权 Amazon Q 访问 Secrets Manager 密钥的权限。Amazon Q 会通过扮演该角色来访问存储 CloudZero 凭证的密钥。

在 AWS 控制台中配置插件时，您可以选择创建新密钥或使用现有密钥。若创建新密钥，系统会自动为您创建关联的服务角色。若使用现有密钥和现有服务角色，请确保您的服务角色包含以下权限，并已附加相应的信任策略。所需的服务角色取决于您的密钥加密方式。

如果密钥使用 AWS 托管 KMS 密钥进行加密，需使用以下 IAM 服务角色：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": [
                "arn:aws:secretsmanager:us-east-1:111122223333:secret:secret-id"
            ]
        }
    ]
}
```

------

如果您的密钥使用客户托管密 AWS KMS 钥加密，则需要以下 IAM 服务角色：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": "arn:aws:secretsmanager:us-east-1:111122223333:secret:secret-id"
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id",
            "Condition": {
                "StringEquals": {
                "kms:ViaService": "secretsmanager.us-east-1.amazonaws.com"
                }
            }
        }
    ]
}
```

------

要允许 Amazon Q 扮演该服务角色，服务角色需包含以下信任策略：

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

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "q.amazonaws.com"
      },
      "Action": ["sts:AssumeRole", "sts:SetContext"],
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "111122223333",
          "aws:SourceArn": "arn:aws:codewhisperer:us-east-1:111122223333:profile/profile-id"
        }
      }
    }
  ]
}
```

------

有关服务角色的更多信息，请参阅《*AWS Identity and Access Management 用户指南》*中的[创建角色以向 AWS 服务委派权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。

## 配置 CloudZero 插件
<a name="cloudzero-configure"></a>

您需在 Amazon Q 开发者版控制台中配置插件。Amazon Q 会使用存储在 AWS Secrets Manager 中的凭证，实现与 CloudZero 的交互。

要配置 CloudZero 插件，请完成以下流程：

1. 在开发者/家中打开 Amazon Q [https://console.aws.amazon.com/amazonq/开发](https://console.aws.amazon.com/amazonq/developer/home)者控制台

1. 在 Amazon Q 开发者版控制台首页，选择**设置**。

1. 在导航栏中，选择**插件**。

1. 在插件页面，点击 **CloudZero** 面板上的加号，打开插件配置页面。

1. 在 “**配置**” AWS Secrets Manager中，选择 “**创建新密钥**” 或 “**使用现有密钥**”。Secrets Manager 密钥将用于存储您的 CloudZero 身份验证凭证。

   如果您要创建新密钥，请输入以下信息。

   1. 在 **CloudZero API 密钥**字段中，输入您 CloudZero 组织的 API 密钥。

   1. 系统会自动创建一个服务角色，供 Amazon Q 访问存储 CloudZero 凭证的密钥。请勿编辑系统为您创建的服务角色。

   如果您使用现有密钥，请从 **AWS Secrets Manager 密钥**下拉菜单中选择一个密钥。该密钥需包含前文步骤中指定的 CloudZero 身份验证凭证。

   有关所需凭证的更多信息，请参阅[获取凭证](#acquire-cloudzero-credentials)。

1. 在**配置 I AWS AM 服务角色**中，选择**创建新的服务角色**或**使用现有服务角色**。
**注意**  
如果您在步骤 6 中选择了**创建新密钥**，则无法使用现有服务角色。系统会自动为您创建一个新角色。

   如果您要创建新的服务角色，系统会自动创建一个服务角色，供 Amazon Q 访问存储 CloudZero 凭证的密钥。请勿编辑系统为您创建的服务角色。

   如果您要使用现有服务角色，请从显示的下拉菜单中选择一个角色。请确保该服务角色包含[服务角色](#cloudzero-service-role)中定义的权限和信任策略。

1. 选择 **Save configuration**。

1. 当 CloudZero 插件面板显示在“插件”页面的**已配置插件**部分后，用户即可访问该插件。

如果您要更新插件凭证，必须删除当前插件，然后配置一个新插件。删除插件会清除之前的所有配置信息，且每次配置新插件时，都会生成一个新的插件 ARN。

## 配置用户权限
<a name="cloudzero-configure-user-permissions"></a>

要使用插件，需具备以下权限：
+ 在控制台中与 Amazon Q 进行交互的权限。有关授予聊天所需权限的 IAM 策略示例，请参阅[允许用户与 Amazon Q 聊天允许用户将 Amazon Q CLI 与 AWS CloudShell](id-based-policy-examples-users.md#id-based-policy-examples-allow-chat)。
+ `q:UsePlugin` 权限。

当您向某个 IAM 身份授予已配置 CloudZero 插件的访问权限后，该身份将能访问插件可检索的 CloudZero 账户中的所有资源。该插件无法检测 CloudZero 的用户权限。若需控制对插件的访问权限，可在 IAM 策略中指定插件的 ARN。

每次创建插件或删除并重新配置插件时，系统都会为其分配一个新的 ARN。如果您在策略中使用了插件 ARN，且希望授予对新配置插件的访问权限，则需更新该 ARN。

要查找 CloudZero 插件的 ARN，请转至 Amazon Q 开发者版控制台的**插件**页面，然后选择已配置的 CloudZero 插件。在“插件详细信息”页面，复制插件 ARN。您可将该 ARN 添加到策略中，以允许或拒绝对 CloudZero 插件的访问。

如果您创建策略以控制对 CloudZero 插件的访问权限，请在策略中指定插件提供商为 `CloudZero`。

有关控制插件访问权限的 IAM 策略示例，请参阅[支持用户与来自一个提供商的插件进行聊天](id-based-policy-examples-users.md#id-based-policy-examples-allow-plugin-type)。

## 与 CloudZero 插件进行交互
<a name="use-cloudzero-plugin"></a>

要使用该CloudZero插件，请在有关CloudZero您的 AWS 应用程序监视器和案例的问题开头输入**@cloudzero**。针对 Amazon Q 问题的后续提问或回复，也必须包含 **@cloudzero**。

以下是一些使用案例示例及对应的问题，可帮助您充分利用 Amazon Q CloudZero 插件：
+  **了解如何CloudZero与一起使用 AWS** — 询问CloudZero功能的工作原理。Amazon Q 可能会询问您更多关于您所尝试操作的信息，以提供最佳答案。
  + **@cloudzero how do I use CloudZero?** 
  + **@cloudzero how do I get started with CloudZero?** 
+ **列出成本洞察信息**：获取成本洞察信息列表，或了解特定洞察的更多信息。
  + **@cloudzero list my top cost insights** 
  + **@cloudzero tell me more about insight <insight ID>** 
+ **获取账单信息** — 向 Amazon Q CloudZero 插件询问您的 AWS 账单信息。
  + **@cloudzero what were my AWS costs for December 2024?** 