AWS Identity and Access Management (IAM) ユーザーまたはグループに、アカウントの請求情報にアクセスするために必要な許可を付与したいと考えています。しかし、必要なアクションを実行しているにもかかわらず、依然として許可の問題が発生しています。この問題をトラブルシューティングするにはどうすればよいですか?
簡単な説明
ルートユーザーが IAM エンティティ (ユーザーまたはロール) に請求情報へのアクセスを委任していない場合、AWS 請求およびコスト管理コンソールにアクセスする際に、IAM ユーザーに許可の問題が発生することがあります。これは、IAM エンティティにアクセスを許可するために必要な IAM ポリシーがない場合にも発生します。
解決方法
請求およびコスト管理コンソールにアクセスするための許可を IAM エンティティに付与する
1. 請求およびコスト管理コンソールで、[IAM User and Role Access to Billing Information] (IAM ユーザー/ロールによる請求情報へのアクセス) 設定を有効にします。この設定を有効にしていない場合、IAM ユーザーとロールは、管理者許可と必要な IAM ポリシーがあっても、請求およびコスト管理コンソールにアクセスできません。この設定はデフォルトでは無効になっているため、ルートユーザーが手動で有効にする必要があります。この設定の有効化の詳細については、「請求の情報およびツールへのアクセス許可」を参照してください。
2. 請求およびコスト管理コンソールにアクセスするために必要な許可が IAM エンティティにアタッチされていることを確認します。最低限必要な許可は次のとおりです。
- aws-portal:ViewBilling - この許可は、請求およびコスト管理コンソールページを表示するために必要です。
- aws-portal:ModifyBilling - この許可は、請求およびコスト管理コンソールページで変更を行うために必要です。
IAM エンティティには、少なくとも 1 つの IAM ポリシーがアタッチされています。請求およびコスト管理コンソールのポリシーの例については、「AWS 請求でアイデンティティベースのポリシー (IAM ポリシー) を使用する」を参照してください。AWSBillingReadOnlyAccess や Billing などの AWS マネージドポリシーも使用できます。
IAM エンティティによる請求およびコスト管理コンソールへのアクセスが拒否されていないことを確認する
これらのベストプラクティスに従っても AccessDenied の問題が発生する場合は、請求およびコスト管理コンソールへのアクセスを拒否するポリシーがアタッチされている可能性があります。該当するすべてのポリシー (IAM ポリシー、許可の境界、SCP) をチェックして、請求およびコスト管理コンソールへのアクセスが明示的拒否を生じさせていないことを確認します。
IAM ポリシーシミュレーターを使用して、請求およびコスト管理コンソールへのアクセスを妨げているポリシーを特定することもできます。
よくある問題
- 特定のリージョンへのアクセスを制限する SCP/IAM ポリシーが IAM エンティティに適用されます。 請求サービスはグローバルで、請求およびコスト管理コンソールで実行されるすべてのアクションは us-east-1 リージョンにログ記録されます。特定のリージョンへのアクセスを拒否する IAM/SCP ポリシーがある場合は、これを変更して、必要な特定の請求許可を適用除外します。詳細については、「AWS: リクエストされたリージョンに基づいて、AWS へのアクセスを拒否する」を参照してください。
- 拒否の効果を持つ SCP/IAM ポリシーが適用され、IAM エンティティが MFA 認証された場合にのみサービスへのアクセスが許可されます。 MFA デバイスは、常に MFA トークンで認証され、請求およびコスト管理コンソールにアクセスできるように設定する必要があります。
- IAM エンティティには、請求およびコスト管理コンソールへのアクセスを許可しない許可の境界がアタッチされています。 必要な IAM ポリシーが設定されているにもかかわらず、この許可を禁止する許可の境界が設定されている場合、IAM エンティティは請求コンソールにアクセスできません。許可の境界には、請求およびコスト管理コンソールの必要な許可のために Allow 効果のあるポリシーステートメントが必要です。
関連情報
許可の管理の概要