Amazon Web Services ブログ

AWS 請求、コスト管理、アカウントコンソール権限の変更

この記事は、 Bowen Wang が2023 年 1 月 10 日に投稿した “Changes to AWS Billing, Cost Management, and Account Consoles Permissions” を翻訳したものです。

ローンチに関する更新 : 新しい IAM アクションを使用する新しいアカウントまたは AWS Organizations 組織のカットオーバー日時が、当初の 2023 年 1 月 21 日 午前 4 時 (日本標準時) から 2023 年 3 月 7 日 午前 4 時 (日本標準時) に延長されました。


AWS はサービスプレフィックスaws-portalが付いた、請求、コスト管理、およびアカウントコンソールAWS Identity and Access Management (IAM) アクションを廃止し、請求、コスト管理、およびアカウントサービスへのアクセスをより詳細に制御できる、きめ細かなサービス固有の権限に置き換えます。これらの新しい権限により、コンソールインターフェイスとプログラムインターフェイスの両方へのアクセスを管理する単一の AWS Identity and Access Management (IAM) アクションセットが提供されます。

このブログでは、変更点、および変更に備えて IAM ポリシーと権限を更新して、請求、コスト管理、アカウントサービスへのアクセスを許可/拒否する方法について説明します。また、既存の AWS 管理ポリシーや移行スケジュールへの影響についても説明します。

背景

これまで、請求コンソール、コスト管理コンソール、アカウントコンソールへのアクセスを制御するには、aws-portalサービスプレフィックスを付けた IAM アクション (このブログでは「既存の権限/IAM アクション」と呼びます) を使用していました。例えば、aws-portal:ViewBillingaws-portal:ModifyBillingアクションへのユーザーアクセスを許可すると、AWS Cost Explorer、AWS Budgets、一括請求、請求設定、クレジット、税金設定、支払い方法、注文書、コスト配分タグなど、複数のコンソールページへのユーザーアクセスを許可することになります。お客様がCost Explorerなどの特定のコスト管理サービスコンソールページへのアクセスを許可したいが、請求書ページへのアクセスを拒否したい場合、これまではできませんでした。この制限により、個々のユーザーが役割ごとに特定のサービスにアクセスできる非集中的なクラウドコスト管理モデルの実行が困難になる可能性がありました。多くのお客様から、請求、コスト管理、アカウントサービスへのアクセスをよりきめ細かく制御したいとの声がありましたが、このブログで説明する変更点により柔軟性を得られるようになります。

加えてこれまでは、コンソールとは異なる IAM アクションセットを使用して、プログラマティックインターフェイスを介した請求、コスト管理、アカウントサービスへのアクセスを制御する必要がありました。例えば、お客様がコンソールと Cost Explorer APIの両方を通じてCost Explorer へのユーザーアクセスを提供したい場合、このユーザーにはaws-portal:ViewBillingce:*の両方に対する権限が必要です。本日(2023 年 1 月 10 日)発表された変更により、請求、コスト管理、およびアカウントサービスへのアクセスをコンソールおよびプログラムインターフェイスを介して制御する単一の権限セットが提供され、請求、コスト管理、およびアカウントサービスへのアクセスをより簡単にセットアップし、エラーを発生しにくくすることができます。

ローンチした変更点

AWS は、きめ細かな IAM アクションを持つ 4 つの新しいサービスプレフィックス、consolidated billing, freetier, invoicing, paymentsと、既存の 5 つのサービスプレフィックス、 billing, accounts, cur, purchase-orders, taxに新しい権限を追加しました。

aws-portalサービスプレフィックスとその配下にあるすべてのアクションは廃止されます。また、purchase-orders:ViewPurchaseOrderspurchase-orders:ModifyPurchaseOrdersの権限も廃止されます。

これらの新しい IAM アクションがいつ有効になるかは、AWS アカウントの作成日、またはお客様のアカウントが AWS Organizations 組織に所属している場合は管理アカウントの作成日によって異なります。詳細については、「権限移行のタイムライン」セクションをご覧ください。

AWS 管理ポリシー または IAM ルートユーザー を使用して AWS 請求、コスト管理、およびアカウントコンソールにアクセスしている場合、AWS は今後数日で既存の AWS 管理ポリシーの更新を開始するため、何もする必要はありません。情報は、「既存の管理ポリシーの更新」セクションにあります。

新しいサービスプレフィックスと権限

新しい
サービスプレフィックス
サービス認証
リファレンス
サマリ
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:ViewPurchaseOrderspurchase-orders:ModifyPurchaseOrders の権限は、権限移行のタイムライン 後に廃止されます。これら 2 つの代わりになる追加の権限をリリースします。

権限移行のタイムライン

本日(2023 年 1 月 10 日)より、これらの新しい IAM アクションを IAM アイデンティティ (ユーザー、グループ、ロール) に、サービスコントロールポリシー (SCP) をメンバーアカウントの職務に応じてアタッチできるようになります。ただし、これらの新しい IAM アクションが有効になる日付は、以下の要因によって異なります。

2023 年 3 月 7 日 午前 4 時 (日本標準時) 以降に作成されたスタンドアロンアカウント、または 2023 年 3 月 7 日 午前 4 時 (日本標準時) 以降に作成された 管理アカウント が持つ AWS Organizations 組織に所属している場合は、IAM ポリシーと SCP で新しい詳細なアクションを直ちに使用する必要があります。これらのアクションは作成後数分以内に有効になります。

アカウントが 2023 年 3 月 7 日 午前 4 時 (日本標準時) より前に作成された場合、または 2023 年 3 月 7 日 午前 4 時 (日本標準時) より前に作成された 管理アカウント が持つAWS Organizations 組織に所属している場合は、移行期間は 6 か月です。その間、AWS がaws-portalの IAM アクションを廃止する 2023 年 7 月 6 日まで、既存のaws-portalIAM アクションを引き続き使用できます。AWS では、AWS 請求、コスト管理、アカウントコンソールへのアクセスを維持するために、影響を受けるすべてのポリシーを 2023 年 7 月 6 日までに更新できるように、新しいきめ細かなアクセス権限の追加を早急に開始することをお勧めします。新しい権限は 2023 年 7 月 6 日以降まで有効にならないため、既存の IAM アクションと新しい IAM アクションの両方を維持してください。

新しいアカウントグループ (2023 年 3 月 7 日 午前 4 時 (日本標準時) 以降に作成されたアカウントまたは AWS Organization 組織の管理アカウント)

アカウントが 2023 年 3 月 7 日 午前 4 時 (日本標準時) 以降に作成された場合、または 2023 年 3 月 7 日 午前 4 時 (日本標準時) 以降に作成された 管理アカウント が持つ AWS Organizations 組織に加入した場合は、新しいきめ細かな IAM アクションを直ちに使用する必要があります。例えば、Cost ExplorerやSavings Plans/リザーブドインスタンスの推奨事項など、コスト管理コンソールのサービスへのアクセスをユーザーに提供したいが、請求書や課税設定へのアクセスは拒否したいとします。きめ細かいアクションがあれば、以下に示すようにポリシーを構築することでこれを実現できます。以下はポリシーの例です。各コンソールページに必要な権限については、AWS Cost Management Console ユーザーガイドをご覧ください。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "ce:*",
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Deny",
            "Action": [
                "tax:*",
                "billing:*",
                "invoicing:*"
            ],
            "Resource": "*"
        }
    ]
}

既存のアカウントグループ (2023 年 3 月 7 日 午前 4 時 (日本標準時) より前に作成されたアカウントまたは AWS Organizations 組織の管理アカウント)

この例では、アカウントが 2023 年 3 月 7 日 午前 4 時 (日本標準時) より前に作成された、または 2023 年 3 月 7 日 午前 4 時 (日本標準時) より前に作成された 管理アカウント が持つ AWS Organizations 組織に加入していて、アカウントには既存の IAM アクション aws-portal:ViewBilling を含む “AllowViewAccessToBillingAndCost ManagementConsole” という名前の IAM アイデンティティベースのポリシーがあり、AWS 請求とコスト管理コンソール全体での閲覧アクセスを許可しているとします。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": " VisualEditor0 ",
            "Effect": "Allow",
            "Action": "aws-portal:ViewBilling",
            "Resource": "*"
        }
    ]
}

詳細なアクションを追加するには、このポリシーを更新する必要があります。以下のポリシー例では、”ThesePermissionsWillHaveNoEffectTillEndOfMigration” ステートメントのブロック内にきめ細かい IAM アクションが追加されていることがわかります。「権限移行のタイムライン」セクションで述べたように、移行期間では既存の IAM アクションは引き続き機能し、新しい IAM アクションは既存のアクションが廃止されるまで有効になりません。以下のポリシー例では “ThisPermissionWillContinueProvidingAccessAsNormal” ステートメントのブロック内に既存のアクションも含まれており、これらのアクションは 2023 年 7 月 6 日までコンソールへのアクセスを制限しています。また、既存のアクションaws-portal:ViewBilling は、2023 年 7 月 6 日まで請求コンソールとコスト管理コンソールのサービスへの閲覧アクセスを提供することにも注意してください。以下に示すように更新されたアクションのリストは、既存のアクションが廃止された後も同じアクセスレベルを維持します。

{
    "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)” というツールを構築しました。 “影響を受けるポリシー” コンソールには、ログインしているアカウント内の 影響を受けるIAM ポリシーのみが表示され、この変更の影響を受けるサービスコントロールポリシー (SCP) は表示されないことに注意してください。影響を受けるサービスコントロールポリシーを表示するには、AWS Organizations コンソールにログインする必要があります。このブログ後半では、既存の IAM アクションからきめ細かいアクションに移行する方法について詳しく説明します。IAM ポリシーをバージョン管理されたリポジトリで 管理/保守および自動化している場合は、同じ変更を加えるようにしてください。さらに質問がある場合は、AWS サポートにお問い合わせください。

既存の管理ポリシーの更新

今回のローンチの一環として、AWS は以下の AWS 管理ポリシーを更新して、新しいきめ細かな権限を含めます。AWS 管理ポリシーの aws-portal IAM アクションは、2023 年 7 月 6 日まで機能し続けるため、これらの管理ポリシーは以前と同じように使用できます。2023 年 7 月 6 日以降、AWS はこれらの管理ポリシーから aws-portal IAM アクションを削除します。AWS 管理ポリシーのみを使用している場合は、AWS が更新を行うため、何もする必要はありません。

  • 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)

AWS は既存のアクションの廃止後に、請求、コスト管理、およびアカウントサービスにきめ細かくアクセスできるように、追加の AWS 管理ポリシーをローンチする予定です。

どのように更新するか

主なステップは 3 つあります。
1) アクションを実行する必要があるかどうかを判断する
2) どのポリシーを更新する必要があるかどうかを特定する
3) ポリシーを更新して新しい IAM アクションを使用する
以下の例では、2023 年 3 月 7 日 午前 4 時 (日本標準時) より前に作成されたアカウントまたは AWS Organizations 組織の一部であるアカウントに焦点を当てます。2023 年 3 月 7 日 午前 4 時 (日本標準時) 以降に作成された新しいアカウントや新しい AWS Organizations 組織については、既に新しいきめ細かなアクションを使用しています。

ステップ 1: アクションを実行する必要があるかどうかを判断する

以下の 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 請求、コスト管理、およびアカウントコンソールにアクセスしている場合は、AWS が管理ポリシーを更新するので、何もする必要はありません。同様にルート認証情報を使用している場合も、何もする必要はありません。

例えば、“AllowViewAccessToBillingAndCostManagementConsole ” というIAM アイデンティティベースのポリシーがあり、既存の IAM アクションaws-portal:ViewBillingを引き続き以下のように使用するとします。このポリシーは 6 人の IAM ユーザーにアタッチされています。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": " VisualEditor0",
            "Effect": "Allow",
            "Action": "aws-portal:ViewBilling",
            "Resource": "*"
        }
    ]
}

ステップ 2: どのポリシーを更新する必要があるかどうかを特定する

ログインしているアカウントの “影響を受けるポリシー” コンソールにアクセスしてください。アクセスするには、IAM ポリシーに含まれている  iam:GetAccountAuthorizationDetails  アクションを含む IAM ユーザー/ロールを使用するか、AWS 管理ポリシーの SystemAdministrator, AdministratorAccess, IAMFullAccess, IAMReadOnlyAccess いずれかを IAM ユーザー/ロール に割り当ててください。

アカウントにログインし、 “影響を受けるポリシー” コンソールにアクセスすると、2023 年 7 月 6 日に廃止される既存のaws-portal IAM アクションを参照しているすべての IAM ポリシーが表示されます。また、影響を受けるポリシーにアタッチされている IAM エンティティ (IAM ユーザー、ロール、グループ) の数を表示できるため、最も多くの IAM エンティティに割り当てられているポリシーの更新を優先できます。このツールには、更新が必要なカスタマー管理ポリシーとインラインポリシーの両方が表示されます。

以下のスクリーンショットの例では、ステップ 1の “AllowViewAccessToBillingAndCostManagementConsole” というポリシーがリストされていることがわかります。このポリシーがアタッチされている IAM エンティティの数が表示されます。この例では「6」です。このツールには、影響がある IAM アクション (この場合は aws-portal:ViewBilling) も表示されます。

Affected Policies console for Existing Account Group 影響を受けるポリシー

図 1: “影響を受けるポリシー” コンソールで既存のアカウントグループを表示

“影響を受けるポリシー” コンソールの「影響を受けるすべてのポリシーをエクスポート」ボタンをクリックして、影響を受けるポリシーとポリシー ARN のリストをダウンロードすることもできます。

Export all affected policies button 影響を受けるすべてのポリシーをエクスポート

図 2:「影響を受けるすべてのポリシーをエクスポート(Export all affected policies)」ボタン

サービスコントロールポリシー (SCP) を更新するには、AWS Organizations コンソールにログインする必要があります。手順については「サービスコントロールポリシーを新しいアクションに更新する方法」セクションに記載されています。

ステップ 3: ポリシーを更新して新しい IAM アクションを使用する

影響を受けるポリシーリストから、ポリシー名をクリックして、IAM コンソールで IAM カスタマー管理ポリシーまたはインラインポリシーを更新できます。IAM ポリシーは通常どおりに更新できます。IAMポリシーの編集 からポリシーを更新する方法を確認できます。ポリシーを新しいアクションに更新する前に、現在のデフォルトポリシーバージョンを確認しておいてください。変更で問題が発生した場合には、ポリシーを元のバージョンに戻すことができます。

ステップ 1 と 2 で、“AllowViewAccessToBillingAndCost ManagementConsole” という名前のポリシーを更新する必要があることを確認しました。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 アクションの廃止 (2023 年 7 月 6 日) 後は、ポリシーの衛生状態を保つためのベストプラクティスとして既存の IAM アクションを削除して、ポリシーを更新することをお勧めします。既存の IAM アクションを削除すると、このポリシーは “影響を受けるポリシー” コンソールに表示されなくなります。

請求コンソールコスト管理ユーザーガイドを参照することで、請求、コスト管理、アカウントサービスのきめ細かい IAM アクションを理解することができます。

サービスコントロールポリシーを新しいアクションに更新する方法

サービスコントロールポリシー (SCP) 機能は、AWS Organizationsで すべての機能 が有効になっている場合にのみ使用できます。

  • AWS Organizationsの管理アカウントにログインする必要があります
  • AWS Organizations コンソールにアクセスして、管理アカウントで作成された SCP を表示します
  • 左側のナビゲーションパネルで「ポリシー」をクリックし、「サービスコントロールポリシー」を選択します

Service control policies under AWS Organizations サービスコントロールポリシー

図 3: AWS Organizationsのサービスコントロールポリシー

  • AWS 請求、コスト管理、アカウントコンソール用に作成した SCP をクリックします
  • SCPを更新するには、「ポリシーを編集」 ボタンをクリックします

Edit policy button for Service Control Policy サービスコントロールポリシーの編集

図 4: サービスコントロールポリシーの「ポリシーを編集」ボタン

  • ポリシーの内容を更新して、新しい IAM アクションを含めます。既存の IAM アクションをそのまま使用して、移行期間中もアクセスを維持します

Edit content for Service Control Policy サービスコントロールポリシーの編集

図 5: サービスコントロールポリシーのコンテンツの編集

  • SCPが適用されているメンバーアカウントを 「ターゲット」 タブで確認できるため、最も多くのメンバーアカウントに割り当てられているSCPの更新を優先できます

Targets tab for Service Control Policy サービスコントロールポリシーのターゲットタブ

図 6: サービスコントロールポリシーの 「ターゲット」 タブ

サービスコントロールポリシーを更新する方法の詳細な手順は、ユーザーガイドに記載されています。

まとめ

新しいサービス固有の名前空間できめ細かい権限がローンチされたことで、請求、コスト管理、アカウントコンソールとサービスへのアクセスを最小限に抑えることができます。強化されたアクセスコントロール機能を活用し、AWS 請求、コスト管理、およびアカウントコンソールへのアクセスを維持するには、必ず Cost Management ユーザーガイドBilling Console ユーザーガイドを参照し、対応してください。ご不明な点がございましたら、遠慮なく お客様のお問い合わせ窓口とサポートチームにお問い合わせください。

著者

Bowen Wang

Bowen Wang

Bowen はAWS 請求およびコスト管理サービスのプリンシパルプロダクトマーケティングマネージャーです。彼女は、財務およびビジネスリーダーがクラウドの価値とクラウドファイナンス管理を最適化する方法をよりよく理解できるようにすることに重点を置いています。以前のキャリアでは、とある技術系スタートアップがビジネスオートメーション製品を中国市場に投入し、現地のカスタマーサービスコールセンターを開設に携わっていました。

翻訳はパートナー ソリューション アーキテクト 前田 賢介が担当しました。原文はこちらです。