4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWSアカウントを作ったら、まずはルートユーザーで「IAMによる請求情報へのアクセス」の有効化をする!……必要はない!?(かも)

Last updated at Posted at 2025-12-16

まず結論

は、IAMユーザおよびロールによる請求情報へのアクセスアカウント作成時点で有効 となります。

はじめに

最近AWSでは、ルートユーザー利用からの脱却を意識した機能追加が目立っている状況です。ご存じの方も多いであろうRoot access managementなどOrganization機能・管理アカウント側へ寄せたり、AWSアカウント名変更などIAMロール/ユーザー側に寄せたりすることで、ルートユーザーを使わなくて済む範囲がかなり広くなっていっています。
2025/12/14現在、過去ルートユーザー必須タスクだったもののうち、日常で必要になる可能性があるタスクの大半は既にルートユーザーを使わずに可能となっている状況かと思います。

となると、次にやりたくなることとしては、まさしくRoot access managementで可能になったルートユーザー無効化です。
管理側としてはリスクの高いルートユーザーが無効化できるなら願ったり叶ったりかと思いますし、メンバーアカウントの利用者側としても、ルートユーザーを使うシチュエーションが基本無い、となったら、ルートユーザーの認証情報をわざわざ管理し続ける、なんてことをしたくない方も多いのではないか、と思います。

しかし、「日常」で必要になるタスクではないものの、まだルートユーザー無効化のハードルとなるタスクがあります。

それが、IAMユーザおよびロールによる請求情報へのアクセスの有効化です。

ルートユーザーを無効化しちゃったら、IAMによる請求情報へのアクセス有効化ができない!

現在のルートユーザー必須タスクで、例えばリザーブドインスタンスマーケットプレイスへ出品するケースはそう多くないでしょうし、KMSキーの管理不能はミスをした場合にのみ起こる事態です。が、請求情報の確認をしないAWSアカウント利用者はいません。
なので、「IAMユーザおよびロールによる請求情報へのアクセス」の有効化は基本的に必須になります。

IT部門やCCoEがAWSアカウントを作成し、利用する各チームに引き渡す、という運用を行っている会社の場合、AWSアカウントの作成後、IT部門やCCoE側で

  • Organizationで、作成したAWSアカウントに対しルートユーザーを有効化する
  • 作成したAWSアカウントで、ルートユーザーに対し「パスワードを忘れた場合」からのパスワード設定、MFA設定を実施
  • 作成したAWSアカウントで、ルートユーザーでサインインし、「IAMユーザおよびロールによる請求情報へのアクセス」の有効化を実施
  • Organizationで、作成したAWSアカウントに対しルートユーザーを無効化する

という追加作業が必要になり、大きな工数負担になります。

ルートユーザー無効化にはこぎつけたいものの、AWSアカウント作成の度にこの工数増加はかなり痛い……。
ただ、ルートユーザー無効化の機能がリリースされる中、こうした課題が発生することはAWSも分かっているだろう。であれば、この課題をケアする仕様変更か機能が既に出ている可能性もあるのではないか。

一縷の望みをかけ、問い合わせを含め一通り調査をしてみましたが、以下スクリーンショットの通り、Root access management機能の拡張リクエストにも、掲載されていることが分かりました。
スクリーンショット 2025-12-15 114040.png
スクリーンショット 2025-12-15 114351.png

つまり「AWSとしては困る人が多いことは認識はしていて、今後対応するかもしれないが、今はできない」状態だ、というのが、調査の結論となりました。

自動化できないか?だけどルートユーザータスクの自動化って統制上……。

そうなると、次の手としては、「作成したAWSアカウントのルートユーザー有効化、IAMアクセスの有効化、ルートユーザーの再無効化を自動化する」というものが思い浮かびます。

ただ、そのためには一時的とはいえルートユーザーの認証情報を自動化された仕組みで扱う必要があり、セキュリティ上の課題があります。また、ルートユーザーの認証情報を発行し、自動化された仕組みに引き渡すのをどうやるのか、も考える必要があります。

どうする、諦めて手作業でやることにするか……。悩みつつ、見直しも含めいろいろな観点から検討・調査を行い、「IAMユーザおよびロールによる請求情報へのアクセス」の設定自体に関する調査をしていた時でした。一つのre:Post投稿を見つけたのです。

その時、青天の霹靂!

この投稿によると、Cost Explorer へのアクセスの管理で言及されている、管理アカウントレベルでのCost Explorerの有効化により、Cost Explorerへのアクセスだけでなく、「IAMユーザおよびロールによる請求情報へのアクセス」の有効化自体もデフォルトで行われるようになる、とのことです。

手元でも、検証用のAWS OrganizationでRoot access managementを有効化の上、新しくAWSアカウントを作ってみたところ、確かに作成直後から、「IAMユーザおよびロールによる請求情報へのアクセス」が有効になっていることが確認できました。

そこで、先述のre:Post投稿と手元の検証結果を添えてAWSサポートに問い合わせを行いました。
その結果、AWSサポートより、

Cost Explorer 設定を使用したメンバーアカウントのアクセスコントロールが有効になっているOrganizationでは、AWSアカウント作成時点で「IAMユーザおよびロールによる請求情報へのアクセス」が有効になる仕様

との回答を得た、というわけです。

衝撃のオチ

Cost Explorer 設定を使用したメンバーアカウントのアクセスコントロールにある「連結アカウントのアクセス」は、「連結アカウントのユーザーに対し、自アカウントのコストと使用状況データの表示を許可する」というものです。
メンバーアカウントが、自アカウントのCost ExplorerやSPの使用状況レポートなどを閲覧するためには有効にしておく必要があるため、基本的に有効にしておくべき設定であり、既に有効にしている場合も多いでしょう。(そうでないとメンバーアカウントでCost Explorer等が見られない)

$\color{DarkGray}{\tiny \textsf{ちなみに、当社の本番用のAWS Organizationでその設定を確認したところ、当社でも既に有効にしていました。}}$
$\color{DarkGray}{\tiny \textsf{つまり、当社の環境でも、元からデフォルトで、IAMによる請求情報へのアクセスが有効になる状態だった、ということです。}}$

最後に

ただ、「連結アカウントのアクセス」の設定が、そのOrganizationで新規作成したAWSアカウントの「IAMユーザおよびロールによる請求情報へのアクセス」のデフォルト有効化に関係があることは、以下スクショのコンソール上の説明でも、ドキュメント上も言及がありません。
image.png

また、先述したRoot access management機能の拡張リクエストは、2025/12/14現在もまだ「IAM ユーザーに請求およびコスト管理コンソールへのアクセス権を与える」のチェックボックスが存在しています。

加えて、AWS公式ドキュメントも、各所のブログ記事も、「AWSアカウントを作ったら最初に『IAMユーザおよびロールによる請求情報へのアクセス』の有効化をしないと、IAMユーザー/ロールでいくら権限付けても見られないよ」という体での記述が出回っている状況かと思います。

そのため、私含め、請求情報へのIAMアクセス有効化にはルートユーザーでの作業が必須、と思い込んでいる方も多いのではないか、と思い記事にしました。

AWS Organization管理者の皆様に、ぜひお役に立てば幸いです。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?