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を有効または無効にするには、configureSaasAdminUserを使用します。 -
SAAS_ADMINユーザーが有効かどうかを確認するには、getSaasAdminUserStatusを使用します。
緊急アクセスの有効化
SAAS_ADMINを使用してデータベースにアクセスする認可が組織で定義されたプロシージャによって承認された後、Autonomous Database CLIまたはAPIを使用してSAAS_ADMINユーザーを有効にします。
SAAS_ADMINユーザーを有効にするには、自律型データベースの管理権限が必要です。
SAAS_ADMINユーザーがデータベースにアクセスできるようにする前に、必要なパラメータの値を取得する必要があります。
| パラメータ | 説明 |
|---|---|
isEnabled |
ブール値を指定します。 有効にするには、 |
password |
パラメータとして指定するパスワードは、Autonomous Databaseパスワード要件に準拠している必要があります。 詳細については、「Autonomous Databaseのユーザー・パスワードについて」を参照してください。 |
secretId |
シークレットのOracle Cloud Infrastructure VaultシークレットOCIDの値を指定します。 Oracle Cloud Infrastructure Vaultでシークレットとして指定したパスワードは、Autonomous Databaseパスワード要件に準拠している必要があります。 詳細については、「Autonomous Databaseのユーザー・パスワードについて」を参照してください。 |
secretVersionNumber |
|
accessType |
1つ: |
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ポリシー」と「ポリシーの開始」を参照してください。
トピック
Vaultシークレットを使用した緊急アクセスの有効化
シークレットがOracle Cloud Infrastructure Vaultに格納されている場合、Autonomous Database CLIまたはAPIを使用して、secretIdでSAAS_ADMINを有効にします。
secretIdを指定すると、Autonomous DatabaseがOracle Cloud Infrastructure Vaultのシークレットに到達するためには、次の条件が適用される必要があります:
-
シークレットは
currentまたはprevious状態である必要があります。 -
特定のコンパートメント内の特定のシークレットへの
READアクセスを許可する適切なユーザー・グループ・ポリシーが必要です。 たとえば:Allow userGroup1 to read secret-bundles in compartment training
Oracle Cloud Infrastructure Vaultに格納されているシークレットを含むsecretIdでSAAS_ADMINを有効にするには:
緊急アクセスの無効化
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ポリシー」と「ポリシーの開始」を参照してください。
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時間と同じになります。plannedとactualの時間が異なる場合、これは、durationが期限切れになる前にSAAS_ADMIN認可が取り消されたことを意味します。たとえば、
SAAS_ADMINが2時間有効で、API configureSaasAdminUserをコールしてSAAS_ADMINユーザーを無効にすることで1時間のアクセスが無効になった場合、auth_endplannedとactualの時間は異なります。この問合せに行が表示されない場合、
SAAS_ADMINユーザーは存在しません。 作成および削除されたか、作成されなかった可能性があります。