Oracle Exadata Database Service on Cloud@CustomerおよびOracle Exadata Database Service on Dedicated InfrastructureでのOracle API Access Controlの使用

はじめに

Oracle API Access Controlを使用すると、Oracle Exadata Database Service on Dedicated InfrastructureおよびOracle Exadata Database Service on Cloud@Customerによって公開されるREST APIへのアクセスを管理できます。特定のAPIを特権として指定することで、お客様は、これらのAPIを呼び出す際に、テナンシ内の認可されたグループからの事前承認が必要であることを確認できます。

また、Oracle API Access Controlは、Oracle Cloud Infrastructure(OCI)テクノロジを利用して特定のワークフローを実施することで、監査統合を支援します。

個人が特権操作を実行するためのアクセスを要求すると、OCIコントロール・プレーンが特別な承認リソースを承認済状態に遷移した後、承認者は操作をレビューして承認します。これにより、リクエスタはAPIをターゲット・リソースに送信し、必要なタスクを実行できます。

主な利点:

目的

Oracle Exadata Database Service on Cloud@CustomerのOracle API Access Controlサービスを構成および操作します。同様の手順は、Oracle Exadata Database Service on Dedicated Infrastructureにも適用されます。

前提条件

タスク1: OCIテナンシでのユーザーおよびグループの設定

Oracle API Access Controlの最初のステップでは、OCIテナンシ内のユーザーおよびグループを設定します。2番目のステップでは、これらのユーザーおよびグループが制御および管理リクエストを構成します。

  1. OCIコンソールにログインし、デフォルトのアイデンティティ・ドメイン内の「アイデンティティとセキュリティ」に移動します。

  2. ユーザーおよびグループを作成します。ExaCC Approverというユーザーが構成されており、このユーザーはExaCC-API-Approver-grpグループのメンバーです。

    イメージ1: ユーザー・グループ

タスク2: Oracle API Access ControlのOCI IAMポリシーの構成

このタスクでは、OCI IAMポリシーを構成して、Oracle API Access Controlサービスが動作できるようにし、ExaCC-API-Approver-grpグループがサービスを管理できるようにします。この例に示すポリシー・ステートメントは、サービスが機能することを許可します。OCI IAMポリシー構文は、細かく制御できるため、職務をさらに分離できます。

Oracle API Access ControlのOCI IAMポリシーの例:

allow group <admin_group/approver_group/managers> to manage privileged-api-family in tenancy
allow any-user TO use database-family IN tenancy where ALL { request.principal.type in ('pactlprivilegedapirequest', 'pactlprivilegedapicontrol') }
allow any-user TO use ons-topics IN tenancy where ALL { request.principal.type in ('pactlprivilegedapirequest', 'pactlprivilegedapicontrol') }
allow group <admin_group/approver_group/managers> to use database-family in tenancy
allow group <admin_group/approver_group/access_request_group> to read domains in tenancy
allow group <admin_group/approver_group/access_request_group> to inspect compartments in tenancy
allow group <admin_group/approver_group/access_request_group> to use ons-topics in tenancy

イメージ2: ポリシー

承認者グループには、データベース・ファミリを使用する機能が必要ですが、管理する必要はありません。さらに、承認グループは、ドメインの読取り、コンパートメントの検査、および通知用のOCI通知トピックの使用が可能である必要があります。

OCI IAMポリシーの詳細は、リソース・タイプおよび委任アクセス制御ポリシーについてを参照してください。

タスク3: リソースの制御

Oracle API Access Controlおよびそのポリシーが設定された状態で、Oracle API Access Controlユーザーとしてログインし、リソースを管理できるようにします。

  1. OCIコンソールに移動し、「Oracle Database」「APIアクセス制御」に移動して、「特権API制御の作成」をクリックします。

    イメージ3: CreateAPIコントロール

  2. コンパートメント(ExaCC)を選択し、新しいコントロールを作成します。

  3. コントロールの「名前」および「説明」を入力します。

  4. リソース・タイプの選択:このチュートリアルの「Exadataインフラストラクチャ」を選択します。

    • OCIまたはOracle MulticloudのOracle Exadata Database Service on Dedicated InfrastructureのExadata Cloud Infrastructure
    • Oracle Exadata Database Service on Cloud@CustomerのExadataインフラストラクチャ

    イメージ4: CreateAPIコントロール

  5. Exadataインフラストラクチャ・コンパートメントの選択: Exadataインフラストラクチャは、別のコンパートメント(eccw-infrastructure)にあります。

  6. Exadataインフラストラクチャの選択:制御されるインフラストラクチャはeccw-infrastructureです。

  7. インフラストラクチャに対して制御するAPIを選択します。

    たとえば:

    • インフラストラクチャの削除を保護できます。
    • 仮想マシン(VM)クラスタの場合、更新、削除、VMの追加/削除およびコンパートメントの変更を保護できます。
    • VMクラスタの更新の場合、CPUコア数(自動スケーリング・ソフトウェアに影響)やSSH公開キーの変更など、様々な属性を特権として選択できます。
    • 次のものも制御できます。
      • データベース・ホームAPI(削除など)。
      • 仮想マシンAPI(更新やコンソール接続の作成など)。
      • VMクラスタ・ネットワークAPI(サイズ変更、更新および削除を含む)。
      • コンテナ・データベースAPI。削除、Transparent Data Encryptionキー管理キー・ローテーション、更新およびアップグレードが含まれます。
      • プラガブル・データベースAPI。プラガブル・データベースの起動/停止、リフレッシュ、更新、削除などのアクションがあります。この例では、CPUコア数(7a)およびCDBの削除(7b)の変更に関する制御を適用します。

    ノート:割り当てられたコントロールは、初期コントロールの作成後に変更できます。ただし、変更にはOracle API Access Controlの承認プロセスも必要です。

  8. 「承認情報」で、承認情報として「IAMポリシーの使用」を選択します。これは、アイデンティティ・ドメインを使用してテナンシで操作する場合に必須です。

  9. オプションで、特に機密性の高いシステムに対して2番目の承認を要求し、アクセス・リクエストを承認するために2つの個別のアイデンティティを要求できます。

  10. 通知トピックの選択:アクセス・リクエスト通知のOCI通知トピックを選択し、「作成」をクリックする必要があります。コントロールの作成後、オンラインになるには数分かかります。

    次のイメージは、OCI通知トピックの作成、サブスクリプションの作成と構成を示しています。

    画像5: トピック

    イメージ6: サブスクリプション

ノート: OCI監査レコードは、リソースが存在するコンパートメントにリンクされます。したがって、このOracle API Access ControlをExaCCコンパートメントに作成すると、APIコントロールのライフサイクル管理に関連する監査レコードがそこで見つかります。eccw-infrastructureコンパートメントにあるExadataインフラストラクチャの更新では、その監査レコードがeccw-infrastructureコンパートメントに表示されます。

タスク4: API制御実施のデモンストレーション

APIによるシステムの制御方法を示すには、次のステップに従います。

  1. infra-db-admin-userユーザーとしてOCIコンソールにログインします。

  2. 「Oracle Database Service on Cloud at Customer」を選択します。

  3. 仮想マシン・クラスタおよびExadataインフラストラクチャを選択します。

  4. Oracle API Access Controlが有効になっているeccw-cl3VMクラスタが表示されます。

  5. メニューからVM当たりのECPU数を直接変更しようとすると、現在のリソースでは許可されないため操作が拒否されます。

    イメージ7: ECPUのスケーリング

  6. 同様に、データベースを終了しようとすると、操作は許可されません。

  7. OCIコンソールから監査レコードを検証します。

    1. 「監視および管理」にナビゲートします。

    2. 「ロギング」を選択し、「監査」をクリックします。

    3. ExaCCコンパートメントを選択します。

    4. PUTPOSTなどのアクションや状態の変更を監査します。

    eccw-infrastructureコンパートメントには、Oracle API Access Controlの承認チェックがリクエストに失敗したことを示す「Not Found (404)」エラーが表示されます。

    イメージ8: ECPU監査のスケーリング

タスク5: アクセス要求の作成および承認

  1. OCIコンソールに移動し、Oracle Databaseに移動して、「APIアクセス制御」をクリックします。

  2. 「特権アクセス・リクエストの作成」をクリックして、CPUコア数を更新するリクエストを作成できます。

    1. コンパートメント: ExaCC 「コンパートメント」を選択します。

    2. チケット番号:チケットへの参照を追加します(これは自由形式テキストです)。

    3. リソース・タイプ:リソース・タイプはVMクラスタです。

    4. 権限付き操作の選択: VMクラスタcpuCoreCountを更新するリクエスト。単一のアクセス・ウィンドウに必要な場合は、さらに操作を追加できます。

      イメージ9: アクセス要求の作成

    5. 計画メンテナンスの将来の日付または即時アクセスをリクエストできます。

    6. 通知トピックの選択:通知するトピックを選択し、「作成」をクリックします。

      イメージ10: アクセス要求の作成

    アクセス・リクエストが作成されたコンパートメントには、「ライズ済」状態が表示されます。

    イメージ11: アクセス要求の作成

    自分で承認しようとすると、別のユーザーが承認する必要があることを示すエラーが表示されます。

  3. ExaCC Approver承認者ユーザーとしてシステムにアクセスします。コンパートメント内のアクセス・リクエストを確認できます。

    イメージ12: 承認の要求

    電子メール通知は、ExaCC-API-Approver-grpのメンバーに送信されます。

    イメージ13: Eメール通知

  4. 要求された要求にアクセスできます。

    イメージ14: 承認の要求

  5. UpdateVmCluster cpuCoreCountに対するリクエストを確認し、リクエストをすぐに承認するか、将来の時間を選択します。

    イメージ15: 承認の要求

    イメージ16: 承認の要求

  6. アクセス・リクエストが承認されたら、VMクラスタ・リソースに戻り、VM当たりのECPU数を更新します。これで、VM当たりのECPU数の変更が許可されます。

タスク6: 承認済操作の監査

監査の観点から。

  1. OCIコンソールに移動し、「監視および管理」に移動して、「監査」を選択します。

  2. Oracle API Access Controlアクセス・リクエストが構成されているコンパートメントに移動します。「POST」および「PUT」を参照してください。

  3. infra-db-admin-userユーザーがOracle API Access Controlアクセス・リクエストを作成したことがわかります。

    イメージ17: 承認待ちの監査

  4. 自分で承認しようとすると、不良リクエスト(400)が表示されます。

    イメージ18: 自己承認

    イメージ19: 自己承認

  5. ExaCC Approverがアクセス・リクエストを承認したことがわかります。

    イメージ20: 監査承認済

同様に、eccw-infrastructureコンパートメントを参照する場合は、承認後に発生したVMクラスタの更新を確認します。VMクラスタの更新の開始と、APIが送信されることを示すAPIアクセス制御チェックが承認されましたが表示されます。

タスク7: Oracle APIアクセス制御リクエストの取消し

Oracle API Access Controlリクエストは、リクエストを送信したユーザーまたは承認者のいずれかによって取り消すことができます。リクエストが取り消されると、アクションの実行は禁止されます。

eccw-infrastructureコンパートメントの監査の観点からは、PUTメソッドとPOSTメソッドを確認できます。承認後に許可されたVMクラスタ更新、およびアクセス・リクエストが承認されなかったために発生したVMクラスタ更新の失敗が表示されます。アクセス・リクエスト自体のライフサイクル管理を確認すると、リクエストがいつオープンされたか、自己承認の400エラー、および別のユーザーによる承認の成功を確認できます。

イメージ21: 取消

イメージ22: 取消

タスク8: コントロールの編集または削除

タスク9: コントロール削除の最終監査の完了

コントロール削除の監査の観点から。

イメージ25: 最終監査

確認

その他の学習リソース

docs.oracle.com/learnで他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスして、Oracle Learning Explorerになります。

製品ドキュメントについては、Oracle Help Centerを参照してください。