血と汗となみだを流す

クラウドエンジニアになるための修業の場

API Gatewayをはじめよう④(APIをinvokeするIAMポリシーを付与する時にハマったこと)

前回

この記事は何?

  • メソッドリクエストの認証周りを調べている時に、Cognitoからユーザに渡すIAMの設定方法でハマったのでまとめておく
    • 具体的に言うと、ビジュアルエディタでAPIinvokeを付与する方法がわからなくてハマってた
  • API GatewayにはARNが2種類あり、実行はexecute-apiを使うということ

API GatewayのARN(Amazon Resource Name)

  • API Gatewayは「リソース」と「ステージ」がある
  • 「リソース」でメソッドやレスポンスの定義などを作成して、「ステージ」にデプロイして使う
  • 「リソース」を対象とする操作におけるARNは apigateway: (公式) f:id:Anorlondo448:20181018233516p:plain
    • 許可/不許可を選択できるアクションは以下だが、API Gatewayのメソッドの定義と同じ文字列なので紛らわしい・・・
      • 読み込み:
        • GET: リソースの情報を取得できる
        • HEAD: GETと同じだけど、リソースの表現(情報?)を返さない。テストシナリオで主に使用
        • OPTIONS: 対象サービスに使用できる通信オプションに関する情報を取得するために呼び出し元が使用できます。(公式に掻いてあるけどわからん。普通のRESTのOPTIONSを許可するだけ?)
      • 書き込み:
        • DELETE: リソースを削除できる
        • PATCH: リソースを更新できる
        • POST: 子リソースを作成できる
        • PUT: リソースを更新できる(子リソースを作ることもできる)
  • 「ステージ」にデプロイしたものを操作するARNは execute-api: (公式) f:id:Anorlondo448:20181018233556p:plain
    • InvalidateCache: APIキャッシュを無効にできる
    • Invoke: APIを実行できる

次回

  • API Gateway沼にハマってて中々進まないけど、認証からめたメソッドリクエストをやる