

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

# 使用控制台批量迁移您的策略
<a name="migrate-granularaccess-console"></a>

**注意**  
以下 AWS Identity and Access Management (IAM) 操作已于 2023 年 7 月结束标准支持：  
`aws-portal` 命名空间
`purchase-orders:ViewPurchaseOrders`
`purchase-orders:ModifyPurchaseOrders`
如果您正在使用 AWS Organizations，则可以使用[批量策略迁移器脚本](migrate-iam-permissions.md)或批量策略迁移器从您的付款人账户更新政策。您还可以使用[旧到精细操作映射参考](migrate-granularaccess-iam-mapping-reference.md)来验证需要添加的 IAM 操作。  
如果您在 2023 年 3 月 6 日上午 11:00（太平洋夏令时）当天或之后 AWS Organizations 创建，或参与其中，则细粒度操作已在您的组织中生效。 AWS 账户

本节介绍如何使用 [AWS 账单与成本管理 控制台](https://console.aws.amazon.com/billing/)将旧策略从组织账户或标准账户批量迁移到精细操作。您可以使用控制台通过两种方式完成旧策略的迁移：

**使用亚马逊云科技推荐的迁移流程**  
这是一个简化的单一操作流程，您可以将旧版操作迁移到 AWS映射的精细操作。有关更多信息，请参阅 [使用建议的操作批量迁移旧版策略](migrate-console-streamlined.md)。

**使用自定义迁移流程**  
此过程允许您在批量迁移 AWS 之前查看和更改建议的操作，以及自定义要迁移组织中的哪些帐户。有关更多信息，请参阅 [自定义批量迁移旧版策略的操作](migrate-console-customized.md)。

## 使用控制台进行批量迁移的先决条件
<a name="migrate-granularaccess-console-prereq"></a>

这两个迁移选项都需要您在控制台中征得您的同意，这样 AWS 才能为您分配的传统 IAM 操作推荐细粒度的操作。为此，您需要以 [IAM 委托](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)人身份登录您的 AWS 账户，并执行以下 IAM 操作才能继续更新政策。

------
#### [ Management account ]

```
// Required to view page
"ce:GetConsoleActionSetEnforced",
"aws-portal:GetConsoleActionSetEnforced",
"purchase-orders:GetConsoleActionSetEnforced",
"ce:UpdateConsoleActionSetEnforced",
"aws-portal:UpdateConsoleActionSetEnforced",
"purchase-orders:UpdateConsoleActionSetEnforced",
"iam:GetAccountAuthorizationDetails",
"s3:CreateBucket",
"s3:DeleteObject",
"s3:ListAllMyBuckets",
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket",
"s3:PutBucketAcl",
"s3:PutEncryptionConfiguration",
"s3:PutBucketVersioning",
"s3:PutBucketPublicAccessBlock",
"lambda:GetFunction",
"lambda:DeleteFunction",
"lambda:CreateFunction",
"lambda:InvokeFunction",
"lambda:RemovePermission",
"scheduler:GetSchedule", 
"scheduler:DeleteSchedule",
"scheduler:CreateSchedule",
"cloudformation:ActivateOrganizationsAccess",
"cloudformation:CreateStackSet",
"cloudformation:CreateStackInstances",
"cloudformation:DescribeStackSet",
"cloudformation:DescribeStackSetOperation",
"cloudformation:ListStackSets",
"cloudformation:DeleteStackSet",
"cloudformation:DeleteStackInstances",
"cloudformation:ListStacks",
"cloudformation:ListStackInstances",
"cloudformation:ListStackSetOperations",
"cloudformation:CreateStack",
"cloudformation:UpdateStackInstances",
"cloudformation:UpdateStackSet",
"cloudformation:DescribeStacks",
"ec2:DescribeRegions",
"iam:GetPolicy",
"iam:GetPolicyVersion",
"iam:GetUserPolicy",
"iam:GetGroupPolicy",
"iam:GetRole",
"iam:GetRolePolicy",
"iam:CreatePolicyVersion",
"iam:DeletePolicyVersion",
"iam:ListAttachedRolePolicies",
"iam:ListPolicyVersions",
"iam:PutUserPolicy",
"iam:PutGroupPolicy",
"iam:PutRolePolicy",
"iam:SetDefaultPolicyVersion",
"iam:GenerateServiceLastAccessedDetails",
"iam:GetServiceLastAccessedDetails",
"iam:GenerateOrganizationsAccessReport",
"iam:GetOrganizationsAccessReport",
"organizations:ListAccounts",
"organizations:ListPolicies",
"organizations:DescribePolicy",
"organizations:UpdatePolicy",
"organizations:DescribeOrganization",
"organizations:ListAccountsForParent",
"organizations:ListRoots",
"sts:AssumeRole",
"sso:ListInstances",
"sso:ListPermissionSets",
"sso:GetInlinePolicyForPermissionSet",
"sso:DescribePermissionSet",
"sso:PutInlinePolicyToPermissionSet",
"sso:ProvisionPermissionSet",
"sso:DescribePermissionSetProvisioningStatus",
"notifications:ListNotificationHubs" // Added to ensure Notifications API does not return 403
```

------
#### [ Member account or standard account ]

```
// Required to view page
"ce:GetConsoleActionSetEnforced",
"aws-portal:GetConsoleActionSetEnforced",
"purchase-orders:GetConsoleActionSetEnforced",
"ce:UpdateConsoleActionSetEnforced", // Not needed for member account
"aws-portal:UpdateConsoleActionSetEnforced", // Not needed for member account
"purchase-orders:UpdateConsoleActionSetEnforced", // Not needed for member account
"iam:GetAccountAuthorizationDetails",
"ec2:DescribeRegions",
"s3:CreateBucket",
"s3:DeleteObject",
"s3:ListAllMyBuckets",
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket",
"s3:PutBucketAcl", 
"s3:PutEncryptionConfiguration",
"s3:PutBucketVersioning",
"s3:PutBucketPublicAccessBlock",
"iam:GetPolicy",
"iam:GetPolicyVersion",
"iam:GetUserPolicy",
"iam:GetGroupPolicy",
"iam:GetRolePolicy",
"iam:GetRole",
"iam:CreatePolicyVersion",
"iam:DeletePolicyVersion",
"iam:ListAttachedRolePolicies",
"iam:ListPolicyVersions",
"iam:PutUserPolicy",
"iam:PutGroupPolicy",
"iam:PutRolePolicy",
"iam:SetDefaultPolicyVersion",
"iam:GenerateServiceLastAccessedDetails",
"iam:GetServiceLastAccessedDetails",
"notifications:ListNotificationHubs" // Added to ensure Notifications API does not return 403
```

------

**Topics**
+ [使用控制台进行批量迁移的先决条件](#migrate-granularaccess-console-prereq)
+ [使用建议的操作批量迁移旧版策略](migrate-console-streamlined.md)
+ [自定义批量迁移旧版策略的操作](migrate-console-customized.md)
+ [回滚您的批量迁移策略更改](migrate-console-rollback.md)
+ [确认您的迁移](#migrate-console-complete)

# 使用建议的操作批量迁移旧版策略
<a name="migrate-console-streamlined"></a>

您可以使用 AWS映射的精细操作来迁移所有旧版策略。对于 AWS Organizations，这适用于所有账户的所有旧版政策。完成迁移过程后，精细操作就会生效。在提交整个组织之前，您可以选择使用测试账户测试批量迁移流程。有关更多信息，请参阅下文。

**使用映射的细粒度操作迁移所有策略 AWS**

1. 登录到 [AWS 管理控制台](https://console.aws.amazon.com/)。

1. 在页面顶部的搜索栏中，输入**Bulk Policy Migrator**。

1. 在**管理新的 IAM 操作**页面上，选择**确认并迁移**。

1. 在**正在迁移**页面上停留，直到迁移完成。查看状态栏了解进度。

1. **正在迁移**部分更新为**迁移成功**后，您将被重定向到**管理新的 IAM 操作**页面。

## 测试您的批量迁移
<a name="migrate-console-streamlined-test"></a>

在承诺迁移整个组织之前，您可以使用测试帐号测试从旧策略到 AWS 建议的细粒度操作的批量迁移。完成测试账户的迁移过程后，精细操作将应用于您的测试账户。

**使用您的测试账户进行批量迁移**

1. 登录到 [AWS 管理控制台](https://console.aws.amazon.com/)。

1. 在页面顶部的搜索栏中，输入**Bulk Policy Migrator**。

1. 在**管理新的 IAM 操作**页面上，选择**自定义**。

1. 将账户和策略加载**到 Migrate acco** unts 表中后，从账户列表中选择一个或多个测试 AWS 账户。

1. （可选）要更改旧策略和 AWS 建议的精细操作之间的映射，请选择**查看默认**映射。更改映射，然后选择**保存**。

1. 选择**确认并迁移**。

1. 停留在控制台页面上，直到迁移完成。

# 自定义批量迁移旧版策略的操作
<a name="migrate-console-customized"></a>

您可以通过各种方式自定义批量迁移，而不必对所有账户都使用 AWS 建议的操作。您可以选择在迁移前查看旧版策略所需的任何更改，选择组织中的特定账户进行一次性迁移，以及通过更新映射的精细操作来更改访问范围。

**在批量迁移之前查看受影响的策略**

1. 登录到 [AWS 管理控制台](https://console.aws.amazon.com/)。

1. 在页面顶部的搜索栏中，输入**Bulk Policy Migrator**。

1. 在**管理新的 IAM 操作**页面上，选择**自定义**。

1. 账户和策略加载到**迁移账户**表后，选择**受影响的 IAM 策略数量**列中的数字以查看受影响的策略。您还将看到上次使用该策略访问账单和成本管理控制台的时间。

1. 选择策略名称以在 IAM 控制台中将其打开，以查看定义并手动更新该策略。
**注意**  
如果策略来自其他成员账户，这样做可能会使您退出当前账户。
如果您的当前账户正在进行批量迁移，则不会将您重定向到相应的 IAM 页面。

1. （可选）选择**查看默认映射**以查看旧版策略，了解 AWS映射的精细策略。

**从组织中迁移一组选定的账户**

1. 登录到 [AWS 管理控制台](https://console.aws.amazon.com/)。

1. 在页面顶部的搜索栏中，输入**Bulk Policy Migrator**。

1. 在**管理新的 IAM 操作**页面上，选择**自定义**。

1. 账户和策略加载到**迁移账户**表后，选择一个或多个要迁移的账户。

1. 选择**确认并迁移**。

1. 停留在控制台页面上，直到迁移完成。

**通过更新映射的精细操作来更改访问范围**

1. 登录到 [AWS 管理控制台](https://console.aws.amazon.com/)。

1. 在页面顶部的搜索栏中，输入**Bulk Policy Migrator**。

1. 在**管理新的 IAM 操作**页面上，选择**自定义**。

1. 选择**查看默认映射**。

1. 选择**编辑**。

1. 为您想要控制访问权限的账单和成本管理服务添加或删除 IAM 操作。有关精细操作及其控制的访问权限的更多信息，请参阅[IAM 精细操作映射参考](migrate-granularaccess-iam-mapping-reference.md)。

1. 选择**保存更改**。

更新后的映射将用于您登录的帐户的所有未来迁移。这可以随时更改。

# 回滚您的批量迁移策略更改
<a name="migrate-console-rollback"></a>

您可以使用批量迁移工具中提供的步骤，安全地回滚在批量迁移过程中进行的所有策略更改。回滚功能适用于账户级别。您可以回滚所有账户或特定已迁移账户组的策略更新。但是，您无法回滚账户中特定策略的更改。

**回滚批量迁移更改**

1. 登录到 [AWS 管理控制台](https://console.aws.amazon.com/)。

1. 在页面顶部的搜索栏中，输入**Bulk Policy Migrator**。

1. 在**管理新的 IAM 操作**页面上，选择**回滚更改**选项卡。

1. 选择要回滚的任何账户。账户必须在**回滚状态**列中显示为 `Migrated`。

1. 选择**回滚更改**按钮。

1. 停留在控制台页面上，直到回滚完成。

## 确认您的迁移
<a name="migrate-console-complete"></a>

您可以使用迁移工具查看是否还有需要迁移的 AWS Organizations 账户。

**确认是否所有账户均已迁移**

1. 登录到 [AWS 管理控制台](https://console.aws.amazon.com/)。

1. 在页面顶部的搜索栏中，输入**Bulk Policy Migrator**。

1. 在**管理新的 IAM 操作**页面上，选择**迁移账户**选项卡。

如果表中未显示任何剩余账户，则所有账户均已成功迁移。