亚马逊AWS官方博客
启用新的精细服务权限来更好地控制账单、成本管理和账户服务的访问权限
亚马逊云科技将在服务前缀 aws-portal
下停用账单、成本管理和账户控制台的 Amazon Identity and Access Management(IAM)操作,以及采购订单命名空间下的两个操作,即 purchase-orders:ViewPurchaseOrders
和 purchase-orders:ModifyPurchaseOrders
。 我们将用新的精细服务权限取而代之。有了这些权限,您可以更好地控制账单、成本管理和账户服务的访问权限。这些新权限还将提供一组 IAM 操作,用于管理控制台和编程接口的访问权限。
在本文中,我们将向您展示将发生的变化,以及为迎接这一变化,如何通过修改 IAM policy 和权限来允许/拒绝访问账单、成本管理和账户服务。我们还将讨论该变化对现有 Amazon 托管策略和迁移时间安排的影响,以及您可以使用哪些工具或选项轻松完成这一过渡。
背景
目前,您可以使用带有 aws-portal
服务前缀的 IAM 操作(在本文中称为现有权限/IAM 操作)来控制对账单、成本管理和账户控制台的访问权限。例如,当您向用户提供 aws-portal:ViewBilling
和 aws-portal:ModifyBilling
操作的访问权限时,即授权该用户访问多个控制台页面,包括 Amazon Cost Explorer、Amazon Budgets、整合账单、账单首选项、积分、税费设置、付款方式、采购订单和成本分配标签。如果您想允许用户访问特定的成本管理服务控制台页面(例如 Cost Explorer),但不允许访问账单页面,现在是无法达成的。这种限制可能会使您难以运行非中心化的云成本管理模型(在此模型中个人用户可以根据自己的角色访问特定的服务)。许多用户告诉我们,他们希望对账单、成本管理和账户服务的访问权限进行更精细的控制,而我们提到的上述变化可以实现这种灵活性。
此外,如今您可以使用与控制台 IAM 操作集不同的 IAM 操作集,通过编程接口控制对账单、成本管理和账户服务的访问权限。例如,当客户想要通过控制台和 Cost Explorer API 为用户提供对 Cost Explorer 的访问权限时,该用户将需要 aws-portal:ViewBilling
和 ce:*
的权限。新的 IAM 操作提供一组权限,您只需通过控制台和编程接口便可控制并轻松设置对账单、成本管理和账户服务的访问权限,并减少出错的情况。
已推出的内容
2023 年 8 月 23 日,亚马逊云科技推出了精细的 IAM 操作和 4 个新的服务前缀(consolidated billing
、freetier
、invoicing
和 payments
),并为 5 个现有服务前缀(billing
、accounts
、cur
和 purchase-orders
)添加了新权限。
我们将停用 aws-portal
服务前缀及其中的所有操作。此外,我们还将停用 purchase-orders:ViewPurchaseOrders
和 purchase-orders:ModifyPurchaseOrders
权限。
如果您一直在使用 Amazon 托管策略让 IAM 用户或根用户访问 Amazon 账单、成本管理和账户控制台,则无需采取任何操作,因为亚马逊云科技正在更新现有的 Amazon 托管策略。您可以在“对现有托管策略的更新”部分查看相关信息。
新的服务前缀和权限
新服务前缀 | 摘要 | |
consolidatedbilling | 链接 | 提供对账户角色等整合账单功能的访问权限 |
freetier | 链接 | 提供对 Amazon Billing Console 上免费套餐功能的访问权限 |
invoicing | 链接 | 提供对 Amazon Billing Console 上的开票资源的访问权限 |
payments | 链接 | 提供对 Amazon Billing Console 上付款和付款方式的访问权限 |
对现有服务前缀和权限的更新
现有服务前缀 | 服务授权参考 | 摘要 |
billing | 链接 | 提供对 Amazon Billing Console(主页、账单、积分、账单首选项)上的账单功能的访问权限 |
account | 链接 | 提供对 Amazon 账户管理资源的访问权限 |
cur | 链接 | 提供对 Amazon Billing Console 上成本和使用情况报告的访问权限 |
purchase-orders | 链接 | 提供对 Amazon Billing Console 上采购订单体验的访问权限 |
请注意,这些新的 IAM 操作现在可以控制对控制台功能的访问权限。未来,我们将为账单、付款、税费设置推出新的 API,让您能够以编程方式访问目前只能通过控制台访问的相同资源(如支出摘要、账单、付款摘要、交易、税务登记)。这些未来推出的 API 将使用今天推出的新 IAM 操作进行控制。
停用的服务前缀和权限
将停用的服务前缀和权限 | 服务授权参考 | 摘要 |
aws-portal | 链接 | 在权限迁移结束后,我们将停用此服务前缀以及其中的所有 IAM 操作 |
purchase-orders | 链接 | 在权限迁移结束后,我们将停用 purchase-orders:ViewPurchaseOrders 和 purchase-orders:ModifyPurchaseOrders 权限。我们将发布其他权限来取代这两个权限。 |
您应该如何开始使用?
要使用精细的访问控制,您需要将策略从 aws-portal 下迁移到新的 IAM 操作中。
您的权限策略或服务控制策略(SCP)中的以下 IAM 操作需要使用新的精细操作进行更新:
aws-portal:ViewAccount
aws-portal:ViewBilling
aws-portal:ViewPaymentMethods
aws-portal:ModifyAccount
aws-portal:ModifyBilling
aws-portal:ModifyPaymentMethods
purchase-orders:ViewPurchaseOrders
purchase-orders:ModifyPurchaseOrders
亚马逊云科技建议您立即开始添加新的精细权限,这样您就可以确保在所有受影响的策略停用之前已对其更新,以保障对 Amazon 账单、成本管理和账户控制台的访问权限不中断。如果您想立即开始使用或测试精细操作,请使用“如何在新的精细操作或现有 IAM 操作之间切换账户?”中所述的功能。
例如,您的账户中有以下名为“AllowViewAccessToBillingAndCost ManagementConsole”的基于身份的策略,该策略具有现有 IAM 操作“aws-portal:ViewBilling
”,允许用户查看 Amazon 账单和成本管理控制台的内容。
您需要更新此策略才能添加精细操作。在下面的示例策略中,您会看到精细的 IAM 操作已添加在“ThesePermissionsWillHaveNoEffectTillEndOfMigration”语句块下。您可以在下面的示例中看到,更新的策略还包含“ThisPermissionWillContinueProvidingAccessAsNormal”语句块下的现有操作,因为它们在停用日期之前控制对我们控制台的访问权限。
为了帮助您识别和更新受影响的 IAM policy,亚马逊云科技提供以下资源。在本文中,我们将详细介绍如何使用“受影响的策略”和“切换账户”功能来更改权限。您可以在下面的用户指南中查看其他资源的说明。
- 受影响的策略(用户指南):该工具列出了账户内受影响的 IAM policy。您可以在已登录的账户中查看每项策略并作出必要的更改。
- 批量策略迁移器(用户指南):您可以使用这些脚本识别和更新组织内所有受影响的策略。您可以从您组织的付款人账户运行这些脚本。如果您使用具有多个关联账户的 Amazon Organization 账户,请使用批量策略迁移器脚本高效更新组织内的所有账户。
- 映射指南(用户指南):这是我们从每个 IAM 操作的现有(旧版)操作到新的精细操作的映射,即将停用。
- 切换账户:此自助服务功能可让您在新的精细操作和现有(旧版)IAM 操作之间切换。添加新的精细操作后,您可以使用切换账户功能,立即开始在账户中使用新的 IAM 操作(请参阅“如何在新的精细或现有 IAM 操作之间切换账户?”部分)。
对现有托管策略的更新
在此次发布中,亚马逊云科技更新了以下 Amazon 托管策略,加入了新的精细权限。Amazon 托管策略中的这些 aws-portal
IAM 操作在停用日期之前将一直有效,因此您可以像以前一样继续使用这些托管策略。停用后,亚马逊云科技将从这些托管策略中删除 aws-portal
IAM 操作。如果您只使用 Amazon 托管策略,则无需采取任何操作,因为亚马逊云科技将进行更新。
AWSBillingReadOnlyAccess (arn:aws:iam::aws:policy/AWSBillingReadOnlyAccess)
Billing (arn:aws:iam::aws:policy/job-function/Billing)
ReadOnlyAccess (arn:aws:iam::aws:policy/ReadOnlyAccess)
如何更新账户中受影响的策略?
主要有两个步骤:1) 确定需要更新的策略;2) 更新策略以使用新的 IAM 操作。在下面的示例中,我们将重点关注在太平洋时间 2023 年 3 月 6 日上午 11 点之前创建,且曾属于或现属于该组织的账户。对于在太平洋时间 2023 年 3 月 6 日上午 11 点或之后创建的新账户或新组织,他们将直接可使用新的精细操作。
请注意,受影响的策略控制台仅显示已登录账户中受影响的 IAM policy,不显示受此更改影响的服务控制策略 (SCP)。请使用批量策略迁移器脚本来识别和更新组织内所有账户的 IAM policy。您需要登录 Amazon Organizations 控制台才能查看受影响的服务控制策略(SCP)。本文余下部分将详细介绍如何在控制台中从现有 IAM 操作过渡到精细操作。如果您在受版本控制的存储库中管理和维护 IAM policy,请务必对自动化进行同样的更改。如有其他问题,请联系 Amazon 支持。
第 1 步:确定需要更新的策略
请登录您的账户,访问受影响的策略控制台。访问时,请使用 IAM policy 中包含的 iam:GetAccountAuthorizationDetails
操作的 IAM 用户/角色,或者将以下 Amazon 托管策略中的任一策略分配给您的 IAM 用户/角色:SystemAdministrator、AdministratorAccess、IAMFullAccess 或 IAMReadOnlyAccess。
登录您的账户并访问受影响的策略控制台,查看所有引用将停用的现有 aws-portal IAM 操作的 IAM policy。您还可以查看附加到受影响策略的 IAM 实体(IAM 用户、角色或组)的数量,这样您就可以优先更新分配给 IAM 实体数量最多的策略。此工具将显示客户托管策略和需要更新的内联策略。
例如,您使用附加到六个 IAM 用户的现有 IAM 操作“aws-portal:ViewBilling
”制定身份策略“AllowViewAccessToBillingAndCostManagementConsole”。
您会看到列出了“AllowViewAccessToBillingAndCostManagementConsole”策略(见下方屏幕截图)。此工具显示此策略附加到多少个 IAM 实体,在本示例中为“6”。该工具还显示违规的 IAM 操作,本例中为 aws-portal:ViewBilling
。
图 1:现有账户组的受影响策略控制台
您还可以通过单击受影响的策略控制台上的“导出所有受影响的策略”按钮,下载受影响的策略列表以及策略 ARN。
图 2:“导出所有受影响的策略”按钮
要更新服务控制策略(SCP),您需要登录 Amazon Organizations 控制台。后文“如何将服务控制策略更新为新操作”部分提供相关说明。
第 2 步:将账户中的策略更新为新的 IAM 操作
在受影响的策略列表中,您可以单击策略名称并在 IAM 控制台中更新 IAM 客户托管或内联策略。您可以像往常一样更新 IAM policy。您可以查看编辑 IAM policy,了解如何更新策略。在将您的策略更新为新操作之前,请记下您当前的默认策略版本。如果您在更改时遇到问题,可以将策略恢复到此版本。
在步骤 1 中,您已确定需要更新名为“AllowViewAccessToBillingAndCost ManagementConsole”的策略。导航到 IAM 控制台后,即可添加新的 IAM 操作。请使用“映射指南”确认要为相应的旧版 IAM 操作添加的所需新 IAM 操作。 在策略中添加新的精细操作时,您需要保留当前操作。
在向所有受影响的策略添加新的精细 IAM 操作后,由于您在迁移期间保留了现有 IAM 操作,因此您将继续在受影响的策略控制台中看到此策略。现有 IAM 操作停用后,我们建议您通过删除现有 IAM 操作来更新策略,以符合策略卫生最佳实践;删除现有 IAM 操作后,您将不再在受影响的策略控制台中看到此策略。我们还建议您在受付款人账户/普通账户影响的策略控制台上使用自助服务工具,将账户切换为立即使用新的 IAM 操作。详情请参阅“如何在新的精细操作或现有 IAM 操作之间切换账户?”
您可以参考这些 Billing Console 和成本管理用户指南,了解每项账单、成本管理和账户服务的精细 IAM 操作。
如何将服务控制策略更新为新操作
只有在您的 Amazon Organizations 中启用所有功能后,服务控制策略(SCP)功能才可用。
- 您需要登录您的 Amazon Organizations 的管理账户
- 访问 Amazon Organizations 控制台,查看在您管理账户中创建的 SCP
- 单击左侧导航面板中的“策略”,然后选择“服务控制策略”
图 3:Amazon Organizations 中的服务控制策略
- 单击您为 Amazon 账单、成本管理和账户控制台创建的 SCP。
- 单击“编辑策略”按钮以更新您的 SCP。
图 4:用于服务控制策略的编辑策略按钮
- 更新策略的内容,以便添加新的 IAM 操作。保留现有的 IAM 操作,以便在整个迁移期间都拥有访问权限
图 5:编辑服务控制策略的内容
- 您还可以在“目标”选项卡中查看 SCP 应用于哪些成员账户,这样您就可以优先更新分配给成员账户数量最多的 SCP。
图 6:服务控制策略的“目标”选项卡
有关如何更新服务控制策略的详细说明在本用户指南中。
如何在新的精细操作或现有 IAM 操作之间切换账户?
此自助服务功能可让您在新的精细操作和现有(旧版)IAM 操作之间切换。您可以在您的账户中测试新操作,也可以跨组织内的部分账户(如果是管理账户)测试新操作。停用后,所有账户都需要使用新的操作,自助服务功能将不再可用。
您可以通过受影响的策略控制台访问上述操作。如要通过控制台使用这些功能,您需要使用带有 ce:GetConsoleActionSetEnforced
、aws-portal:GetConsoleActionSetEnforced
、purchase-orders:GetConsoleActionSetEnforced
(用于查看强制执行的操作的状态),以及 ce:UpdateConsoleActionSetEnforced
、aws-portal:UpdateConsoleActionSetEnforced
、purchase-orders:UpdateConsoleActionSetEnforced
(用于切换操作)的 IAM 用户/角色。对于 Amazon Organizations,该功能仅适用于管理账户用户。
在您已登录的账户中访问受影响的策略控制台
如果您未使用管理账户且不属于 Amazon Organizations,则只能切换为自己的账户设置的操作。如图 7 所示,对于当前已登录的用户,系统将强制执行“现有”IAM 操作。您可以选择“为您的账户启用新操作”选项,然后选择“应用更改”。随后系统将为您的账户启用新的 IAM 操作。
图 7:现有(旧版)IAM 操作已强制执行,切换到新的(精细)操作
同样,如果强制执行“精细”IAM 操作,则可以选择“为您的账户启用旧版操作”选项,然后选择“应用更改”(参见图 8)。该账户将恢复使用旧版 IAM 操作,这些操作仅在停用日期之前可用。
图 8:已强制执行新的(精细)IAM 操作,切换到旧版 IAM 操作
作为管理账户所有者,您可以切换为组织内所有或部分成员账户设置的操作。如果强制执行“现有”IAM 操作(参见图 9),则可以为整个组织或组织内的特定账户启用新的 IAM 操作。对于后者,您需要提供账号(最多 10 个)。
图 9:管理账户视图,在组织内强制执行的现有(旧版)IAM 操作,切换到组织内所有账户或部分账户的新(精细)操作
同样,在强制执行新的 IAM 操作时(参见图 10),您可以恢复整个组织或组织内特定账户的旧版操作。对于后者,您需要提供账号(最多 10 个)。
图 10:管理账户视图,在组织内强制执行的新(精细)IAM 操作,切换到组织内所有账户或部分账户的旧版 IAM 操作
如果组织内的部分账户被覆盖(使用旧版或新的 IAM 操作),则“当前操作集已强制执行”状态将以下方格式显示,并带有下载 CSV 文件的链接。CSV 文件将包含使用新旧 IAM 操作且受覆盖的账户。
图 11:管理账户用户视图,在组织内强制执行的新(精细)IAM 操作,其中部分账户使用旧版 IAM 操作
结论
在新的服务特定命名空间下启动这些精细权限后,可以对账单、成本管理、账户控制台和服务进行最低权限访问。如要利用增强的访问控制功能并确保对 Amazon 账单、成本管理和账户控制台的访问权限不中断,请务必参阅成本管理用户指南和 Billing Console 用户指南,了解详情并采取相应的措施。如果您有任何问题,请随时联系您的 Amazon 联系人和支持团队。