API Gateway REST API の IAM 認証を有効にするにはどうすればよいですか?

最終更新日: 2021 年 10 月 6 日

Amazon API Gateway REST API にアクセスするために、AWS Identity and Access Management (IAM) 認証を有効にしたいと考えています。設定する方法を教えてください。

簡単な説明

API Gateway コンソールで API メソッドの IAM 認証をオンにします。次に、IAM ポリシーとリソースポリシーを使用して、API ユーザーのアクセス許可を指定します。

API Gateway で使用できるさまざまなセキュリティ機能の詳細については、API Gateway での REST API へのアクセスの制御と管理をご参照ください。

解決方法

REST API の IAM 認証をオンにする

1.    API Gateway コンソールで、自身の API の名前を選択します。

2.    [Resources] ペインで、IAM 認証を有効にするメソッド (GET または POST など) を選択します。

3.    [Method Execution] (メソッドの実行) ペインで、[Method Request] (メソッドリクエスト) を選択します。

4.    [Settings] の [Authorization] で、鉛筆アイコン ([Edit]) を選択します。次に、ドロップダウンリストから [AWS_IAM] を選択し、チェックマークアイコン ([Update]) を選択します。

5.    (オプション) IAM 認証を有効にする API メソッドごとに、ステップ 2~4 を繰り返します。

6.    API をデプロイして、変更を有効にします。

7.    [Stage Editor] ペインで、呼び出し URL を書き留めます。 呼び出し URL は、後でテストに使用します。

詳細については、「API Gateway コンソールを使用して メソッドを設定する」を参照してください。また、 API Gateway コンソールで API の呼び出し URL を取得します

IAM ユーザーのグループへ API 認証を付与する

1.    API ユーザーに付与するアクセス許可を決定します。詳細については、「IAM アクセス権限により API へのアクセスを制御する」をご参照ください。

2.    必要なアクセス許可を含む IAM ポリシーを作成します。例とフォーマットのガイダンスについては、次をご参照ください。
API を呼び出すためのアクセスの制御
API 実行許可の IAM ポリシーの例
Amazon API Gateway アイデンティティベースのポリシーの例
注: この記事の最後にあるテスト手順を完了するには、呼び出し権限を許可する必要があります。

3.    次のいずれかを実行して、IAM ポリシーを IAM グループに添付します。
ポリシーを既存の IAM グループに添付する
- または -
新しい IAM グループの作成時にポリシーを添付する。

詳細については、ポリシーを作成して IAM ユーザーに添付するを参照してください。

注:IAM グループレベルでアクセスを許可することがベストプラクティスです。

(オプション) API Gateway リソースポリシーの設定

API Gateway リソースポリシー(リソースベースのアクセス許可) を IAM ポリシー (ID ベースのアクセス許可) とともに使用して、API へのアクセスの管理をすることもできます。詳細については、「IAM 認証およびリソースポリシー」と「ID ベースのポリシーおよびリソースベースのポリシー」を参照してください。

重要:あるタイプの IAM ポリシーで API へのアクセスを拒否し、別のタイプのポリシーでアクセスを許可すると、アクセスは拒否されます。詳細については、「ポリシー評価結果テーブル」を参照してください。

認証設定をテストするリクエストを送信する

Postman アプリケーションを使用し、IAM 認証を有効にしたメソッドを使用して API リソースにリクエストを送信します。

注: 別のツールまたは環境を使用して API Gateway に送信されたリクエストを手動で認証するには、署名バージョン 4 署名プロセスを使用してください。詳細については、リクエストに署名するを参照してください。

1.    Postman の Authorization タブで、次を実行します。
Type では、[AWS Signature] を選択します。
[AccessKey] と [SecretKey] に、IAM ユーザーの IAM アクセスキー ID とシークレットアクセスキーを入力します。IAM ユーザーは、API にアクセスできる IAM グループに属している必要があります。

2.    「リクエスト URL を入力」フィールドに、API の呼び出し URL を貼り付けます。特定の API リソースのメソッドで IAM 認証を有効にした場合、呼び出し URL の末尾にリソース名を追加します。

注:リソース名を含む完全なリクエスト URL は次のようになります。 https://restApiId.execute-api.region.amazonaws.com/stageName/resourceName

認証されたリクエストは、200 OK レスポンスコードを返します。許可されていないリクエストは、Missing Authentication Token のメッセージと 403 Forbidden レスポンスコードを返します。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?