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

所要時間2分
0

Amazon API Gateway (API Gateway) REST API にアクセスするために AWS Identity and Access Management (IAM) 認証を有効にしたいと考えています。どのように設定すればよいですか?

簡単な説明

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

API Gateway で使用できるさまざまなセキュリティ機能の詳細については、「Controlling and managing access to a REST API in API Gateway」を参照してください。

解決策

REST API の IAM 認証を有効にします

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

2.**[リソース]**ペインで、IAM 認証を有効にするメソッド (GETPOSTなど) を選択します。

3.[メソッドの実行] ペインで **[メソッドリクエスト] **を選択します。

4.**[設定] ** の **[認可] ** で、鉛筆アイコン (編集) を選択します。次に、ドロップダウンリストから AWS_IAM を選択し、チェックマークアイコン (更新) を選択します。

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

6.API をデプロイして変更を反映させます。

7.**[ステージエディター]**ペインで **呼び出し URL をコピーします。**呼び出し URL は後でテストに使用します。

詳細については、「Set up a method using the API Gateway console」と「Obtain an API's invoke URL in the API Gateway console」を参照してください。

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

1.API ユーザーに付与するアクセス許可を決定します。詳細については、「Control access to an API with IAM permissions」を参照してください。

2.必要なアクセス許可を含む IAM ポリシーを作成します。例とフォーマットのガイダンスについては、以下を参照してください:
Control access for invoking an API
IAM policy examples for API execution permissions
Amazon API Gateway identity-based policy examples
**注:**この記事の最後にあるテストの手順を完了するには、呼び出しのアクセス許可を付与する必要があります。

3.以下のいずれかを実行して IAM ポリシーを IAM グループにアタッチします。
ポリシーを既存の IAM グループにアタッチします。
または、
新しい IAMグループを作成するときにポリシーをアタッチします。

詳細については、「Create and attach a policy to an IAM User 」を参照してください。

**注:**IAM グループレベルでアクセス許可を付与することをお勧めします。

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

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

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

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

Postman アプリを使用して、IAM 認証を有効にした方法を使用して API リソースにリクエストを送信します。

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

1.Postman の [認可] タブで次の操作を行います:
[タイプ][AWS 署名] を選択します。
AccessKeySecretKey には、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 レスポンスコードを返します。許可されていないリクエストは、「認証トークンが見つかりません」というメッセージと 403 Forbidden 応答コードを返します。


関連情報

How API Gateway resource policies affect authorization workflow

コメントはありません

関連するコンテンツ