Amazon Web Services ブログ
AWS 請求、コスト管理、アカウントコンソール権限の変更
この記事は、 Bowen Wang が2023 年 1 月 10 日に投稿した “Changes to AWS Billing, Cost Management, and Account Consoles Permissions” を翻訳したものです。
このブログは、古い IAMアクションから新しいきめ細かな IAM アクションへの移行を完了していないアカウントのみ適用されます。2023 年 3 月 7 日 午前 4 時 (日本標準時) 以降に作成されたアカウントまたは AWS Organizations 組織に所属している場合、既にきめ細かな IAM アクションが適用されているため、このブログは対象外です。
AWS はサービスプレフィックスaws-portal
と、発注書ネームスペースにある 2 つのアクション(purchase-orders:ViewPurchaseOrders
, purchase-orders:ModifyPurchaseOrders
)を、請求、コスト管理、およびアカウントコンソールの AWS Identity and Access Management (IAM) アクションから廃止し、請求、コスト管理、およびアカウントサービスへのアクセスをより詳細に制御できる、きめ細かなサービス固有の権限に置き換えました。これらの新しい権限により、コンソールインターフェイスとプログラムインターフェイスの両方へのアクセスを管理する単一の AWS Identity and Access Management (IAM) アクションセットが提供されます。
このブログでは、変更点、および変更に備えて IAM ポリシーと権限を更新して、請求、コスト管理、アカウントサービスへのアクセスを許可/拒否する方法について説明します。また、既存の AWS 管理ポリシーや移行スケジュールへの影響や、移行を簡単にするためのツールやオプションについても説明します。
背景
これまで、請求コンソール、コスト管理コンソール、アカウントコンソールへのアクセスを制御するには、aws-portal
サービスプレフィックスを付けた IAM アクション (このブログでは「既存の権限/IAM アクション」と呼びます) を使用していました。例えば、aws-portal:ViewBilling
とaws-portal:ModifyBilling
アクションへのユーザーアクセスを許可すると、AWS Cost Explorer、AWS Budgets、一括請求、請求設定、クレジット、税金設定、支払い方法、注文書、コスト配分タグなど、複数のコンソールページへのユーザーアクセスを許可することになります。お客様がCost Explorerなどの特定のコスト管理サービスコンソールページへのアクセスを許可したいが、請求書ページへのアクセスを拒否したい場合、これまではできませんでした。この制限により、個々のユーザーが役割ごとに特定のサービスにアクセスできる非集中的なクラウドコスト管理モデルの実行が困難になる可能性がありました。多くのお客様から、請求、コスト管理、アカウントサービスへのアクセスをよりきめ細かく制御したいとの声がありましたが、このブログで説明する変更点により柔軟性を得られるようになります。
加えてこれまでは、コンソールとは異なる IAM アクションセットを使用して、プログラマティックインターフェイスを介した請求、コスト管理、アカウントサービスへのアクセスを制御する必要がありました。例えば、お客様がコンソールと Cost Explorer APIの両方を通じてCost Explorer へのユーザーアクセスを提供したい場合、このユーザーにはaws-portal:ViewBilling
とce:*
の両方に対する権限が必要です。新しい IAM アクションでは、請求、コスト管理、およびアカウントサービスへのアクセスをコンソールおよびプログラムインターフェイスを介して制御する単一の権限セットが提供され、請求、コスト管理、およびアカウントサービスへのアクセスをより簡単にセットアップし、エラーを発生しにくくすることができます。
ローンチした変更点
AWS は、きめ細かな IAM アクションを持つ 4 つの新しいサービスプレフィックス、consolidated billing
, freetier
, invoicing
, payments
と、既存の 5 つのサービスプレフィックス、 billing
, accounts
, cur
, purchase-orders
, tax
に新しい権限を追加しました。
aws-portal
サービスプレフィックスとその配下にあるすべてのアクションは廃止されます。また、purchase-orders:ViewPurchaseOrders
とpurchase-orders:ModifyPurchaseOrders
の権限も廃止されます。
AWS 管理ポリシー を使用したIAM ユーザー または IAM ルートユーザー を使用して AWS 請求、コスト管理、およびアカウントコンソールにアクセスしている場合、AWS は既存の AWS 管理ポリシーの更新を既に行ったため、何もする必要はありません。ただし、Cost Explorer にアクセスする必要がある場合は、Cost Explorer に関連するアクションを含むカスタマー管理ポリシーを作成する必要があります。情報は、「既存の管理ポリシーの更新」セクションにあります。
新しいサービスプレフィックスと権限
新しい サービスプレフィックス |
サービス認証 リファレンス |
サマリ |
consolidatedbilling | link | アカウントロールなどの一括請求機能へのアクセスを提供します |
freetier | link | AWS 請求コンソールの無料利用枠機能へのアクセスを提供します |
invoicing | link | AWS 請求コンソールの請求リソースへのアクセスを提供します |
payments | link | AWS 請求コンソールの支払いと支払い方法へのアクセスを提供します |
既存のサービスプレフィックスと権限の更新
既存の サービスプレフィックス |
サービス認証 リファレンス |
サマリ |
billing | link | AWS 請求コンソールの 請求機能 (ホーム、請求書、クレジット、請求設定) へのアクセスを提供します |
account | link | AWS Account Management リソースへのアクセスを提供します |
cur | link | AWS 請求コンソールの コストと使用状況レポート へのアクセスを提供します |
purchase-orders | link | AWS 請求コンソールの 発注書 機能へのアクセスを提供します |
tax | link | AWS 請求コンソールの 課税設定 へのアクセスを提供します |
これらの新しい IAM アクションは、現在のコンソール機能へのアクセスを制御していることに注意してください。今後、請求、支払い、課税設定用の新しい API をリリースして、現在(2023 年 1 月 10 日時点)コンソールでしか利用できない同じリソース (支出概要、請求書、支払い概要、取引、納税登録など) にプログラムでアクセスできるようにします。これら将来の API は、本日(2023 年 1 月 10 日)ローンチされた新しい IAM アクションを使用して制御されます。
廃止されたサービスプレフィックスと権限
廃止された サービスプレフィックス |
サービス認証 リファレンス |
サマリ |
aws-portal | link | このサービスプレフィックスと、このサービスプレフィックス内のすべての IAM アクションは、権限移行のタイムライン 後に廃止されます。 |
purchase-orders | link | purchase-orders:ViewPurchaseOrders とpurchase-orders:ModifyPurchaseOrders の権限は、権限移行のタイムライン 後に廃止されます。これら 2 つの代わりになる追加の権限をリリースします。 |
どのように移行すればよいか
きめ細かなアクセス制御を使用するには、ポリシーを aws-portal から新しい IAM アクションに移行する必要があります。
アクセス権限ポリシーまたはサービスコントロールポリシー (SCP) 内の次の IAM アクションは、新しいきめ細かいアクションで更新する必要があります
aws-portal:ViewAccount
aws-portal:ViewBilling
aws-portal:ViewPaymentMethods
aws-portal:ViewUsage
aws-portal:ModifyAccount
aws-portal:ModifyBilling
aws-portal:ModifyPaymentMethods
purchase-orders:ViewPurchaseOrders
purchase-orders:ModifyPurchaseOrders
AWS では、新しいきめ細かな権限をすぐに追加することを推奨しています。これにより、影響を受けるすべてのポリシーが廃止される前に更新され、AWS の請求、コスト管理、およびアカウントコンソールへのアクセスを維持できます。きめ細かなアクションをすぐに使い始めたい場合や、きめ細かなアクションをテストしたい場合は、「新しいきめ細かいアクションと既存の IAM アクションを切り替える方法」で説明されている機能を使用してください。
この例では、アカウントには既存の IAM アクション aws-portal:ViewBilling
を含む “AllowViewAccessToBillingAndCost ManagementConsole” という名前の IAM アイデンティティベースのポリシーがあり、AWS 請求とコスト管理コンソール全体での閲覧アクセスを許可しているとします。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": " VisualEditor0 ",
"Effect": "Allow",
"Action": "aws-portal:ViewBilling",
"Resource": "*"
}
]
}
きめ細かなアクションを追加するには、このポリシーを更新する必要があります。以下のポリシー例では、”ThesePermissionsWillHaveNoEffectTillEndOfMigration”というステートメントのブロックの下にきめ細かなIAMアクションが追加されていることがわかります。以下の例からわかるように、更新されたポリシーには、“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*",
"tax:List*",
"tax: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 ポリシーの特定と更新に役立つように、AWS は以下のリソースを提供しています。このブログでは、”影響を受けるポリシー(Affected Policies)“と “Toggle account” 機能を使用して権限を変更する方法について詳しく説明します。他のリソースの説明は、以下のユーザーガイドで確認できます。
- Affected Policies (user guide) : このツールは、アカウント内の影響を受けた IAM ポリシーを一覧表示します。各ポリシーを確認して、ログインしたアカウント内で必要な変更を加えることができます。
- Bulk Policy migrator (user guide) : スクリプトを使用すると、組織内の影響を受けるすべてのポリシーを特定して更新できます。これらのスクリプトは、組織のPayer アカウントから実行できます。複数のリンクされたアカウントを持つ AWS Organization セットアップ内で作業している場合は、Bulk Policy Migrator スクリプトを使用して組織内のすべてのアカウントを効率的に更新してください。
- Mapping guide (user guide) : これは、廃止する各IAMアクションについて、既存の(古い)アクションと新しいアクションを細かくマッピングしたものです。
- Toggle account : このセルフサービス機能により、新しいきめ細かなアクションと既存の (古い) IAM アクションを切り替えることができます。新しいきめ細かいアクションが追加されたら、アカウントの切り替え機能を使用して、アカウントで新しい IAM アクションをすぐに使い始めることができます。(参照セクション : 新しいきめ細かいアクションと既存の IAM アクションを切り替える方法)
既存の管理ポリシーの更新
今回のローンチの一環として、AWS は以下の AWS 管理ポリシーを更新し、新しいきめ細かな権限を含めます。AWS 管理ポリシーの aws-portal
IAM アクションは、廃止日まで機能し続けるため、これらの管理ポリシーは以前と同じように使用できます。廃止後、AWS はこれらの管理ポリシーから aws-portal
IAM アクションを削除します。AWS 管理ポリシーのみを使用している場合は、AWS が更新を行うため、何もする必要はありません。ただし、Cost Explorerにアクセスする必要がある場合は、Cost Explorerに関連するアクションを含むカスタマー管理ポリシーを作成する必要があります。
AWSBillingReadOnlyAccess (arn:aws:iam::aws:policy/AWSBillingReadOnlyAccess)
Billing (arn:aws:iam::aws:policy/job-function/Billing)
ReadOnlyAccess (arn:aws:iam::aws:policy/ReadOnlyAccess)
AWSAccountActivityAccess (arn:aws:iam::aws:policy/AWSAccountActivityAccess)
AWSPurchaseOrdersServiceRolePolicy (arn:aws:iam::aws:policy/AWSPurchaseOrdersServiceRolePolicy)
アカウントで影響を受けるポリシーを更新する方法
主なステップは 2 つあります。
1) どのポリシーを更新する必要があるかどうかを特定する
2) ポリシーを更新して新しい IAM アクションを使用する
以下の例では、2023 年 3 月 7 日 午前 4 時 (日本標準時) より前に作成されたアカウントまたは AWS Organizations 組織の一部であるアカウントに焦点を当てます。2023 年 3 月 7 日 午前 4 時 (日本標準時) 以降に作成された新しいアカウントや新しい AWS Organizations 組織については、既に新しいきめ細かなアクションを使用しています。
影響を受けるポリシーコンソールには、ログインしたアカウント内の影響を受けた IAM ポリシーのみが表示され、この変更の影響を受けるサービスコントロールポリシー (SCP) は表示されないことに注意してください。Bulk Policy migratorスクリプトを使用して、組織内のすべてのアカウントの IAM ポリシーを特定して更新してください。影響を受けるサービスコントロールポリシー (SCP) を確認するには、AWS Organizations コンソールにログインする必要があります。ブログの残りの部分では、既存の IAM アクションからコンソールのきめ細かいアクションに移行する方法について詳しく説明します。バージョン管理されたリポジトリで IAM ポリシーを管理および管理する場合は、必ずオートメーションにも同じ変更を加えてください。さらに質問がある場合は、AWS サポートにお問い合わせください。
ステップ 1: どのポリシーを更新する必要があるかどうかを特定する
ログインしているアカウントの “影響を受けるポリシー” コンソールにアクセスしてください。AWS コンソールのホームページで“Affected Policies”という用語を検索すると、影響を受けるポリシーコンソールにアクセスできます。また、「新しい IAM アクションへの移行」ウィジェットは、新しい請求およびコスト管理コンソールの”Getting started – more resource”ページにあります。アクセスするには、IAM ポリシーに含まれている iam:GetAccountAuthorizationDetails
アクションを含む IAM ユーザー/ロールを使用するか、AWS 管理ポリシーの SystemAdministrator, AdministratorAccess, IAMFullAccess, IAMReadOnlyAccess いずれかを IAM ユーザー/ロール に割り当ててください。
アカウントにログインし、 “影響を受けるポリシー” コンソールにアクセスすると、廃止される既存のaws-portal
IAM アクションを参照しているすべての IAM ポリシーが表示されます。また、影響を受けるポリシーにアタッチされている IAM エンティティ (IAM ユーザー、ロール、グループ) の数を表示できるため、最も多くの IAM エンティティに割り当てられているポリシーの更新を優先できます。このツールには、更新が必要なカスタマー管理ポリシーとインラインポリシーの両方が表示されます。
たとえば、6 人の IAM ユーザーにアタッチされた既存の IAM アクションaws-portal:ViewBilling
を使用するポリシー “AllowViewAccessToBillingAndCostManagementConsole” というものがあるとします。
以下のスクリーンショットの例では、 “AllowViewAccessToBillingAndCostManagementConsole” というポリシーがリストされていることがわかります。このポリシーがアタッチされている IAM エンティティの数が表示されます。この例では「6」です。このツールには、影響がある IAM アクション (この場合は aws-portal:ViewBilling
) も表示されます。
図 1: “影響を受けるポリシー” コンソールで既存のアカウントグループを表示
“影響を受けるポリシー” コンソールの「影響を受けるすべてのポリシーをエクスポート」ボタンをクリックして、影響を受けるポリシーとポリシー ARN のリストをダウンロードすることもできます。
図 2:「影響を受けるすべてのポリシーをエクスポート(Export all affected policies)」ボタン
サービスコントロールポリシー (SCP) を更新するには、AWS Organizations コンソールにログインする必要があります。手順については「サービスコントロールポリシーを新しいアクションに更新する方法」セクションに記載されています。
ステップ 2: ポリシーを更新して新しい IAM アクションを使用する
影響を受けるポリシーリストから、ポリシー名をクリックして、IAM コンソールで IAM カスタマー管理ポリシーまたはインラインポリシーを更新できます。IAM ポリシーは通常どおりに更新できます。IAMポリシーの編集 からポリシーを更新する方法を確認できます。ポリシーを新しいアクションに更新する前に、現在のデフォルトポリシーバージョンを確認しておいてください。変更で問題が発生した場合には、ポリシーを元のバージョンに戻すことができます。
ステップ 1 で、“AllowViewAccessToBillingAndCost ManagementConsole” という名前のポリシーを更新する必要があることを確認しました。IAM コンソールに移動したら、新しい IAM アクションを追加します。”Mapping guide”を使用して、対応する古い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*",
"tax:List*",
"tax: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 アクションを削除すると、このポリシーは “影響を受けるポリシー” コンソールに表示されなくなります。また、Payerアカウント/通常アカウントの影響を受けるポリシーコンソールのセルフサービスツールを使用して、アカウントをすぐに新しい IAM アクションを使用するように切り替えることをお勧めします。詳細は「新しいきめ細かいアクションと既存の IAM アクションを切り替える方法」を参照してください。
請求コンソールとコスト管理ユーザーガイドを参照することで、請求、コスト管理、アカウントサービスのきめ細かい IAM アクションを理解することができます。
サービスコントロールポリシーを新しいアクションに更新する方法
サービスコントロールポリシー (SCP) 機能は、AWS Organizationsで すべての機能 が有効になっている場合にのみ使用できます。
- AWS Organizationsの管理アカウントにログインする必要があります
- AWS Organizations コンソールにアクセスして、管理アカウントで作成された SCP を表示します
- 左側のナビゲーションパネルで「ポリシー」をクリックし、「サービスコントロールポリシー」を選択します
図 3: AWS Organizationsのサービスコントロールポリシー
- AWS 請求、コスト管理、アカウントコンソール用に作成した SCP をクリックします
- SCPを更新するには、「ポリシーを編集」 ボタンをクリックします
図 4: サービスコントロールポリシーの「ポリシーを編集」ボタン
- ポリシーの内容を更新して、新しい IAM アクションを含めます。既存の IAM アクションをそのまま使用して、移行期間中もアクセスを維持します
図 5: サービスコントロールポリシーのコンテンツの編集
- SCPが適用されているメンバーアカウントを 「ターゲット」 タブで確認できるため、最も多くのメンバーアカウントに割り当てられているSCPの更新を優先できます
図 6: サービスコントロールポリシーの 「ターゲット」 タブ
サービスコントロールポリシーを更新する方法の詳細な手順は、ユーザーガイドに記載されています。
新しいきめ細かいアクションと既存の IAM アクションを切り替える方法
このセルフサービス機能により、新しいきめ細かいアクションと既存の (古い) IAM アクションを切り替えることができます。新しいアクションは、お客様のアカウント、または AWS Organizations 組織内のアカウントの一部(管理アカウントの場合)でテストできます。廃止後、すべてのアカウントで新しいアクションを実行する必要があり、セルフサービス機能は利用できなくなります。
上記の操作には、”影響を受けるポリシー” コンソールからアクセスできます。コンソールからこれらの機能を使用するには、ce:GetConsoleActionSetEnforced
, aws-portal:GetConsoleActionSetEnforced
, purchase-orders:GetConsoleActionSetEnforced
(強制されたアクションのステータスを表示する), ce:UpdateConsoleActionSetEnforced
, aws-portal:UpdateConsoleActionSetEnforced
, purchase-orders:UpdateConsoleActionSetEnforced
(アクションを切り替える) の IAM ユーザー/ロールを使用する必要があります。AWS Organizations の場合、この機能は管理アカウントのユーザーのみが使用できます。
ログインしているアカウントの”影響を受けるポリシー” コンソールにアクセスします
AWS コンソールのホームページで“Affected Policies”という用語を検索すると、影響を受けるポリシーコンソールにアクセスできます。また、「新しい IAM アクションへの移行」ウィジェットは、新しい請求およびコスト管理コンソールの”Getting started – more resource”ページにあります。管理アカウントを使用しておらず、AWS Organizations に所属していない場合は、アクションの切り替えは自分のアカウントのみに制限されます。図 7 は、現在ログインしているユーザーに対して「既存の」IAM アクションが適用されることを示しています。「アカウントのために新しいアクションを有効にする」オプションを選択し、「変更を適用」を選択できます。これにより、新しい IAM アクションが有効になります。
図 7: 既存の (古い) IAM アクションを、新しい (きめ細かい) アクションへ切り替え
同様に、「きめ細かい」IAM アクションが適用されている場合は、「アカウントのために古いアクションを有効にする」オプションを選択し、「変更を適用」を選択できます (図 8 を参照)。廃止日まで、アカウントは古いIAMアクションを使用することができます。
図 8: 新しい (きめ細かい) IAM アクションを、古い IAM アクションへ切り替え
管理アカウントの所有者は、AWS Organizations 組織内のメンバーアカウントのすべて、または一部のメンバーアカウントに設定されているアクションを切り替えることができます。「既存の」IAMアクションが適用される場合(図9を参照)、組織全体、または組織内の特定のアカウントに対して新しいIAMアクションを有効にできます。後者の場合は、アカウント番号(最大10)を入力する必要があります。
図 9: 管理アカウントビュー : 組織内で適用される既存の(古い)IAMアクションを、組織内のすべて、または一部のアカウントを対象に新しい(詳細な)アクションへ切り替え
同様に、新しい IAM アクションが適用された場合 (図 10 を参照)、組織全体、または組織内の特定のアカウントに対して古いアクションに戻すことができます。後者の場合は、アカウント番号(最大10)を入力する必要があります。
図 10: 管理アカウントビュー : 組織内で適用される新しい (きめ細かな) IAMアクションを、組織内のアカウントすべてまたは一部のアカウントで古いIAMアクションに切り替え
組織内のアカウントのサブセットが (古いまたは新しい IAM アクションを使用して) 上書きされた場合、「強制される現在のアクションセット」ステータスが次の形式で表示され、CSV ファイルをダウンロードするためのリンクが表示されます。CSV ファイルには、新しい IAM アクションまたは古い IAM アクションを使用して、上書きされたアカウントが含まれます。
図 11: 管理アカウントユーザービュー : 古い IAM アクションを使用するアカウントのサブセットで組織内で適用される新しい (きめ細かい) IAM アクション
まとめ
新しいサービス固有の名前空間できめ細かい権限がローンチされたことで、請求、コスト管理、アカウントコンソールとサービスへのアクセスを最小限に抑えることができます。強化されたアクセスコントロール機能を活用し、AWS 請求、コスト管理、およびアカウントコンソールへのアクセスを維持するには、必ず Cost Management ユーザーガイドと Billing Console ユーザーガイドを参照し、対応してください。ご不明な点がございましたら、遠慮なく お客様のお問い合わせ窓口とサポートチームにお問い合わせください。
著者
Bowen WangBowen はAWS 請求およびコスト管理サービスのプリンシパルプロダクトマーケティングマネージャーです。彼女は、財務およびビジネスリーダーがクラウドの価値とクラウドファイナンス管理を最適化する方法をよりよく理解できるようにすることに重点を置いています。以前のキャリアでは、とある技術系スタートアップがビジネスオートメーション製品を中国市場に投入し、現地のカスタマーサービスコールセンターを開設に携わっていました。 |
翻訳はパートナー ソリューション アーキテクト 前田 賢介が担当しました。原文はこちらです。