ポリシーを作成してユーザーにアタッチする
ユーザーが API 管理サービスまたは API 実行サービスを呼び出せるようにするには、API Gateway エンティティへのアクセスを制御する IAM ポリシーを作成する必要があります。
JSON ポリシーエディタでポリシーを作成するには
AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
左側のナビゲーションペインで、[ポリシー] を選択します。
初めて [ポリシー] を選択する場合には、[管理ポリシーにようこそ] ページが表示されます。[今すぐ始める] を選択します。
-
ページの上部で、[ポリシーを作成] を選択します。
-
[ポリシーエディタ] セクションで、[JSON] オプションを選択します。
-
次の JSON ポリシードキュメントを入力します。
{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "action-statement" ], "Resource" : [ "resource-statement" ] }, { "Effect" : "Allow", "Action" : [ "action-statement" ], "Resource" : [ "resource-statement" ] } ] }
-
[次へ] をクリックします。
注記
いつでも [Visual] と [JSON] エディタオプションを切り替えることができます。ただし、[Visual] エディタで [次] に変更または選択した場合、IAM はポリシーを再構成して visual エディタに合わせて最適化することがあります。詳細については、「IAM ユーザーガイド」の「ポリシーの再構成」を参照してください。
-
[確認と作成] ページで、作成するポリシーの [ポリシー名] と [説明] (オプション) を入力します。[このポリシーで定義されているアクセス許可] を確認して、ポリシーによって付与されたアクセス許可を確認します。
-
[ポリシーの作成] をクリックして、新しいポリシーを保存します。
このステートメントで、必要に応じて action-statement
と resource-statement
を置き換えます。また、ユーザーに管理を許可する API Gateway エンティティ、ユーザーが呼び出せる API メソッド、または両方を指定するための他のステートメントを追加します。デフォルトでは、対応する明示的な Allow
ステートメントがない限り、 ユーザーにアクセス許可はありません。
以上で、IAM ポリシーを作成しました。アタッチするまで効果はありません。
アクセス権限を付与するには、ユーザー、グループ、またはロールにアクセス許可を追加します。
-
AWS IAM Identity Center のユーザーとグループ:
アクセス許可セットを作成します。「AWS IAM Identity Center ユーザーガイド」の「権限設定を作成する」の手順に従ってください。
-
IAM 内で、ID プロバイダーによって管理されているユーザー:
ID フェデレーションのロールを作成します。詳細については、「IAM ユーザーガイド」の「サードパーティー ID プロバイダー (フェデレーション) 用のロールの作成」を参照してください。
-
IAM ユーザー:
-
ユーザーが担当できるロールを作成します。手順については、「IAM ユーザーガイド」の「IAM ユーザー用ロールの作成」を参照してください。
-
(お奨めできない方法) ポリシーをユーザーに直接アタッチするか、ユーザーをユーザーグループに追加する。詳細については、「IAM ユーザーガイド」の「ユーザー (コンソール) へのアクセス権限の追加」を参照してください。
-
IAM ポリシードキュメントを IAM グループにアタッチするには
-
メインのナビゲーションペインで、[グループ] を選択します。
-
選択したグループの下で、[Permissions (アクセス許可)] タブを選択します。
-
[Attach policy] を選択します。
-
前に作成したポリシードキュメントを選択して、[ポリシーのアタッチ] を選択します。
API Gateway がユーザーに代わって AWS の他のサービスを呼び出すには、Amazon API Gateway タイプの IAM ロールを作成します。
Amazon API Gateway タイプのロールを作成するには
-
メインのナビゲーションペインで、[ロール] を選択します。
-
[Create New Role] を選択します。
-
[ロール名] にロールの名前を入力し、[次のステップ] を選択します。
-
[AWS Service Roles] (AWS のサービスロール) の [Select Role Type] (ロールタイプの選択) で、[Amazon API Gateway] の横にある [Select] (選択) を選択します。
-
API Gateway で CloudWatch にメトリクスを記録する場合は、[ポリシーのアタッチ] で、使用可能な IAM 管理対象アクセス許可ポリシー ([AmazonAPIGatewayPushToCloudWatchLog] など) を選択し、[次のステップ] を選択します。
-
[信頼されたエンティティ] で、[apigateway.amazonaws.com] がエントリとして表示されていることを確認し、[ロールの作成] を選択します。
-
新しく作成したロールで、[Permissions (アクセス許可)] タブ、[ポリシーのアタッチ] の順に選択します。
-
前に作成したカスタムの IAM ポリシードキュメントを選択し、[ポリシーのアタッチ] を選択します。