Amazon API Gateway の ID とアクセスのトラブルシューティング
次の情報は、API Gateway と IAM の使用に伴って発生する可能性がある一般的な問題の診断や修復に役立ちます。
トピック
API Gateway でアクションを実行する権限がない
アクションを実行する権限がないというエラーが表示された場合は、そのアクションを実行できるようにポリシーを更新する必要があります。
次のエラー例は、mateojackson IAM ユーザーがコンソールを使用して、ある リソースに関する詳細情報を表示しようとしたことを想定して、その際に必要なmy-example-widgetapigateway: アクセス許可を持っていない場合に発生するものです。GetWidget
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: apigateway:GetWidgeton resource:my-example-widget
この場合、apigateway: アクションを使用して GetWidgetリソースへのアクセスを許可するように、my-example-widgetmateojackson ユーザーのポリシーを更新する必要があります。
サポートが必要な場合は、AWS 管理者に問い合わせてください。サインイン認証情報を提供した担当者が管理者です。
iam:PassRole を実行する権限がありません
iam:PassRole アクションを実行する権限がないというエラーが表示された場合は、ポリシーを更新して API Gateway にロールを渡すことができるようにする必要があります。
一部の AWS のサービスでは、新しいサービスロールまたはサービスリンクロールを作成せずに、既存のロールをサービスに渡すことが許可されています。そのためには、サービスにロールを渡す権限が必要です。
以下の例のエラーは、marymajor という IAM ユーザーがコンソールを使用して API Gateway でアクションを実行しようする場合に発生します。ただし、このアクションをサービスが実行するには、サービスロールから付与された権限が必要です。メアリーには、ロールをサービスに渡す許可がありません。
User: arn:aws:iam::123456789012:user/marymajoris not authorized to perform: iam:PassRole
この場合、Mary のポリシーを更新してメアリーに iam:PassRole アクションの実行を許可する必要があります。
サポートが必要な場合は、AWS 管理者に問い合わせてください。サインイン認証情報を提供した担当者が管理者です。
AWS アカウント外のユーザーに API Gateway リソースへのアクセスを許可したい
他のアカウントのユーザーや組織外のユーザーが、リソースへのアクセスに使用できるロールを作成できます。ロールの引き受けを委託するユーザーを指定できます。リソースベースのポリシーまたはアクセスコントロールリスト (ACL) をサポートするサービスの場合、それらのポリシーを使用して、リソースへのアクセスを付与できます。
詳細については、以下を参照してください。
-
API Gateway がこれらの機能をサポートしているかどうかについては、「Amazon API Gateway と IAM の連携方法」を参照してください。
-
所有している AWS アカウント全体のリソースへのアクセス権を提供する方法については、IAM ユーザーガイドの「所有している別の AWS アカウント アカウントへのアクセス権を IAM ユーザーに提供」を参照してください。
-
サードパーティーの AWS アカウント にリソースへのアクセス権を提供する方法については、「IAM ユーザーガイド」の「サードパーティーが所有する AWS アカウント へのアクセス権を付与する」を参照してください。
-
ID フェデレーションを介してアクセスを提供する方法については、「IAM ユーザーガイド」の「外部で認証されたユーザー (ID フェデレーション) へのアクセスの許可」を参照してください。
-
クロスアカウントアクセスにおけるロールとリソースベースのポリシーの使用方法の違いについては、「IAM ユーザーガイド」の「IAM でのクロスアカウントのリソースへのアクセス」を参照してください。