

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

# 从公开预览版迁移到正式发布
<a name="configuring-capabilities-for-aws-devops-agent-migrating-from-public-preview-to-general-availability"></a>

如果您在公开预览版期间使用了 AWS DevOps 代理，则必须在 GA 发布之前更新您的 IAM 角色。本指南介绍如何更新账户中的监控角色和操作员角色。

## 发生了什么变化
<a name="whats-changing"></a>

1. [无法再访问预览期间的按需聊天记录](#on-demand-chat-history-from-public-preview)

1. [新的托管策略取代了预览期间可用的策略](#new-managed-policies)

1. [代理空间的 IAM Identity Center 应用程序访问范围可能已过时](#reconnect-iam-identity-center-if-applicable)

## 公共预览版中的按需聊天记录
<a name="on-demand-chat-history-from-public-preview"></a>

GA 版本引入了额外的安全措施，以加强对聊天记录的访问控制。由于这些变化，无法再访问公开预览期（2026年3月30日之前）的按需聊天记录。在公开预览期间创建的调查期刊和调查结果不受影响。**此更改仅适用于按需聊天对话。**

## 新的托管策略
<a name="new-managed-policies"></a>

对于 GA， AWS 提供了新的托管策略来取代预览时代的策略：


| 角色类型 | 删除 | 添加 | 
| --- | --- | --- | 
| 监控 | AIOpsAssistantPolicy 托管策略 | AIDevOpsAgentAccessPolicy 托管策略 | 
| 运营商（IAM 和 IDC） | 内联策略 | AIDevOpsOperatorAppAccessPolicy 托管策略 | 

此外，运营商角色需要更新的信任策略，IDC 运营商角色需要新的内联策略。

### 先决条件
<a name="prerequisites"></a>
+ 访问配置了您的 DevOps 代理角色的 AWS 账户（主账户和所有次要账户）
+ 修改角色、策略和信任关系的 IAM 权限
+ 您的座席空间 ID、 AWS 账户 ID 和区域（在 DevOps 代理控制台中可见）

### 步骤 1：更新监控角色
<a name="step-1-update-monitoring-roles"></a>

更新您的主账户和每个辅助账户中的监控角色。这些是在您的代理空间的 “**权能**” 选项卡下配置的 Primary/Secondary 源角色（示例 primary/secondary 角色:`DevOpsAgentRole-AgentSpace-3xj2396z`）。

1. 在 DevOps 代理控制台中，前往您的代理空间，然后选择**功能**选项卡。

1. 找到 Primary/Secondary 源代码的监视角色（例如`DevOpsAgentRole-AgentSpace-3xj2396z`），然后选择**编辑**。

1. 在 “**权限策略”** 下，移除`AIOpsAssistantPolicy` AWS 托管策略。

1. 选择**添加权限**、**附加策略**并附加`AIDevOpsAgentAccessPolicy`托管策略。

1. 编辑内联政策并将其内容替换为以下内容，替换您的账户 ID：

```
{
    "Version": "2012-10-17",		 	 	 		 	 	 
    "Statement": [
        {
            "Sid": "AllowCreateServiceLinkedRoles",
            "Effect": "Allow",
            "Action": [
                "iam:CreateServiceLinkedRole"
            ],
            "Resource": [
                "arn:aws:iam::<account-id>:role/aws-service-role/resource-explorer-2.amazonaws.com/AWSServiceRoleForResourceExplorer"
            ]
        }
    ]
}
```

1. 无需更改监控角色的信任策略。验证它是否与以下内容匹配：

```
{
    "Version": "2012-10-17",		 	 	 		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "aidevops.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "<account-id>"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:aidevops:<region>:<account-id>:agentspace/*"
                }
            }
        }
    ]
}
```
+ 对每个辅助账户中的监控角色重复步骤 2—6。

### 步骤 2：更新操作员角色 (IAM)
<a name="step-2-update-the-operator-role-iam"></a>

1. 在 DevOps 代理控制台中，选择**访问**选项卡并找到操作员角色。

1. 在 IAM 控制台中，从操作员角色中移除现有的内联策略。

1. 选择**添加权限**、**附加策略**并附加`AIDevOpsOperatorAppAccessPolicy`托管策略。

1. 选择 “**信任关系**” 选项卡，然后选择 **“编辑信任策略**”。将信任策略替换为以下内容，替换您的账户 ID、地区和座席空间 ID：

```
{
    "Version": "2012-10-17",		 	 	 		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "aidevops.amazonaws.com"
            },
            "Action": ["sts:AssumeRole", "sts:TagSession"],
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "<account-id>"
                },
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:aidevops:<region>:<account-id>:agentspace/<agentspace-id>"
                }
            }
        }
    ]
}
```

### 步骤 3：更新操作员角色 (IDC)
<a name="step-3-update-operator-roles-idc"></a>

如果您将 IAM 身份中心与 DevOps 代理一起使用，请更新每个 IDC 操作员角色。

1. 在 IAM 控制台中，转至**角色**并搜索`WebappIDC`以查找您的 DevOps 代理 IDC 角色（例如`DevOpsAgentRole-WebappIDC-<id>`）。

1. 对于每个 IDC 角色：

a. 移除现有的内联策略。

b. 选择**添加权限**、**附加策略**并附加`AIDevOpsOperatorAppAccessPolicy`托管策略。

c. 选择 “**信任关系**” 选项卡，然后选择 **“编辑信任策略**”。将信任策略替换为以下内容，替换您的账户 ID、地区和座席空间 ID：

```
{
    "Version": "2012-10-17",		 	 	 		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "aidevops.amazonaws.com"
            },
            "Action": ["sts:AssumeRole", "sts:TagSession"],
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "<account-id>"
                },
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:aidevops:<region>:<account-id>:agentspace/<agentspace-id>"
                }
            }
        },
        {
            "Sid": "TrustedIdentityPropagation",
            "Effect": "Allow",
            "Principal": {
                "Service": "aidevops.amazonaws.com"
            },
            "Action": "sts:SetContext",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "<account-id>"
                },
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:aidevops:<region>:<account-id>:agentspace/<agentspace-id>"
                },
                "ForAllValues:ArnEquals": {
                    "sts:RequestContextProviders": [
                        "arn:aws:iam::aws:contextProvider/IdentityCenter"
                    ]
                },
                "Null": {
                    "sts:RequestContextProviders": "false"
                }
            }
        }
    ]
}
```

d. 使用以下权限创建新的内联策略，替换您的账户 ID：

```
{
    "Version": "2012-10-17",		 	 	 		 	 	 
    "Statement": [
        {
            "Sid": "AllowDevOpsAgentSSOAccess",
            "Effect": "Allow",
            "Action": [
                "sso:ListInstances",
                "sso:DescribeInstance"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowDevOpsAgentIDCUserAccess",
            "Effect": "Allow",
            "Action": "identitystore:DescribeUser",
            "Resource": [
                "arn:aws:identitystore::<account-id>:identitystore/*",
                "arn:aws:identitystore:::user/*"
            ]
        }
    ]
}
```

## 重新连接 IAM 身份中心（如果适用）
<a name="reconnect-iam-identity-center-if-applicable"></a>

在公开预览版期间创建的代理空间可能将 IAM Identity Center 应用程序配置为过时的访问范围。对于 GA，正确的范围是**`aidevops:read_write`**。如果您的 IAM Identity Center 应用程序具有之前的作用域 (**`awsaidevops:read_write`**)，则必须断开连接并重新连接 IAM 身份中心。

### 如何检查您的 IAM 身份中心应用程序范围
<a name="how-to-check-your-idc-application-scope"></a>

运行以下 AWS CLI 命令以检查您的 IAM 身份中心应用程序的范围。**您可以在 IAM 身份中心控制台的 “应用程序” 下找到应用程序 ARN。**

```
aws sso-admin list-application-access-scopes \
  --application-arn arn:aws:sso::<account-id>:application/<instance-id>/<application-id>
```

输出应显示正确的范围 **`aidevops:read_write`**：

```
{
    "Scopes": [
        {
            "Scope": "aidevops:read_write"
        }
    ]
}
```

如果示波器显示 **`awsaidevops:read_write`**，则表示它已过时。请按照以下步骤进行更新。

### 如何重新连接 IAM 身份中心
<a name="how-to-reconnect-iam-identity-center"></a>

 AWS 托管 IAM 身份中心应用程序的访问范围无法直接更新。您必须断开连接并重新连接：

1. 在 AWS DevOps 代理控制台中，前往您的代理空间并选择**访问**选项卡。

1. 选择 IAM 身份中心配置旁边的**断开连接**。

1. 确认断开连接。

1. 选择 **Connect** 再次设置 IAM 身份中心。该服务创建了一个具有正确范围的新 IAM 身份中心应用程序。

1. 在 IAM Identity Center 控制台中将用户和群组重新分配给新应用程序。

**重要**  
断开连接会删除与 IAM Identity Center 用户账户关联的个人用户聊天和项目历史记录。用户在重新连接后需要重新登录。

## 验证
<a name="verification"></a>

完成所有步骤后：

1. 返回 DevOps 代理控制台，确认代理空间**访问**选项卡上没有出现任何权限错误。

1. 测试操作员 Web 应用程序，确认其加载和运行正常。

1. 如果您使用 IDC，请验证用户是否可以进行身份验证并访问操作员体验。

## 问题排查
<a name="troubleshooting"></a>

**迁移后出现权限被拒绝错误**
+ 确认它已`AIOpsAssistantPolicy`被移除并`AIDevOpsAgentAccessPolicy`已附加到监视角色。
+ 确认旧的内联策略已被移除并`AIDevOpsOperatorAppAccessPolicy`已附加到操作员角色。
+ 检查运营商信任策略是否包括`sts:TagSession`。
+ 确认已将所有占位符值（`<account-id>`、`<region>`、`<agentspace-id>`）替换为实际值。

**二级账户不起作用**
+ 每个辅助账户的监控角色必须独立更新。登录每个账户并重复步骤 1。

**IDC 身份验证失败**
+ 验证 IDC 信任策略同时包含`sts:AssumeRole`/`sts:TagSession`语句和语`TrustedIdentityPropagation`句。
+ 使用、确认内联策略 `sso:ListInstances``sso:DescribeInstance`，并`identitystore:DescribeUser`已创建。

**迁移后缺少按需聊天记录**
+ 在 GA 发布后，无法访问公开预览期的按需聊天记录。这是由于 GA 中引入的增强安全措施而出现的预期行为。调查期刊和公开预览版的结果不受影响。