Autonomous DatabaseでのSaaSの緊急アクセス
Autonomous Databaseでは、SaaSプロバイダの緊急アクセスがサポートされています。緊急アクセスにより、SaaS操作チームは、SaaS顧客によって明示的に認可されている場合、お客様のデータベースにアクセスして、クリティカルまたは緊急の操作を実行できます。
- Autonomous Databaseでの緊急アクセスについて
Autonomous Databaseでの緊急アクセスでは、SaaSプロバイダがサポートされます。SaaS組織は、顧客が明示的に認可されたときに、SaaS操作チーム・メンバーが顧客のデータベースにアクセスできるようにするプロシージャを定義します。 - 緊急アクセスの有効化
SAAS_ADMIN
を使用してデータベースにアクセスする権限が組織によって定義されたプロシージャによって承認されたら、Autonomous Database CLIまたはAPIを使用してSAAS_ADMIN
ユーザーを有効にします。 - 緊急アクセスの無効化
Autonomous Database CLIまたはAPIを使用して、SAAS_ADMIN
ユーザー・アクセスを無効にします。 - 緊急アクセスに関するノート
緊急アクセスに関するノートを提供します。
親トピック: セキュリティ
Autonomous DatabaseでのBreak Glass Accessについて
Autonomous Databaseでの緊急アクセスでは、SaaSプロバイダがサポートされます。SaaS組織は、顧客が明示的に認可されたときに、SaaSオペレーション・チーム・メンバーが顧客のデータベースにアクセスできるようにするプロシージャを定義します。
Example.comを使用したBreak Glassサンプルのユースケース
製品にAutonomous Databaseを使用しているexample.com
という名前のSaaSプロバイダについて考えてみます。通常の操作では、SaaSプロバイダexample.com
は、SaaS顧客ごとにAutonomous Databaseインスタンスを作成します。このモデルでは、たとえばScottという名前の顧客であるSaaS顧客は、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 APIおよびセキュリティ資格証明を参照してください。
SDKについては、ソフトウェア開発キットとコマンドライン・インタフェースを参照してください。
Break Glass操作には、次のAPIを使用します。
-
SAAS_ADMIN
を有効または無効にするには、configureSaasAdminUserを使用します。 -
SAAS_ADMIN
ユーザーが有効になっているかどうかを確認するには、getSaasAdminUserStatusを使用します。
緊急アクセスの有効化
SAAS_ADMIN
を使用してデータベースにアクセスする権限が組織によって定義されたプロシージャによって承認されたら、Autonomous Database CLIまたはAPIを使用してSAAS_ADMIN
ユーザーを有効にします。
SAAS_ADMIN
ユーザーを有効にするには、自律型データベースの管理権限が必要です。
SAAS_ADMIN
ユーザーがデータベースにアクセスできるようにする前に、必要なパラメータの値を取得する必要があります。
パラメータ | 説明 |
---|---|
isEnabled |
ブール値を指定します。有効にするには |
password |
パラメータとして指定するパスワードは、Autonomous Databaseのパスワード要件に準拠している必要があります。詳細については、About User Passwords on Autonomous Databaseを参照してください。 |
secretId |
シークレットのOracle Cloud Infrastructure VaultシークレットOCIDの値を指定します。 Oracle Cloud Infrastructure Vaultでシークレットとして指定するパスワードは、Autonomous Databaseのパスワード要件に準拠している必要があります。詳細については、About User Passwords on Autonomous Databaseを参照してください。 |
secretVersionNumber |
|
accessType |
|
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
を有効にします。 - Vaultシークレットを使用した緊急アクセスの有効化
シークレットがOracle Cloud Infrastructure Vaultに格納されている場合、Autonomous DatabaseのCLIまたはAPIを使用してsecretId
でSAAS_ADMIN
を有効にします。
Vaultシークレットを使用したBreak Glassアクセスの有効化
シークレットが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によって、データベースへのアクセスに使用されたパスワードまたはシークレットがローテーションされます。
「Break Glass Access」
緊急アクセス用のノートを提供します。
割れ目ガラス アクセスのためのノート:
-
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_end
planned
とactual
の時間は異なります。この問合せで行が表示されない場合、
SAAS_ADMIN
ユーザーは存在しません。作成されて削除されたか、作成されなかった可能性があります。