IAM チュートリアル: 請求コンソールへのアクセス権の委任 - AWS Identity and Access Management

IAM チュートリアル: 請求コンソールへのアクセス権の委任

AWS アカウント の所有者は、AWS アカウント の AWS Billing and Cost Management データの表示や管理を行う必要がある特定の IAM ユーザーにアクセス許可を委任できます。以下の手順は、事前にテストされたシナリオの設定に役立ちます。このシナリオでは、メインの AWS 本番稼働用アカウントに影響を与えることなく、請求アクセス許可の設定を実務的に体験できます。このチュートリアルに従わずに、管理ポリシーを IAM ユーザーにアタッチする場合は、まずステップ 1 で AWS Billing and Cost Management コンソールへのアクセスを有効化する必要があります。

このワークフローには 4 つの基本的な手順があります。

ステップ 1: AWS テストアカウントで請求データへのアクセスを有効にする

単一の AWS アカウント を作成する場合、AWS アカウント 所有者 (AWS アカウントのルートユーザー) のみが請求情報を表示および管理するためのアクセス権を持ちます。IAM ユーザーは、アカウントの所有者が IAM アクセスをアクティブ化し、請求アクションを許可するポリシーをユーザーまたはロールにアタッチするまで、請求データにアクセスすることはできません。ルートユーザー としてサインインする必要がある追加のタスクを確認するには、「AWSアカウントのルートユーザーが必要な のタスク」を参照してください。

AWS Organizations を使用してメンバーアカウントを作成する場合、この機能はデフォルトで有効に設定されています。

ステップ 2: 請求データにアクセス権限を付与する IAM ポリシーを作成する

アカウントで請求へのアクセスを有効にした後でも、特定の IAM ユーザーまたはユーザーグループに請求データへのアクセス権限を明示的に許可する必要があります。カスタマー管理ポリシーでこのアクセス許可を付与します。

ステップ 3: 請求ポリシーをユーザーグループにアタッチする

ユーザーグループにポリシーをアタッチすると、そのユーザーグループのすべてのメンバーは、そのポリシーに関連付けられたアクセス権限の完全なセットを受け取ります。このシナリオでは、請求へのアクセスを必要としているユーザーのみを含むユーザーグループに新しい請求ポリシーをアタッチします。

ステップ 4: 請求コンソールへのアクセスをテストする

中心となるタスクを完了したら、ポリシーをテストすることができます。テストにより、ポリシーが期待したとおりに動作することを確認できます。

前提条件

このチュートリアルで使用するテスト AWS アカウント を作成します。このアカウントで、次の表にまとめてあるように 2 人のテストユーザーと 2 つのテストユーザーグループを作成します。後のステップ 4 でサインインできるように、必ず各ユーザーにパスワードを割り当てます。

ユーザーアカウントを作成する ユーザーグループアカウントを作成して設定する
[User name] (ユーザー名) ユーザーグループ名 メンバーとしてユーザーを追加する
FinanceManager BillingFullAccessGroup FinanceManager
FinanceUser BillingViewAccessGroup FinanceUser

ステップ 1: AWS テストアカウントで請求データへのアクセスを有効にする

まず、AWS Billing and Cost Management コンソールでテストユーザーの請求へのアクセスを有効にします。

注記

AWS Organizations を使用してメンバーアカウントを作成する場合、この機能はデフォルトで有効に設定されています。

請求情報とコスト管理コンソールへの IAM ユーザーおよびロールのアクセスをアクティベートするには
  1. ルートユーザー認証情報 (AWS アカウントの作成に使用した E メールアドレスとパスワード) で AWS Management Console にサインインします。

  2. ナビゲーションバーでアカウント名を選択してから、[Account] (アカウント) を選択します。

  3. [IAM User and Role Access to Billing Information] の横で、[Edit] を選択します。

  4. [Activate IAM Access] (アクセスのアクティブ化) チェックボックスをオンにして、Billing and Cost Management ページへのアクセスをアクティブ化します。

  5. [Update] (更新) を選択します。

これで、IAM ポリシーを使用して、ユーザーがアクセスできるページを制御できるようになります。

IAM ユーザーアクセスをアクティブ化したら、特定の請求機能へのアクセスを許可または拒否する IAM ポリシーをアタッチできます。ポリシーを使用して IAM ユーザーに AWS Billing and Cost Management 管理機能へのアクセス権を付与する方法の詳細については、「AWS Billing ユーザーガイド」の「Billing and Cost Management 管理のための ID ベースのポリシー (IAM ポリシー) の使用」を参照してください。

ステップ 2: 請求データにアクセス権限を付与する IAM ポリシーを作成する

次に、Billing and Cost Management コンソール内でページの表示およびフルアクセスの両方の権限を付与するカスタムポリシーを作成します。IAM アクセス許可ポリシーの全般情報については、「管理ポリシーとインラインポリシー」を参照してください。

請求データにアクセス許可を付与する IAM ポリシーを作成するには
  1. 管理者認証情報を使用してユーザーとして AWS Management Console にサインインします。

  2. https://console.aws.amazon.com/iam/ で IAM コンソール を開きます。

  3. ナビゲーションペインで [Policies] (ポリシー) を選択してから [Create policy] (ポリシーの作成) を選択します。

  4. [Visual editor (ビジュアルエディタ)] タブで、まず [Choose a service (サービスの選択)] を選択します。次に [Billing Console] を選択します。

  5. 以下のステップに従って 2 つのポリシーを作成します:

    フルアクセス

    1. [手動のアクション] の下の [すべての Billing Console アクション (aws-portal:*)] の横にあるチェックボックスをオンにします。このポリシーのリソースや条件を選択する必要はありません。

    2. Next: Tags (次へ : タグ) を選択します。

    3. Next: Review (次へ: レビュー) を選択します。

    4. [Review policy] (ポリシーを確認) ページで、[Name] (名前) の横に「BillingFullAccess」と入力し、[Create policy] (ポリシーの作成) を選択して保存します。

    読み取り専用アクセス

    1. ステップ 3 と 4 を繰り返します。

    2. [アクションの選択] を選択し、[読み込み] の横にあるチェックボックスをオンにします。このポリシーのリソースや条件を選択する必要はありません。

    3. Next: Tags (次へ : タグ) を選択します。

    4. Next: Review (次へ: レビュー) を選択します。

    5. [Review policy (ポリシーの確認)] ページで、[Name (名前)] に「BillingViewAccess」と入力します。[ポリシーの作成] を選択して保存します。

    IAM ポリシーで使用できる各アクセス権限の説明を参照して、Billing and Cost Management コンソールへのユーザーアクセスを許可するには、「請求アクセス許可の説明」を参照してください。

ステップ 3: 請求ポリシーをユーザーグループにアタッチする

これでカスタム請求ポリシーを利用できるようになったので、前に作成した該当のユーザーグループにポリシーをアタッチできます。ユーザーまたはロールに直接ポリシーをアタッチすることはできますが、(IAM のベストプラクティスに従って) 代わりにユーザーグループを使用することをお勧めします。

請求ポリシーをユーザーグループにアタッチするには
  1. ナビゲーションペインで [Policies] (ポリシー) を選択して、AWS アカウント で利用できるポリシーの全一覧を表示します。各ポリシーを適切なユーザーグループにアタッチするには、以下のステップに従います:

    フルアクセス

    1. ポリシー検索ボックスに「BillingFullAccess」と入力し、ポリシー名の横にあるチェックボックスをオンにします。

    2. [Actions (アクション)] を選択し、[Attach (アタッチする)] を選択します。

    3. アイデンティティ (ユーザー、ユーザーグループ、およびロール) 検索ボックスに「BillingFullAccessGroup」と入力し、ユーザーグループ名の横にあるチェックボックスをオンにして、[ポリシーのアタッチ] を選択します。

    読み取り専用アクセス

    1. ポリシー検索ボックスに「BillingViewAccess」と入力し、ポリシー名の横にあるチェックボックスをオンにします。

    2. [Actions (アクション)] を選択し、[Attach (アタッチする)] を選択します。

    3. アイデンティティ (ユーザー、ユーザーグループ、およびロール) 検索ボックスに「BillingViewAccessGroup」と入力し、ユーザーグループ名の横にあるチェックボックスをオンにして、[ポリシーのアタッチ] を選択します。

  2. コンソールからサインアウトし、「ステップ 4: 請求コンソールへのアクセスをテストする」に進みます。

ステップ 4: 請求コンソールへのアクセスをテストする

各テストユーザーとしてサインインしてアクセスをテストし、ユーザーの体験を確認できるようにすることをお勧めします。次のステップを使用して、アクセス権限の違いを確認するために、両方のテストアカウントを使用してサインインします。

両方のテストユーザーでサインインして請求へのアクセスをテストするには
  1. AWS アカウント ID またはアカウントエイリアス、IAM ユーザー名、およびパスワードを使用して IAM コンソールにサインインします。

    注記

    利便性のため、AWS サインインページは、ブラウザ cookie を使用して IAM ユーザー名とアカウント情報を記憶します。以前に別のユーザーとしてサインインしたことがある場合は、ページの下部にある[別のアカウントにサインイン]を選択し、メインのサインインページに戻ります。そこから、AWS アカウント ID またはアカウントエイリアスを入力して、アカウントの IAM ユーザーサインインページにリダイレクトされるようにすることができます。

  2. 以下に示すステップを使用して各ユーザーにサインインし、さまざまなユーザー体験を比較できるようにします。

    フルアクセス

    1. ユーザー FinanceManager として AWS アカウント にサインインします。

    2. ナビゲーションバーで、[FinanceManager@<account alias or ID number>] を選択し、[Billing Dashboard] (請求ダッシュボード) を選択します。

    3. さまざまなページを参照し、各ボタンを選択して、完全な変更アクセス権限があることを確認します。

    読み取り専用アクセス

    1. ユーザー FinanceUser として AWS アカウント アカウントにサインインします。

    2. ナビゲーションバーで、[FinanceUser@<account alias or ID number>] を選択し、[Billing Dashboard] (請求ダッシュボード) を選択します。

    3. さまざまなページを参照します。問題なくコスト、レポート、および請求データを表示できることを確認してください。ただし、値を変更するオプションを選択すると、「アクセスが拒否されました」というエラーメッセージが表示されます。たとえば、[設定] ページで、ページの任意のチェックボックスをオンにし、[設定の保存] を選択します。そのページに変更を加えるには [ModifyBilling] アクセス許可が必要であることを知らせるコンソールメッセージが表示されます。

関連リソース

AWS Billing ユーザーガイドの関連情報については、以下の関連リソースを参照してください。

IAM ユーザーガイド の関連情報については、以下の関連リソースを参照してください。

概要

これで、Billing and Cost Management コンソールにユーザーアクセスを委任するために必要なすべてのステップを正しく完了しました。その結果、ユーザーの請求コンソールエクスペリエンスがどのようなものになるかを直接確認できました。これで、このロジックを本稼働環境にいつでも実装できます。