機械翻訳について

Autonomous Database上のSaaSに対する緊急アクセス

Autonomous Databaseは、SaaSプロバイダの緊急アクセスをサポートします。 緊急アクセスでは、SaaSのお客様が明示的に認可されている場合、SaaSの運用チームが顧客のデータベースにアクセスして、クリティカルまたは緊急の操作を実行できます。

Autonomous Databaseでの緊急アクセスについて

Autonomous Databaseに対する緊急アクセスでは、SaaSプロバイダがサポートされます。SaaS組織は、SaaS操作チーム・メンバーが顧客によって明示的に認可されたときに、顧客のデータベースにアクセスすることを許可するプロシージャを定義します。

Example.comを使用したBreak Glassのサンプル・ユースケース

製品にAutonomous Databaseを使用しているexample.comという名前のSaaSプロバイダがあるとします。 通常の操作では、SaaSプロバイダexample.comは、SaaS顧客ごとにAutonomous Databaseインスタンスを作成します。 このモデルでは、SaaS顧客(たとえば、Scottという名前の顧客)は、example.com製品のエンド・ユーザー(およびデータがAutonomous Databaseインスタンスに格納されるSaaS顧客)です。 プロバイダexample.comは、すべてのScottのデータを作成してAutonomous Databaseインスタンスに格納し、顧客Scottはデータベースに直接アクセスできません。

このSaaSモデルは次のように要約されます:

  • Autonomous Databaseインスタンスを作成するOracle顧客は、SaaS組織(example.com)です。

  • SaaSプロバイダはexample.comです。

  • SaaS顧客はScottです。

アプリケーション・パフォーマンスに関して問題が発生した場合、またはSaaS運用チームによるトラブルシューティングを必要とするその他の重要な問題がある場合、顧客Scottは、運用チームがトラブルシューティングのためにScottのデータベースにアクセスできるように、アクセス権を付与できます。 SaaS操作チームは、SaaS定義の承認プロセス(つまり、example.comが顧客Scottから権限を受け取った後)を介して、ScottのAutonomous Databaseインスタンスへの直接アクセスを確立する権限のみを持ちます。

Break GlassおよびAutonomous Database SAAS_ADMINユーザー

SaaSが顧客のAutonomous Databaseインスタンスで緊急アクセスAPIを呼び出すと、SAAS_ADMINユーザーが有効になります。 その後、SaaS操作チームは、指定したロール・セットを持つSAAS_ADMINユーザーを使用して、限られた時間インスタンスにアクセスできます。

デフォルトでは、SAAS_ADMINユーザーはロックされています。 SaaS組織で定義された承認プロセスを使用すると、SAAS_ADMINユーザーを有効にして、Autonomous Databaseインスタンスへのアクセスを許可できます。 ブレーク・ガラス名は、アラームをアクティブ化する前に、ユーザーが小さなガラス・ウィンドウ・ペインを壊す必要がある手動の火災アラームから来ています(アラームが誤ってトリガーされないようにするには、ガラスを壊す必要があります)。 同様に、SAAS_ADMINユーザーは通常、データベースにアクセスせず、アクセスには事前定義済の承認プロセスが必要です。

付与されるアクセスのタイプに応じて、SAAS_ADMINユーザーはデータベースにアクセスして問題を調査したり、緊急イベントやその他の異常なイベントに関連する変更を行うことができます。 緊急アクセスが期限切れになった場合、またはアクセスが明示的に無効になっている場合は、SAAS_ADMINアカウントのパスワード/シークレットがただちにローテーションされ、SAAS_ADMINユーザー・アクセスが取り消されます。 SAAS_ADMINユーザーが実行するアクションはすべて監査されます。

SAAS_ADMINユーザーは、次の3つのアクセス・タイプのいずれかで有効です:

  • read-only: インスタンスへの読取り専用アクセスを提供します。 これはデフォルトのアクセス・タイプであり、デフォルトのロールが含まれています: CREATE SESSION, SELECT ANY TABLE, SELECT ANY DICTIONARY, SELECT_CATALOG_ROLE.
  • read/write: インスタンスへの読取り/書込みアクセスを提供します。 このタイプのデフォルトのロールは次のとおりです: CREATE SESSION, SELECT ANY TABLE, SELECT ANY DICTIONARY, SELECT_CATALOG_ROLE, INSERT ANY TABLEおよびUPDATE ANY TABLE
  • admin: インスタンスへの管理アクセスを提供します。 このタイプのデフォルトのロールは次のとおりです: CREATE SESSIONおよびPDB_DBA

緊急アクセスAPI

SAAS_ADMINユーザーは、コマンドライン・インタフェース(CLI)またはAutonomous Database REST APIを使用してのみ有効化および無効化されます。

REST APIの使用およびリクエストの署名の詳細は、REST APIsおよび「セキュリティ資格証明」を参照してください。

SDKについては、ソフトウェア開発キットとコマンドライン・インタフェースに関する項を参照してください。

次のAPIを緊急アクセス操作に使用します:

緊急アクセスの有効化

SAAS_ADMINを使用してデータベースにアクセスする認可が組織で定義されたプロシージャによって承認された後、Autonomous Database CLIまたはAPIを使用してSAAS_ADMINユーザーを有効にします。

SAAS_ADMINユーザーを有効にするには、自律型データベースの管理権限が必要です。

SAAS_ADMINユーザーがデータベースにアクセスできるようにする前に、必要なパラメータの値を取得する必要があります。

パラメータ 説明
isEnabled

ブール値を指定します。 有効にするには、TRUEを使用します。

password

SAAS_ADMINユーザーのパスワードを指定します。 secretIdを指定する場合、passwordは指定できません。

パラメータとして指定するパスワードは、Autonomous Databaseパスワード要件に準拠している必要があります。 詳細については、「Autonomous Databaseのユーザー・パスワードについて」を参照してください。

secretId

シークレットのOracle Cloud Infrastructure VaultシークレットOCIDの値を指定します。 passwordを指定する場合、secretIdは指定できません。 詳細については、「Vaultの概要」を参照してください。

Oracle Cloud Infrastructure Vaultでシークレットとして指定したパスワードは、Autonomous Databaseパスワード要件に準拠している必要があります。 詳細については、「Autonomous Databaseのユーザー・パスワードについて」を参照してください。

secretVersionNumber

secretIdで指定されたシークレットのバージョン番号を指定します。 このパラメータはオプションです。 デフォルトでは、最新のシークレット・バージョンが使用されます。 このパラメータは、secretIdも指定されている場合にのみ適用されます。

accessType

1つ: read-onlyread/write、またはadmin デフォルトはread-onlyです。

duration

1時間から24時間の範囲で期間を時間単位で指定します。 デフォルトは1時間です。

Autonomous DatabaseインスタンスでSAAS_ADMINユーザーを有効にするには、管理者が記述したOCI Identity and Access Managementポリシー・ステートメントを使用して、必要なアクセスを定義する必要があります。

次のポリシーが必要です:

Allow group Group_Name to manage autonomous-databases in compartment Compartment_Name

詳細については、「Autonomous DatabaseのIAMポリシー」「ポリシーの開始」を参照してください。

トピック

パスワードを使用した緊急アクセスの有効化

Autonomous Database CLIまたはAPIを使用して、パスワードでSAAS_ADMINを有効にします。

  1. APIまたはCLIを使用して、パスワードの値を指定し、passwordSAAS_ADMINを有効にします。

    たとえば:

    POST https://dbaas-api.svc.ad3.us-phoenix-1/20160918/autonomousDatabases/ocid1.autonomousdatabase.oc1.phx.uniqueId/actions/configureSaasAdminUser
    
    {  "isEnabled": true,
       "password": password,
       "accessType": "READ_ONLY",
       "duration": 17
    } 

    詳細については、configureSaasAdminUserを参照してください。

  2. SAAS_ADMINユーザーが有効になっていることを確認します。
    POST https://dbaas-api.svc.ad3.us-phoenix-1/20160918/autonomousDatabases/ocid1.autonomousdatabase.oc1.phx.uniqueId/actions/getSaasAdminUserStatus
    
    {    "isEnabled": true,
         "accessType": "READ_ONLY",
         "timeSaasAdminUserEnabled": "2023-11-23T01:59:07.032Z"
    }
    

    このレスポンスは、SAAS_ADMINユーザーが有効で、アクセス・タイプがREAD_ONLYであることを示しています。 タイムスタンプは、SAAS_ADMINが有効であった時間を示します(時間はUTCです)。

    詳細については、getSaasAdminUserStatusを参照してください。

Vaultシークレットを使用した緊急アクセスの有効化

シークレットがOracle Cloud Infrastructure Vaultに格納されている場合、Autonomous Database CLIまたはAPIを使用して、secretIdSAAS_ADMINを有効にします。

secretIdを指定すると、Autonomous DatabaseOracle Cloud Infrastructure Vaultのシークレットに到達するためには、次の条件が適用される必要があります:

  • シークレットはcurrentまたはprevious状態である必要があります。

  • 特定のコンパートメント内の特定のシークレットへのREADアクセスを許可する適切なユーザー・グループ・ポリシーが必要です。 たとえば:

    Allow userGroup1 to read secret-bundles in compartment training

Oracle Cloud Infrastructure Vaultに格納されているシークレットを含むsecretIdSAAS_ADMINを有効にするには:

  1. APIまたはCLIを使用して、secretIdのOCID値を指定します。

    たとえば:

    POST https://dbaas-api.svc.ad3.us-phoenix-1/20160918/autonomousDatabases/ocid1.autonomousdatabase.oc1.phx.uniqueId/actions/configureSaasAdminUser
    
    {  "isEnabled": true,
       "secretId": "ocid1.key.co1.ap-mumbai-1.example..aaaaaaaauq5ok5nq3bf2vwetkpqsoa",
       "accessType": "READ_ONLY",
       "duration": 20
    }

    シークレット・バージョンの指定はオプションです。 secretVersionNumberを使用してAPIコールでシークレット・バージョンを指定すると、指定したシークレット・バージョンが使用されます。 シークレット・バージョンを指定しない場合、コールは最新のシークレット・バージョンを使用します。

    詳細については、configureSaasAdminUserを参照してください。

  2. SAAS_ADMINユーザーが有効になっていることを確認します。

    たとえば:

    POST https://dbaas-api.svc.ad3.us-phoenix-1/20160918/autonomousDatabases/ocid1.autonomousdatabase.oc1.phx.uniqueId/actions/getSaasAdminUserStatus
    
    {    "isEnabled": true,
         "accessType": "READ_ONLY",
         "timeSaasAdminUserEnabled": "2023-11-23T01:59:07.032Z"
    }
    

    このレスポンスは、SAAS_ADMINユーザーが有効で、アクセス・タイプがREAD_ONLYであることを示しています。 タイムスタンプには、ユーザーが有効になった時間が表示されます(時間はUTCです)。

    詳細については、getSaasAdminUserStatusを参照してください。

緊急アクセスの無効化

Autonomous Database CLIまたはAPIを使用して、SAAS_ADMINユーザー・アクセスを無効にします。

デフォルトでは、SAAS_ADMINが有効なときにdurationパラメータが設定されていない場合、アクセスは1時間後に期限切れになります。 SAAS_ADMINが有効なときにdurationパラメータが設定されている場合、指定されたduration時間後にアクセスが期限切れになります。 デフォルトの有効期限または指定した期間に基づいてアクセスを期限切れにするかわりに、configureSaasAdminUserを使用してSAAS_ADMINユーザー・アクセスを明示的に無効にできます。

Autonomous DatabaseインスタンスでSAAS_ADMINユーザーを無効にするには、管理者が記述したOCI Identity and Access Managementポリシー・ステートメントを使用して、必要なアクセスを定義する必要があります。

次のポリシーが必要です:

Allow group Group_Name to manage autonomous-databases in compartment Compartment_Name

詳細については、「Autonomous DatabaseのIAMポリシー」「ポリシーの開始」を参照してください。

  1. SAAS_ADMINユーザー・アクセスを無効にします。

    たとえば:

    POST https://dbaas-api.svc.ad3.us-phoenix-1/20160918/autonomousDatabases/ocid1.autonomousdatabase.oc1.phx.uniqueId/actions/configureSaasAdminUser
    {
      "isEnabled": false
    }

    詳細は、configureSaasAdminUser APIを参照してください。

  2. SAAS_ADMINユーザーが無効であることを確認します。

    たとえば:

    POST https://dbaas-api.svc.ad3.us-phoenix-1/20160918/autonomousDatabases/ocid1.autonomousdatabase.oc1.phx.uniqueId/actions/getSaasAdminUserStatus
    
    {    "isEnabled": false
    }
    

    このレスポンスは、SAAS_ADMINユーザーが無効であることを示します。

    詳細については、getSaasAdminUserStatusを参照してください。

SAAS_ADMINユーザーを無効にすると、データベースへのアクセスが取り消され、Autonomous Databaseによって、データベースへのアクセスに使用されたパスワードまたはシークレットがローテーションされます。

緊急アクセスに関するノート

緊急アクセス用のノートを提供します。

緊急アクセスのためのノート:

  • SAAS_ADMINを有効にするときに指定したdurationは、指定した時間が期限切れになるまで、またはSAAS_ADMINユーザーを明示的に無効にするまで適用されます。 この値は、SAAS_ADMINユーザーを有効にした後は変更できません。

  • Always Free Autonomous Databaseは、SAAS_ADMINユーザーによるアクセスをサポートしていません。

  • DBA_CLOUD_CONFIGビューは、SAAS_ADMINユーザーに関する情報を提供します。

    たとえば、次の問合せを使用して、SAAS_ADMINユーザーのステータスに関する情報を取得します:

    SELECT PARAM_VALUE FROM DBA_CLOUD_CONFIG WHERE
                 param_name ='saas_admin_access' order by 1;

    auth_revokerの値が存在する場合は、アクセスが取り消され、アクセスが取り消されたユーザーが表示されます。

    auth_endは、planned時間を示します。 認可が取り消された後、SAAS_ADMINユーザーが有効化されたときに指定されたdurationの終了時に認可が期限切れになった場合、planned時間はactual時間と同じになります。 plannedactualの時間が異なる場合、これは、durationが期限切れになる前にSAAS_ADMIN認可が取り消されたことを意味します。

    たとえば、SAAS_ADMINが2時間有効で、API configureSaasAdminUserをコールしてSAAS_ADMINユーザーを無効にすることで1時間のアクセスが無効になった場合、auth_end plannedactualの時間は異なります。

    この問合せに行が表示されない場合、SAAS_ADMINユーザーは存在しません。 作成および削除されたか、作成されなかった可能性があります。