【AWSの料金・コストを確認】IAMユーザーがAWSアカウントの請求情報(Billing)にアクセス・閲覧するためのIAMポリシーの設定方法
目次
こんにちは。
久々のAWS記事です。
アカウントを作成してから1年以上経っていると、無料期間が過ぎてふと余計な請求が来ていないかチェックしたくなりますよね。
そんなとき請求情報を見たいところですが、デフォルトではルートアカウントしか閲覧が許可されていません。最強権限を持つルートアカウントでのログインは極力避けたいので、普段使っているIAMユーザーで請求情報が見られるようにしたいところ。
というわけで今回はIAMユーザーでアカウントの請求情報を見られるようにする設定方法をまとめておきます。
手順の流れ
以下のような流れを踏みます。
- ルートユーザーでAWSマネジメントコンソールにログイン
- アカウント設定でIAMユーザーが請求情報にアクセスすることを許可する
- 請求情報を見るためのIAMポリシーをIAMユーザーにアタッチする
ワンタッチとはいかなさそうですが、5分程度で完了できます。
手順1. ルートユーザーでAWSマネジメントコンソールにログイン
まずアカウントのルートユーザーでAWSコンソールにログインしましょう。
■ AWSマネジメントコンソール https://console.aws.amazon.com/
今回の設定をすれば、今後ルートユーザーでログインする必要はなくなります。
手順2. アカウント設定でIAMユーザーが請求情報にアクセスすることを許可する
こちら ( https://console.aws.amazon.com/billing/home#/account ) からアカウント設定のページに飛びます。
下にスクロールしていくと、「IAM ユーザー/ロールによる請求情報へのアクセス」という項目があります。
ここで右上の「編集」を押して、チェックボックスを入れると「IAM ユーザー/ロールによる請求情報へのアクセスは有効になっています。」という表示に変わります。
こんな画面です。

一番下に設定が有効かどうか書いてあります。
手順3. 請求情報を見るためのIAMポリシーをアタッチする
続いてIAMのコンソール画面(https://console.aws.amazon.com/iamv2/)に移動し、「ユーザー」から、請求情報を見られるようにしたいIAMユーザー名をクリックします。
「アクセス権限の追加」→「既存のポリシーを直接アタッチ」を選択します。
「ポリシーのフィルタ」検索ボックスで、「Billing」と入力し検索します。
こんな画面です。

2つヒットしました。今回は請求情報の閲覧のみを許可したいので、「AWSBillingReadOnlyAccess」をチェックし、「次のステップ」→「ポリシーの追加」と進みアタッチを完了します。
最後に確認 IAMユーザーでログインしてBillingにアクセス
以上で設定が完了したので、実際に請求情報にアクセスできるか確認してみます。
ルートユーザーはログアウトして、IAMユーザーでログインし直します。
サービスから「Billing」と検索してBillingにアクセスすると、請求情報が閲覧できるようになっていることが確認できます。
オマケ : 請求情報にアクセスするIAMポリシーの中身(JSON形式)
ちなみにアタッチした管理ポリシーの中身はこんな感じでした。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"aws-portal:ViewBilling"
],
"Resource": "*"
}
]
}
これをコピペしたポリシーを作ってIAMユーザーにアタッチしても請求情報にアクセスできるようになります。
今回のような頻繁に使われるIAMポリシーはAWSの管理ポリシーとしてすでにテンプレートが用意されているので、自分でJSONを書かずとも簡単にポリシーをアタッチすることができます。
まとめ
というわけで今回はAWSアカウントの請求情報をルートアカウントではなくIAMユーザーが見られるようにするための設定方法をまとめてみました。
これで普段使いでもわざわざルートアカウントでログインし直すことなく、AWSの料金の使用状況を確認できるようになりました。
参考記事
こちらのAWS記事を参考にしました。
アカウントの請求情報の表示を IAM ユーザーに許可するにはどうすればよいですか?
AWSあるあるですが、途中で英語のページに飛ばされたりするのでわかりにくいですね。
AWSの基本についてはこちらの書籍も参考になります。
ご参考になれば幸いです。
それでは〜