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をターゲット・リソースに送信し、必要なタスクを実行できます。
主な利点:
- リスクの軽減:ミッションクリティカルなデータベース・サービスの偶発的または悪意のある削除を最小限に抑えます。
- 職務の分離: API実行が承認と異なることを確認し、セキュリティと説明責任を強化します。
目的
Oracle Exadata Database Service on Cloud@CustomerのOracle API Access Controlサービスを構成および操作します。同様の手順は、Oracle Exadata Database Service on Dedicated Infrastructureにも適用されます。
-
OCIテナンシでユーザーおよびグループを設定します。
-
Oracle API Access ControlのOracle Cloud Infrastructure Identity and Access Management (OCI IAM)ポリシーを構成します。
-
リソースを管理できます。
-
API制御の実施を示します。
-
アクセス・リクエストを作成および承認します。
-
承認済工程を監査します。
-
Oracle API Access Controlリクエストを取り消します。
-
コントロールを編集または削除します。
-
コントロール削除の最終監査を完了します。
前提条件
-
Oracle Exadata Database Service on Cloud@CustomerまたはOracle Exadata Database Service on Dedicated InfrastructureによるOCIテナンシへのアクセス。
-
テナンシで作成した、Oracle APIアクセス制御権限を付与するポリシーを持つグループ(このチュートリアルの
ExaCC Approverユーザー)。 -
テナンシで、通常のインフラおよびDB管理権限を付与するポリシーを持つグループ(このチュートリアルの
infra-db-admin-userユーザー)に作成された2番目のユーザー。
タスク1: OCIテナンシでのユーザーおよびグループの設定
Oracle API Access Controlの最初のステップでは、OCIテナンシ内のユーザーおよびグループを設定します。2番目のステップでは、これらのユーザーおよびグループが制御および管理リクエストを構成します。
-
OCIコンソールにログインし、デフォルトのアイデンティティ・ドメイン内の「アイデンティティとセキュリティ」に移動します。
-
ユーザーおよびグループを作成します。
ExaCC Approverというユーザーが構成されており、このユーザーはExaCC-API-Approver-grpグループのメンバーです。
タスク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

-
最初のポリシー行では、
privileged-api-familyを管理する権限がExaCC-API-Approver-grpグループに付与されます。つまり、コントロールを作成してサービスに適用し、アクセス・リクエストを承認できます。 -
2番目のポリシー行では、Oracle API Access Controlソフトウェアがテナンシ内のデータベース・サービスと対話できます。
-
3番目のポリシー行では、Oracle API Access ControlソフトウェアがテナンシのOCI通知トピックと対話できます。これは、アクセス・リクエストがライフサイクル状態を変更したときにスタッフに通知するために重要です。
承認者グループには、データベース・ファミリを使用する機能が必要ですが、管理する必要はありません。さらに、承認グループは、ドメインの読取り、コンパートメントの検査、および通知用のOCI通知トピックの使用が可能である必要があります。
OCI IAMポリシーの詳細は、リソース・タイプおよび委任アクセス制御ポリシーについてを参照してください。
タスク3: リソースの制御
Oracle API Access Controlおよびそのポリシーが設定された状態で、Oracle API Access Controlユーザーとしてログインし、リソースを管理できるようにします。
-
OCIコンソールに移動し、「Oracle Database」、「APIアクセス制御」に移動して、「特権API制御の作成」をクリックします。

-
コンパートメント(
ExaCC)を選択し、新しいコントロールを作成します。 -
コントロールの「名前」および「説明」を入力します。
-
リソース・タイプの選択:このチュートリアルの「Exadataインフラストラクチャ」を選択します。
- OCIまたはOracle MulticloudのOracle Exadata Database Service on Dedicated InfrastructureのExadata Cloud Infrastructure。
- Oracle Exadata Database Service on Cloud@CustomerのExadataインフラストラクチャ。

-
Exadataインフラストラクチャ・コンパートメントの選択: Exadataインフラストラクチャは、別のコンパートメント(
eccw-infrastructure)にあります。 -
Exadataインフラストラクチャの選択:制御されるインフラストラクチャは
eccw-infrastructureです。 -
インフラストラクチャに対して制御するAPIを選択します。
たとえば:
- インフラストラクチャの削除を保護できます。
- 仮想マシン(VM)クラスタの場合、更新、削除、VMの追加/削除およびコンパートメントの変更を保護できます。
- VMクラスタの更新の場合、CPUコア数(自動スケーリング・ソフトウェアに影響)やSSH公開キーの変更など、様々な属性を特権として選択できます。
- 次のものも制御できます。
- データベース・ホームAPI(削除など)。
- 仮想マシンAPI(更新やコンソール接続の作成など)。
- VMクラスタ・ネットワークAPI(サイズ変更、更新および削除を含む)。
- コンテナ・データベースAPI。削除、Transparent Data Encryptionキー管理キー・ローテーション、更新およびアップグレードが含まれます。
- プラガブル・データベースAPI。プラガブル・データベースの起動/停止、リフレッシュ、更新、削除などのアクションがあります。この例では、CPUコア数(7a)およびCDBの削除(7b)の変更に関する制御を適用します。
ノート:割り当てられたコントロールは、初期コントロールの作成後に変更できます。ただし、変更にはOracle API Access Controlの承認プロセスも必要です。
-
「承認情報」で、承認情報として「IAMポリシーの使用」を選択します。これは、アイデンティティ・ドメインを使用してテナンシで操作する場合に必須です。
-
オプションで、特に機密性の高いシステムに対して2番目の承認を要求し、アクセス・リクエストを承認するために2つの個別のアイデンティティを要求できます。
-
通知トピックの選択:アクセス・リクエスト通知のOCI通知トピックを選択し、「作成」をクリックする必要があります。コントロールの作成後、オンラインになるには数分かかります。
次のイメージは、OCI通知トピックの作成、サブスクリプションの作成と構成を示しています。


ノート: OCI監査レコードは、リソースが存在するコンパートメントにリンクされます。したがって、このOracle API Access Controlを
ExaCCコンパートメントに作成すると、APIコントロールのライフサイクル管理に関連する監査レコードがそこで見つかります。eccw-infrastructureコンパートメントにあるExadataインフラストラクチャの更新では、その監査レコードがeccw-infrastructureコンパートメントに表示されます。
タスク4: API制御実施のデモンストレーション
APIによるシステムの制御方法を示すには、次のステップに従います。
-
infra-db-admin-userユーザーとしてOCIコンソールにログインします。 -
「Oracle Database Service on Cloud at Customer」を選択します。
-
仮想マシン・クラスタおよびExadataインフラストラクチャを選択します。
-
Oracle API Access Controlが有効になっている
eccw-cl3VMクラスタが表示されます。 -
メニューからVM当たりのECPU数を直接変更しようとすると、現在のリソースでは許可されないため操作が拒否されます。

-
同様に、データベースを終了しようとすると、操作は許可されません。
-
OCIコンソールから監査レコードを検証します。
-
「監視および管理」にナビゲートします。
-
「ロギング」を選択し、「監査」をクリックします。
-
ExaCCコンパートメントを選択します。 -
PUTや POSTなどのアクションや状態の変更を監査します。
eccw-infrastructureコンパートメントには、Oracle API Access Controlの承認チェックがリクエストに失敗したことを示す「Not Found (404)」エラーが表示されます。
-
タスク5: アクセス要求の作成および承認
-
OCIコンソールに移動し、Oracle Databaseに移動して、「APIアクセス制御」をクリックします。
-
「特権アクセス・リクエストの作成」をクリックして、CPUコア数を更新するリクエストを作成できます。
-
コンパートメント:
ExaCC「コンパートメント」を選択します。 -
チケット番号:チケットへの参照を追加します(これは自由形式テキストです)。
-
リソース・タイプ:リソース・タイプはVMクラスタです。
-
権限付き操作の選択: VMクラスタ
cpuCoreCountを更新するリクエスト。単一のアクセス・ウィンドウに必要な場合は、さらに操作を追加できます。
-
計画メンテナンスの将来の日付または即時アクセスをリクエストできます。
-
通知トピックの選択:通知するトピックを選択し、「作成」をクリックします。

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

自分で承認しようとすると、別のユーザーが承認する必要があることを示すエラーが表示されます。
-
-
ExaCC Approver承認者ユーザーとしてシステムにアクセスします。コンパートメント内のアクセス・リクエストを確認できます。
電子メール通知は、
ExaCC-API-Approver-grpのメンバーに送信されます。
-
要求された要求にアクセスできます。

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

-
アクセス・リクエストが承認されたら、VMクラスタ・リソースに戻り、VM当たりのECPU数を更新します。これで、VM当たりのECPU数の変更が許可されます。
タスク6: 承認済操作の監査
監査の観点から。
-
OCIコンソールに移動し、「監視および管理」に移動して、「監査」を選択します。
-
Oracle API Access Controlアクセス・リクエストが構成されているコンパートメントに移動します。「POST」および「PUT」を参照してください。
-
infra-db-admin-userユーザーがOracle API Access Controlアクセス・リクエストを作成したことがわかります。
-
自分で承認しようとすると、不良リクエスト(400)が表示されます。


-
ExaCC Approverがアクセス・リクエストを承認したことがわかります。
同様に、eccw-infrastructureコンパートメントを参照する場合は、承認後に発生したVMクラスタの更新を確認します。VMクラスタの更新の開始と、APIが送信されることを示すAPIアクセス制御チェックが承認されましたが表示されます。
タスク7: Oracle APIアクセス制御リクエストの取消し
Oracle API Access Controlリクエストは、リクエストを送信したユーザーまたは承認者のいずれかによって取り消すことができます。リクエストが取り消されると、アクションの実行は禁止されます。
eccw-infrastructureコンパートメントの監査の観点からは、PUTメソッドとPOSTメソッドを確認できます。承認後に許可されたVMクラスタ更新、およびアクセス・リクエストが承認されなかったために発生したVMクラスタ更新の失敗が表示されます。アクセス・リクエスト自体のライフサイクル管理を確認すると、リクエストがいつオープンされたか、自己承認の400エラー、および別のユーザーによる承認の成功を確認できます。


タスク8: コントロールの編集または削除
-
コントロールを削除しようとすると、ソフトウェアによってOracle API Access Controlリクエストがユーザーにかわって自動的に作成され、削除されます。

-
コントロールを削除する独自の処理を承認しようとすると、同じ強制ルールが適用されます(拒否されます)。

-
別のユーザー(たとえば、アクセス・リクエストを承認する権限を持つ別のテスト・ユーザー)がアクセス・リクエストを承認した場合、そのユーザーはリソースを削除または削除できます。
タスク9: コントロール削除の最終監査の完了
コントロール削除の監査の観点から。
-
infra-db-admin-userが特権APIコントロールを削除し、400エラーを受信しようとしたことを確認できます。 -
次に、権限付きAPIアクセス・リクエストを承認する別のユーザー
ExaCC Approverが表示され、200 (成功)ステータスになります。 -
最後に、
infra-db-admin-userによってdeleteコマンドが発行され、OK (202)ステータスの削除が成功します。

関連リンク
確認
-
作成者 - Filip Vercauteren (Exadata Cloud@Customerブラック・ベルト)
-
貢献者 - Matthieu Bordonne氏(マスター・プリンシパル・セールス・コンサルタント- EMEAソリューション・センター)、Zsolt Szokol氏(Exadata Cloud@Customer Black Belt)、Jeffrey Wright氏(特別製品マネージャー)
その他の学習リソース
docs.oracle.com/learnで他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスして、Oracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Use Oracle API Access Control with Oracle Exadata Database Service on Cloud@Customer and Oracle Exadata Database Service on Dedicated Infrastructure
G39126-01
Copyright ©2025, Oracle and/or its affiliates.