Oracle Cloud Infrastructure APIゲートウェイの作成

APIゲートウェイを設定し、動的グループとポリシーで構成する必要があります。

Oracle Cloud Infrastructure APIゲートウェイの作成

REST APIトラフィックを処理するAPIゲートウェイを作成します。

Oracle Cloud Infrastructure内にゲートウェイを作成できます。関数のOCIDが必要になるため、APIデプロイメント・ファイル(API Gatewayでは、API DeploymentというJSONファイルを使用してAPIを定義)をデプロイすることはできません。これは、関数がデプロイされていて、再デプロイメント用に同一のままである場合にのみ使用可能です。

クラウド・コンソールでAPIゲートウェイを作成する際には、パブリック・ゲートウェイとして作成され、VCNに関連付けられていることを確認してください。次に例を示します。



  1. Oracle Cloud Infrastructureコンソールで、APIゲートウェイを追加するVCNを含むコンパートメントを表示していることを確認します。
  2. ナビゲーション・メニューを開きます。「開発者サービス」で、「APIゲートウェイ」をクリックします。
  3. リスト・スコープ」で、コンパートメント・リストをクリックして、ゲートウェイを作成するコンパートメントを選択します。
  4. ゲートウェイの作成」をクリックします。
  5. 値を入力します:名前、タイプ (パブリック)、区分を確認し、区分内のVCN、区分内のサブネット、およびオプションで適用するタグ。
  6. 作成」をクリックします。
    APIゲートウェイが作成され、選択したコンパートメントのAPIゲートウェイ ・ページに表示されます。ゲートウェイでは、デフォルトでトラフィックを受信できます。
  7. サブネットでポート443 (SSL)を許可していることを確認します。
    1. ゲートウェイの詳細ページの「ゲートウェイ情報」タブで、サブネット名をクリックします。
    2. サブネットの詳細ページで、VCNのセキュリティ・リストをクリックします。
    3. イングレス・ルールを確認します。TCPトラフィックをポート443に許可するルールを検証または追加します。
まだAPIゲートウェイにデプロイメントを作成しません。

動的グループの作成

APIゲートウェイ用の動的グループが必要です。

動的グループを使用すると、Oracle Cloud Infrastructureコンピュータ・インスタンスを(ユーザー・グループと同様に)プリンシパルのアクターとしてグループ化できます。ポリシーを作成して、インスタンスがOracle Cloud Infrastructureサービスに対してAPIコールを実行できるようにします。動的グループを作成する場合、メンバーをグループに明示的に追加するのではなく、グループ・メンバーを定義する一致ルールのセットを定義します。たとえば、ルールで、特定のコンパートメントのすべてのインスタンスが動的グループのメンバーであることを指定できます。メンバーは、インスタンスが起動され、そのコンパートメントで終了すると、動的に変更できます。

  1. Oracle Cloud Infrastructureコンソールで、「ガバナンスおよび管理」セクションの左のアイコンに移動し、「アイデンティティ」をクリックして、「動的グループ」を選択します。
  2. 動的グループの作成」を選択します。
  3. 動的グループの名前を入力します。今後使用するための名前を記録します。名前は、テナンシ内のすべてのグループで一意である必要があります。この名前は後で変更できません。
  4. 説明を入力します。後でコンソールを使用して説明を変更することはできませんが、APIを使用して変更できます。
  5. 一致ルール」セクションで、テキスト・ボックスにルールを手動で入力するか、「Rule Builderの起動」を選択して一致ルールを定義します。次に例を示します。
    ANY {resource.type = 'ApiGateway', resource.compartment.id = '<Compartment_OCID>'}
    必要に応じて、+Additional Ruleを選択して追加ルールを入力できます。
  6. 動的グループの作成」を選択します。
    一致ルールの構文は検証されますが、OCIDsは検証されません。入力したOCIDsが正しいことを確認します。

コンパートメントでのポリシーの作成

動的グループには、少なくとも1つのポリシーを記述するまで権限がなく、その動的グループ権限はテナンシまたはコンパートメントのいずれかに付与されます。

ポリシーは、リソースへのアクセス・タイプを誰が指定するかを示すOracle Cloud Infrastructure Identity and Access Management (IAM)ドキュメントです。ポリシーを記述するときに、一意の名前または動的グループのOCIDを使用して動的グループを指定できます。ただし、ポリシーに動的グループ名を指定した場合でも、IAMではidを内部的に使用して動的グループを決定します。

  1. Oracle Cloud Infrastructureコンソールで、ナビゲーション・メニューを開きます。「ガバナンスと管理」で、「アイデンティティ」に移動して「ポリシー」をクリックします。
    表示しているコンパートメント内のポリシーのリストが表示されます。
  2. 表示しているコンパートメント以外のコンパートメントにポリシーをアタッチする場合は、左側のリストから目的のコンパートメントを選択します。ポリシーがアタッチされている場所によって、後で変更または削除できるユーザーが制御されます。
  3. ポリシーの作成」を選択します。
  4. 次の情報を入力します:
    • 名前:ポリシーの一意の名前。この名前は、テナンシ内のすべてのポリシー間で一意である必要があります。これは、後で変更できません。
    • 説明:わかりやすい説明。これは、必要に応じて後で変更できます。
    • ポリシーのバージョニング:サービスの動詞とリソースの定義に対する将来の変更でポリシーを最新に保つ場合は、「ポリシーの現行の保持」を選択します。または、特定の日付に最新であった定義に従ってアクセスを制限する場合、「バージョン日付の使用」を選択し、その日付をYyyy - mm - ddの書式で入力します。
    • 文:次の文を追加します。
    allow dynamic-group <apgw-group> to use virtual-network-family in compartment <CompartmentName>
    allow dynamic-group <apgw-group> to manage public-ips in compartment <CompartmentName>
    allow dynamic-group <apgw-group> to use functions-family in compartment <CompartmentName>
  5. 「作成」を選択します。