AWS Organizations メンバーアカウントに、次のような明示的な拒否エラーのメッセージが表示されました。 「The IAM Entity is not authorized to perform API action on resource: arn:aws:iam::123456789012:role/Admin with an explicit deny in a service control policy」
簡単な説明
組織のサービスコントロールポリシー (SCP) を使用して、組織内のメンバーアカウントのアクセス許可を管理できます。ただし、SCP は、組織内の AWS Identity and Access Management (IAM) の ID にアクセス許可を付与しません。
API アクションへのアクセスを許可するには、SCP と IAM の ID ベースのポリシーの両方がメンバーアカウントへのアクセスを許可する必要があります。
解決策
SCP がリクエストを拒否したために明示的な拒否エラーが発生したことを確認するには、AWS CloudTrail イベント履歴を使用してイベント名を検索します。次に、AWS Organizations の管理アカウントから Organizations コンソールを使用して、API アクションリクエストを許可するようにポリシーを削除または変更します。
**注:**AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI エラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
CloudTrail イベント履歴を確認する
CloudTrail コンソールを使用する
過去 90 日間の、サポートされているすべてのサービスと統合、およびイベントタイプ (作成、変更、削除、変更不可能なアクティビティなど) を表示できます。CloudTrail イベント履歴を使用するために証跡を設定する必要はありません。
手順については、「CloudTrail コンソールでの最近の CloudTrail イベントを表示する」を参照してください。
AWS CLI を使用する
lookup-events AWS CLI コマンドを実行して、過去 90 日間の管理イベントまたは CloudTrail Insights イベントを検索します。
filter-log-events コマンドを実行してメトリクスフィルターを適用し、ログイベント内の特定の用語、フレーズ、および値を検索します。その後、それらを CloudWatch メトリクスとアラームに変更できます。
詳細については、「メトリクスフィルター、サブスクリプションフィルター、フィルターログイベント、およびライブテールのフィルターパターン構文」を参照してください。
AWS Organizations コンソールを使用して SCP を削除または変更する
次の手順を実行します。
- AWS Organizations の管理アカウントで AWS Organizations コンソールを開きます。
- ナビゲーションペインで [AWS アカウント] を選択し、影響を受けるメンバーアカウントを選択します。
- [ポリシー] タブを選択し、API アクションへのアクセスを制限している適用済みの SCP をすべて確認します。
- ポリシーを編集するには、SCPを選択し、[ポリシーの編集] を選択します。ポリシーを編集したら、[変更を保存] を選択します。
または
ポリシーを削除するには、SCP を選択し、[削除] を選択します。
または
ポリシーをデタッチするには、SCP を選択し、次に [デタッチ] を選択します。
メンバーアカウントから API アクションを再度実行して、明示的な拒否エラーが解決されたことを確認します。
詳細については、「Organizations の情報を表示する (コンソール)」を参照してください。