12 月 11 日,亚马逊云科技将在服务前缀 aws-portal 下停用账单、成本管理和账户控制台(https://docs.amazonaws.cn/en_us/service-authorization/latest/reference/list_awsbillingconsole.html)的 Amazon Identity and Access Management(IAM)操作(https://docs.amazonaws.cn/en_us/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 )添加了新权限。
2023 年 12 月 11 日,我们将停用 aws-portal 服务前缀及其中的所有操作。此外,我们还将停用 purchase-orders:ViewPurchaseOrders 和 purchase-orders:ModifyPurchaseOrders 权限。
如果您一直在使用 Amazon 托管策略让 IAM 用户或根用户访问 Amazon 账单、成本管理和账户控制台,则无需采取任何操作,因为亚马逊云科技正在更新现有的 Amazon 托管策略。您可以在“对现有托管策略的更新”部分查看相关信息(https://aws.amazon.com/cn/blogs/china/enable-new-granular-service-permissions-to-better-control-access-to-billing-cost-management-and-account-services/#_Updates_to_existing)。
新的服务前缀和权限
consolidatedbilling
提供对账户角色等整合账单功能的访问权限https://docs.amazonaws.cn/en_us/service-authorization/latest/reference/list_awsconsolidatedbilling.html
freetier
提供对 Amazon Billing Console 上免费套餐功能的访问权限
https://docs.amazonaws.cn/en_us/service-authorization/latest/reference/list_awsfreetier.html
invoicing
提供对 Amazon Billing Console 上的开票资源的访问权限
https://docs.amazonaws.cn/en_us/service-authorization/latest/reference/list_awsinvoicingservice.html
payments
提供对 Amazon Billing Console 上付款和付款方式的访问权限
https://docs.amazonaws.cn/en_us/service-authorization/latest/reference/list_awspayments.html
对现有服务前缀和权限的更新
billing
提供对 Amazon Billing Console(主页、账单、积分、账单首选项)上的账单功能的访问权限
https://docs.amazonaws.cn/en_us/service-authorization/latest/reference/list_awsbillingconsole.html
account
提供对 Amazon 账户管理资源的访问权限
https://docs.amazonaws.cn/en_us/service-authorization/latest/reference/list_awsaccountmanagement.html
cur
提供对 Amazon Billing Console 上成本和使用情况报告的访问权限
purchase-orders
提供对 Amazon Billing Console 上采购订单体验的访问权限
https://docs.amazonaws.cn/en_us/service-authorization/latest/reference/list_awspurchaseordersconsole.html
请注意,这些新的 IAM 操作现在可以控制对控制台功能的访问权限。未来,我们将为账单、付款、税费设置推出新的 API,让您能够以编程方式访问目前只能通过控制台访问的相同资源(如支出摘要、账单、付款摘要、交易、税务登记)。这些未来推出的 API 将使用今天推出的新 IAM 操作进行控制。
停用的服务前缀和权限
aws-portal
在权限迁移结束后,我们将停用此服务前缀以及其中的所有 IAM 操作
https://docs.amazonaws.cn/en_us/service-authorization/latest/reference/list_awsbillingconsole.html
purchase-orders
在权限迁移结束后,我们将停用 purchase-orders:ViewPurchaseOrders 和 purchase-orders:ModifyPurchaseOrders 权限。我们将发布其他权限来取代这两个权限。
https://docs.amazonaws.cn/en_us/service-authorization/latest/reference/list_awspurchaseordersconsole.html
您应该如何开始使用?
要使用精细的访问控制,您需要将策略从 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 操作之间切换账户?”中所述的功能(https://aws.amazon.com/cn/blogs/china/enable-new-granular-service-permissions-to-better-control-access-to-billing-cost-management-and-account-services/#_How_to_toggle)。
例如,您的账户中有以下名为“AllowViewAccessToBillingAndCost ManagementConsole”的基于身份的策略,该策略具有现有 IAM 操作“ aws-portal:ViewBilling ”,允许用户查看 Amazon 账单和成本管理控制台的内容。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": " VisualEditor0 ",
"Effect": "Allow",
"Action": "aws-portal:ViewBilling",
"Resource": "*"
}
]
}
左滑查看更多
您需要更新此策略才能添加精细操作。在下面的示例策略中,您会看到精细的 IAM 操作已添加在“ThesePermissionsWillHaveNoEffectTillEndOfMigration”语句块下。您可以在下面的示例中看到,更新的策略还包含“ThisPermissionWillContinueProvidingAccessAsNormal”语句块下的现有操作,因为它们在停用日期之前控制对我们控制台的访问权限。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ThesePermissionsWillHaveNoEffectTillEndOfMigration",
"Effect": "Allow",
"Action": [
"ce:Get*",
"ce:Describe*",
"ce:List*",
"account:GetAccountInformation",
"billing:Get*",
"payments:List*",
"payments:Get*",
"consolidatedbilling:Get*",
"consolidatedbilling:List*",
"invoicing:List*",
"invoicing:Get*",
"cur:Get*",
"cur:Validate*",
"freetier:Get*"
],
"Resource": "*"
},
{
"Sid": "ThisPermissionWillContinueProvidingAccessAsNormal",
"Effect": "Allow",
"Action": "aws-portal:ViewBilling",
"Resource": "*"
}
]
}
左滑查看更多
为了帮助您识别和更新受影响的 IAM policy,亚马逊云科技提供以下资源。在本文中,我们将详细介绍如何使用“受影响的策略”和“切换账户”功能来更改权限。您可以在下面的用户指南中查看其他资源的说明。
受影响的策略:该工具列出了账户内受影响的 IAM policy。您可以在已登录的账户中查看每项策略并作出必要的更改。
用户指南:https://docs.amazonaws.cn/en_us/cost-management/latest/userguide/migrate-security-iam-tool.html
批量策略迁移器:您可以使用这些脚本识别和更新组织内所有受影响的策略。您可以从您组织的付款人账户运行这些脚本。如果您使用具有多个关联账户的 Amazon Organization 账户,请使用批量策略迁移器脚本高效更新组织内的所有账户。
用户指南:https://docs.amazonaws.cn/en_us/awsaccountbilling/latest/aboutv2/migrate-iam-permissions.html
映射指南:这是我们从每个 IAM 操作的现有(旧版)操作到新的精细操作的映射,即将停用。
用户指南:https://docs.amazonaws.cn/en_us/awsaccountbilling/latest/aboutv2/migrate-granularaccess-iam-mapping-reference.html
切换账户:此自助服务功能可让您在新的精细操作和现有(旧版)IAM 操作之间切换。添加新的精细操作后,您可以使用切换账户功能,立即开始在账户中使用新的 IAM 操作(请参阅“如何在新的精细或现有 IAM 操作之间切换账户?”部分)。
https://aws.amazon.com/cn/blogs/china/enable-new-granular-service-permissions-to-better-control-access-to-billing-cost-management-and-account-services/#_How_to_toggle
对现有托管策略的更新
在此次发布中,亚马逊云科技更新了以下 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 支持(https://console.amazonaws.cn/support/home#/)。
第 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 操作。 在策略中添加新的精细操作时,您需要保留当前操作。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ThesePermissionsWillHaveNoEffectTillEndOfMigration",
"Effect": "Allow",
"Action": [
"ce:Get*",
"ce:Describe*",
"ce:List*",
"account:GetAccountInformation",
"billing:Get*",
"payments:List*",
"payments:Get*",
"consolidatedbilling:Get*",
"consolidatedbilling:List*",
"invoicing:List*",
"invoicing:Get*",
"cur:Get*",
"cur:Validate*",
"freetier:Get*"
],
"Resource": "*"
},
{
"Sid": "ThisPermissionWillContinueProvidingAccessAsNormal",
"Effect": "Allow",
"Action": "aws-portal:ViewBilling",
"Resource": "*"
}
]
}
左滑查看更多
在向所有受影响的策略添加新的精细 IAM 操作后,由于您在迁移期间保留了现有 IAM 操作,因此您将继续在受影响的策略控制台中看到此策略。现有 IAM 操作停用后,我们建议您通过删除现有 IAM 操作来更新策略,以符合策略卫生最佳实践;删除现有 IAM 操作后,您将不再在受影响的策略控制台中看到此策略。我们还建议您在受付款人账户/普通账户影响的策略控制台上使用自助服务工具,将账户切换为立即使用新的 IAM 操作。详情请参阅“如何在新的精细操作或现有 IAM 操作之间切换账户?”(https://aws.amazon.com/cn/blogs/china/enable-new-granular-service-permissions-to-better-control-access-to-billing-cost-management-and-account-services/#_How_to_toggle)
您可以参考这些 Billing Console 和成本管理用户指南,了解每项账单、成本管理和账户服务的精细 IAM 操作。
如何将服务控制策略更新为新操作
只有在您的 Amazon Organizations 中启用所有功能后,服务控制策略(SCP)功能才可用。
您需要登录您的 Amazon Organizations 的管理账户
访问 Amazon Organizations 控制台,查看在您管理账户中创建的 SCP
单击左侧导航面板中的“策略”,然后选择“服务控制策略
图 3:Amazon Organizations 中的服务控制策略
单击您为 Amazon 账单、成本管理和账户控制台创建的 SCP。
单击“编辑策略”按钮以更新您的 SCP。
图 4:用于服务控制策略的编辑策略按钮
更新策略的内容,以便添加新的 IAM 操作。保留现有的 IAM 操作,以便在整个迁移期间都拥有访问权限
图 5:编辑服务控制策略的内容
您还可以在“目标”选项卡中查看 SCP 应用于哪些成员账户,这样您就可以优先更新分配给成员账户数量最多的 SCP。
图 6:服务控制策略的“目标”选项卡
有关如何更新服务控制策略的详细说明在本用户指南中:https://docs.amazonaws.cn/en_us/organizations/latest/userguide/orgs_manage_policies_scps_create.html
如何在新的精细操作或现有 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 账单、成本管理和账户控制台的访问权限不中断,请务必参阅成本管理用户指南(https://docs.amazonaws.cn/en_us/cost-management/latest/userguide/migrate-granularaccess-whatis.html)和 Billing Console 用户指南(https://docs.amazonaws.cn/en_us/awsaccountbilling/latest/aboutv2/migrate-granularaccess-whatis.html),了解详情并采取相应的措施。如果您有任何问题,请随时联系您的 Amazon 联系人和支持团队(https://console.amazonaws.cn/support/home#/)。
星标不迷路,开发更极速!
关注后记得星标「亚马逊云开发者」
听说,点完下面4个按钮
就不会碰到bug了!