[アップデート] 請求・コスト管理・アカウントのコンソールの権限廃止・変更に向けて、事前に切り替えが出来るようになりました

2023.03.24

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

いわさです。

2023 年 1 月 11 日の以下のアナウンスを皆さん覚えていますでしょうか。
請求やコストエクスプローラーなど、請求ダッシュボード関連の IAM ポリシーアクションに変更・追加・廃止が発生するというアナウンスです。

本日、上記のアナウンスに関連したアップデートがありましたので紹介します。

元々のアナウンスって何だろ

2023 年 1 月 11 日のアナウンス内容は簡単にまとめると、請求ダッシュボード(Billing and Cost Management)のコンソール権限管理が、今まではアバウトにしか出来なかったのだがもっと細かく制御出来るようにするぜという内容です。

従来だと、例えばビリングコンソールへのアクセスをさせたくない場合はaws-portal:ViewBillingを Deny 設定することでアクセス出来ないように出来たのですが、コストエクスプローラーだけ許可する、支払いだけ拒否するなどの細かい制御が出来ませんでした。

上記に関連した IAM アクションの定義が見直されることで今後細かい制御が出来るようになります。

ただし、そのためにいくつかの既存 IAM アクションが廃止されたり、新しい IAM アクションが追加される形になります。
カスタムポリシーでこのあたりを制御していた方は切り替えのタイミングで影響(既存 IAM アクションが機能しなくなる)が出るためアナウンスがされていました。

廃止されるアクション

  • aws-portal:*
  • purchase-orders:ViewPurchaseOrders
  • purchase-orders:ModifyPurchaseOrders

AWS Health でも通知が確認出来ると思います。

2023 年 7 月 6 日まで待つしかなかった

ここまではなるほどな、という感じでしたがこの切り替えのタイミングは少し注意が必要でした。
以下の公式ブログでも次のように解説されています。

新しい IAM アクションは既存のアクションが廃止されるまで有効になりません。以下のポリシー例では “ThisPermissionWillContinueProvidingAccessAsNormal” ステートメントのブロック内に既存のアクションも含まれており、これらのアクションは 2023 年 7 月 6 日までコンソールへのアクセスを制限しています。また、既存のアクションaws-portal:ViewBilling は、2023 年 7 月 6 日まで請求コンソールとコスト管理コンソールのサービスへの閲覧アクセスを提供することにも注意してください。

2023 年 7 月 6 日までは新しいアクションが正しいか確認することは出来ず、古いアクションが有効になったままということで、2023 年 7 月 6 日になるまで設定したカスタムポリシーが正しいかどうかわからないというドキドキの状態でした。

今回のアップデートで待たなくても良くなった

そして本題の今回のアップデートですが、2023 年 7 月 6 日よりも前に新しいアクションへの切り替えを有効化してテスト出来るようになりました。
テスト出来るという記述がされていますが、切り替えたまま 2023 年 7 月 6 日を迎えることも出来ます。

本日は切り替えをして新しいアクションを試してみましたので紹介します。

カスタムポリシーの用意

ここでは次のように管理者権限を持つ IAM ユーザーに、古いアクションのaws-portal:ViewBillingと新しいアクションのpayments:*を拒否設定しました。

新しいアクションは 2023 年 7 月 6 日までは有効にならないので、この時点では請求コンソールやコストエクスプローラーなど全般的にアクセス拒否が発生します。

「影響を受けるポリシーを表示」から切り替え

IAM コンソールダッシュボードの「影響を受けるポリシーを表示」から、本件(IAM アクションの仕様変更)に伴う影響を受けるカスタムポリシーを表示させることが出来ます。

この画面では以前は影響を受けるカスタムポリシーを確認出来るところまでだったのですが、今回のアップデートで新しいアクションへの切り替え(有効化)を行うことが出来るようになっています。

本日時点でこの画面は日本語だとうまく文言が表示出来ないようなので、マネジメントコンソールを英語に切り替えておくと良いです。

有効化

では有効化してみましょう。
Otganizations のメンバーアカウント含めて一括で有効化するか、アカウントを指定して有効化するかいくつか設定方法があります。
まず、この機能を使うために以下の IAM アクションの権限が必要です。

  • iam:GetAccountAuthorizationDetail
  • ce:GetConsoleActionSetEnforced
  • ce:UpdateConsoleActionSetEnforced

また、Organizations で利用する場合は管理アカウントでのみ利用が可能とのことです。

Organizaitons での一括有効化

一括で有効化する場合は以下を選択します。

アカウントごとに有効化

アカウントを指定する場合は個別にカンマ区切りで指定するようですが、一度に指定出来るのは 10 アカウントまでです。
新しいアクションに切り替えるか、古いアクションに切り替えるかを選択します。

今回は個別の 1 アカウントのみを新しいアクションに切り替えてみます。

若干わかりにくいかもしれませんが、切り替え後に次のように Fine Grained に切り替わっています。

コンソールへアクセス

切り替え後は即時反映されます。

Payments へのアクセスは拒否されたままです。

それ以外にはアクセスが出来ることが確認出来ました。新しいアクションが有効になっていることがわかりますね。

古いアクションに切り戻しも可能

新しいアクションを有効化した後でも、2023 年 7 月 6 日までは古いアクションにいつでも切り戻すことが出来ます。
このまま切り替えたままでも良いですし、一時的にテストのために切り替えることも出来ますね。

なお、新しいアクションと古いアクションどちらも有効化するということは出来ません。
出来るのは切り替えのみです。

また、2023 年 7 月 6 日以降は全てのアカウントで自動的に切り替わり、こちらの切り替え機能は使えなくなります。

さいごに

本日は Billing and Cost Management の新しい IAM アクションへの切り替えが事前に出来るようになったということで実際に試してみました。

2023 年 7 月 6 日まで待つしか無いですねーという感じだったのでこれは朗報ですね。是非試してみてください。