Notfallzugriff für SaaS in Autonomous Database

Autonomous Database unterstützt Break Glass-Zugriff für SaaS-Provider. Durch Break Glass-Zugriff kann ein SaaS-Operationsteam, wenn es explizit von einem SaaS-Kunden autorisiert wurde, auf die Datenbank eines Kunden zugreifen, um kritische oder Notfallvorgänge auszuführen.

Break Glass-Zugriff auf Autonomous Database

Break Glass-Zugriff auf Autonomous Database unterstützt SaaS-Provider, bei denen die Organisation SaaS Prozeduren definiert, mit denen ein Mitglied des SaaS-Operationsteams auf die Datenbank eines Kunden zugreifen kann, wenn er explizit vom Kunden autorisiert wurde.

Break Glass-Beispielanwendungsfall mit Example.com

Betrachten Sie einen SaaS-Provider namens example.com, der Autonomous Database für sein Produkt verwendet. In den üblichen Vorgängen erstellt der SaaS-Provider example.com eine Autonomous Database-Instanz für jeden SaaS-Kunden. In diesem Modell ist ein SaaS-Kunde, z.B. ein Kunde namens Scott, ein Endbenutzer für das Produkt example.com (und ein SaaS-Kunde, dessen Daten in einer Autonomous Database-Instanz gespeichert sind). Der Provider example.com erstellt und speichert alle Scott-Daten in einer Autonomous Database-Instanz, und der Kunde Scott hat keinen direkten Zugriff auf die Datenbank.

Dieses SaaS-Modell wird wie folgt zusammengefasst:

  • Der Oracle-Kunde, der Autonomous Database-Instanzen erstellt, ist die Organisation SaaS (example.com).

  • Der SaaS-Provider ist example.com.

  • Der Kunde von SaaS ist Scott.

Wenn und wenn etwas in Bezug auf die Anwendungsperformance schief geht oder ein anderes kritisches Problem vorliegt, das eine Fehlerbehebung durch das SaaS-Operationsteam erfordert, kann der Kunde Scott Zugriff gewähren, damit das Operations-Team zur Fehlerbehebung auf die Datenbank von Scott zugreifen kann. Das Operations-Team SaaS ist nur autorisiert, einen direkten Zugriff auf die Autonomous Database-Instanz von Scott über einen von SaaS definierten Genehmigungsprozess einzurichten (d.h., nachdem example.com die Genehmigung von seinem Kunden Scott erhalten hat).

Break Glass und der Autonomous Database SAAS_ADMIN-Benutzer

Wenn eine SaaS die Break Glass-API in der Autonomous Database-Instanz eines Kunden aufruft, aktiviert dies den Benutzer SAAS_ADMIN. Das SaaS-Vorgangsteam kann dann mit dem Benutzer SAAS_ADMIN mit einer bestimmten Gruppe von Rollen für eine begrenzte Zeit auf die Instanz zugreifen.

Standardmäßig ist der Benutzer SAAS_ADMIN gesperrt. Mit einem von der Organisation SaaS definierten Genehmigungsprozess kann der Benutzer SAAS_ADMIN aktiviert werden, um den Zugriff auf eine Autonomous Database-Instanz zuzulassen. Der Break Glass-Name stammt von manuellen Feueralarmen, bei denen die Benutzer eine kleine Glasfensterscheibe vor dem Aktivieren des Alarms brechen müssen (das Glas muss gebrochen sein, um zu verhindern, dass der Alarm aus Versehen ausgelöst wird). Ebenso greift der Benutzer SAAS_ADMIN normalerweise nicht auf die Datenbank zu, und für den Zugriff ist ein vordefinierter Genehmigungsprozess erforderlich.

Je nach erteiltem Zugriffstyp kann der Benutzer SAAS_ADMIN bei Aktivierung auf die Datenbank zugreifen, um Probleme zu untersuchen oder Änderungen vorzunehmen, die mit einem Notfall oder einem anderen ungewöhnlichen Ereignis verknüpft sind. Wenn der Break Glass-Zugriff abläuft oder der Zugriff explizit deaktiviert ist, werden das Kennwort/die Secrets des Accounts SAAS_ADMIN sofort rotiert und der Benutzerzugriff SAAS_ADMIN entzogen. Alle Aktionen, die der Benutzer SAAS_ADMIN ausführt, werden auditiert.

Der Benutzer SAAS_ADMIN ist mit einem von drei Zugriffstypen aktiviert:

  • read-only: Bietet schreibgeschützten Zugriff auf die Instanz. Dies ist der Standardzugriffstyp und umfasst Standardrollen: CREATE SESSION, SELECT ANY TABLE, SELECT ANY DICTIONARY, SELECT_CATALOG_ROLE.
  • read/write: Bietet Lese-/Schreibzugriff auf die Instanz. Die Standardrollen für diesen Typ sind: CREATE SESSION, SELECT ANY TABLE, SELECT ANY DICTIONARY, SELECT_CATALOG_ROLE, INSERT ANY TABLE und UPDATE ANY TABLE.
  • admin: Bietet Admin-Zugriff auf die Instanz. Die Standardrollen für diesen Typ sind: CREATE SESSION und PDB_DBA.

Break Glass-API

Der Benutzer SAAS_ADMIN wird nur über die Befehlszeilenschnittstelle (CLI) oder die REST-APIs von Autonomous Database aktiviert und deaktiviert.

Informationen zur Verwendung der REST-APIs und Signieranforderungen finden Sie unter REST-APIs und Sicherheitszugangsdaten.

Informationen zu SDKs finden Sie unter Software Development Kits und Befehlszeilenschnittstelle (CLI).

Verwenden Sie die folgenden APIs für Break Glass-Vorgänge:

Break Glass-Zugriff aktivieren

Nachdem die Autorisierung für den Zugriff auf eine Datenbank mit SAAS_ADMIN über von Ihrer Organisation definierte Prozeduren genehmigt wurde, aktivieren Sie den SAAS_ADMIN-Benutzer mit der Autonomous Database-CLI oder -API.

Sie benötigen die Berechtigung "Autonome Datenbank verwalten", um den Benutzer SAAS_ADMIN zu aktivieren.

Bevor Sie den SAAS_ADMIN-Benutzer für den Zugriff auf eine Datenbank aktivieren, müssen Sie Werte für die erforderlichen Parameter abrufen.

Parameter Beschreibung
isEnabled

Gibt einen booleschen Wert an. Verwenden Sie TRUE zum Aktivieren.

password

Gibt das Kennwort für den Benutzer SAAS_ADMIN an. Wenn Sie secretId angeben, können Sie password nicht angeben.

Das Kennwort, das Sie als Parameter angeben, muss den Anforderungen des Autonomous Database-Kennworts entsprechen. Weitere Informationen finden Sie unter Info über Benutzerkennwörter in Autonomous Database.

secretId

Gibt den Wert der Oracle Cloud Infrastructure Vault Secret-OCID eines Secrets an. Wenn Sie password angeben, können Sie secretId nicht angeben. Weitere Informationen finden Sie unter Überblick über Vault.

Das Kennwort, das Sie als Secret in Oracle Cloud Infrastructure Vault angeben, muss den Anforderungen des Autonomous Database-Kennworts entsprechen. Weitere Informationen finden Sie unter Info über Benutzerkennwörter in Autonomous Database.

secretVersionNumber

Gibt die Versionsnummer des Secrets an, das mit secretId angegeben ist. Dieser Parameter ist optional. Standardmäßig wird die neueste Secret-Version verwendet. Dieser Parameter gilt nur, wenn auch secretId angegeben ist.

accessType

Einer der folgenden Werte: read-only, read/write oder admin. Der Standardwert ist read-only.

duration

Gibt die Dauer in Stunden im Bereich von 1 Stunde bis 24 Stunden an. Der Standardwert beträgt 1 Stunde.

Um den SAAS_ADMIN-Benutzer in einer Autonomous Database-Instanz zu aktivieren, müssen Sie den erforderlichen Zugriff mit OCI Identity and Access Management-Policy-Anweisungen definieren, die von einem Administrator geschrieben wurden.

Die folgende Policy ist erforderlich:

Allow group Group_Name to manage autonomous-databases in compartment Compartment_Name

Weitere Informationen finden Sie unter IAM-Policys für Autonomous Database und Erste Schritte mit Policys.

Themen

Break Glass-Zugriff mit einem Kennwort aktivieren

Mit der Autonomous Database-CLI oder -API können Sie SAAS_ADMIN mit einem Kennwort aktivieren.

  1. Verwenden Sie die API oder die CLI, und geben Sie einen Wert für das Kennwort an, um SAAS_ADMIN mit einem password zu aktivieren.

    Beispiel:

    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
    } 

    Weitere Informationen dazu finden Sie in configureSaasAdminUser.

  2. Prüfen Sie, ob der Benutzer SAAS_ADMIN aktiviert ist.
    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"
    }
    

    Diese Antwort zeigt, dass der Benutzer SAAS_ADMIN aktiviert ist und der Zugriffstyp READ_ONLY lautet. Der Zeitstempel zeigt die Zeit an, zu der SAAS_ADMIN aktiviert wurde (die Zeit ist in UTC).

    Weitere Informationen dazu finden Sie in getSaasAdminUserStatus.

Break Glass-Zugriff mit einem Vault Secret aktivieren

Verwenden Sie die Autonomous Database-CLI oder -API, um SAAS_ADMIN mit einer secretId zu aktivieren, wenn das Secret in Oracle Cloud Infrastructure Vault gespeichert ist.

Wenn Sie eine secretId angeben, müssen die folgenden Bedingungen gelten, damit Autonomous Database das Secret in Oracle Cloud Infrastructure Vault erreichen kann:

  • Das Secret muss den Status current oder previous aufweisen.

  • Sie müssen über die richtige Benutzergruppen-Policy verfügen, die READ Zugriff auf das bestimmte Secret in einem bestimmten Compartment zulässt. Beispiel:

    Allow userGroup1 to read secret-bundles in compartment training

So aktivieren Sie SAAS_ADMIN mit einer secretId mit dem Secret, das in Oracle Cloud Infrastructure Vault gespeichert ist:

  1. Verwenden Sie die API oder die CLI, und geben Sie einen OCID-Wert für die secretId an.

    Beispiel:

    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
    }

    Die Angabe einer Secret-Version ist optional. Wenn Sie im API-Aufruf eine Secret-Version mit secretVersionNumber angeben, wird die angegebene Secret-Version verwendet. Wenn Sie keine Secret-Version angeben, verwendet der Aufruf die neueste Secret-Version.

    Weitere Informationen dazu finden Sie in configureSaasAdminUser.

  2. Prüfen Sie, ob der Benutzer SAAS_ADMIN aktiviert ist.

    Beispiel:

    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"
    }
    

    Diese Antwort zeigt, dass der Benutzer SAAS_ADMIN aktiviert ist und der Zugriffstyp READ_ONLY lautet. Der Zeitstempel zeigt die Zeit an, zu der der Benutzer aktiviert wurde (die Zeit ist in UTC).

    Weitere Informationen dazu finden Sie in getSaasAdminUserStatus.

Break Glass-Zugriff deaktivieren

Verwenden Sie die Autonomous Database-CLI oder -API, um den SAAS_ADMIN-Benutzerzugriff zu deaktivieren.

Standardmäßig läuft der Zugriff nach einer Stunde ab, wenn der Parameter duration nicht festgelegt ist, wenn SAAS_ADMIN aktiviert ist. Wenn der Parameter duration festgelegt ist, wenn SAAS_ADMIN aktiviert ist, läuft der Zugriff nach der angegebenen duration-Anzahl an Stunden ab. Alternativ dazu können Sie den Zugriff basierend auf der angegebenen Standardablaufzeit oder der angegebenen Dauer ablaufen lassen. Mit configureSaasAdminUser können Sie den SAAS_ADMIN-Benutzerzugriff explizit deaktivieren.

Um den SAAS_ADMIN-Benutzer in einer Autonomous Database-Instanz zu deaktivieren, müssen Sie den erforderlichen Zugriff mit OCI Identity and Access Management-Policy-Anweisungen definieren, die von einem Administrator geschrieben wurden.

Die folgende Policy ist erforderlich:

Allow group Group_Name to manage autonomous-databases in compartment Compartment_Name

Weitere Informationen finden Sie unter IAM-Policys für Autonomous Database und Erste Schritte mit Policys.

  1. Deaktivieren Sie den SAAS_ADMIN-Benutzerzugriff.

    Beispiel:

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

    Weitere Informationen finden Sie in der API configureSaasAdminUser.

  2. Stellen Sie sicher, dass der Benutzer SAAS_ADMIN deaktiviert ist.

    Beispiel:

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

    Diese Antwort gibt an, dass der Benutzer SAAS_ADMIN deaktiviert ist.

    Weitere Informationen dazu finden Sie in getSaasAdminUserStatus.

Wenn Sie den Benutzer SAAS_ADMIN deaktivieren, wird der Zugriff auf die Datenbank entzogen, und Autonomous Database rotiert das Kennwort oder das Secret, das für den Zugriff auf die Datenbank verwendet wurde.

Hinweise für Break Glass-Zugriff

Enthält Notizen für den Break Glass-Zugriff.

Hinweise zum Break Glass Access:

  • Die duration, die Sie angeben, wenn Sie SAAS_ADMIN aktivieren, gilt entweder bis zum Ablauf der angegebenen Zeit oder bis Sie den Benutzer SAAS_ADMIN explizit deaktivieren. Sie können diesen Wert nicht ändern, nachdem Sie den Benutzer SAAS_ADMIN aktiviert haben.

  • Autonomous Database vom Typ "Immer kostenlos" unterstützt den Zugriff mit dem Benutzer SAAS_ADMIN nicht.

  • Die Ansicht DBA_CLOUD_CONFIG enthält Informationen zum Benutzer SAAS_ADMIN.

    Beispiel: Verwenden Sie die folgende Abfrage, um Informationen zum Status für den Benutzer SAAS_ADMIN abzurufen:

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

    Das Vorhandensein eines Wertes für auth_revoker bedeutet, dass der Zugriff widerrufen wurde, und zeigt den Benutzer an, der den Zugriff widerrufen hat.

    Die auth_end zeigt eine planned-Zeit an. Wenn nach dem Widerruf der Autorisierung die Autorisierung zum Zeitpunkt des Ablaufs der duration abgelaufen ist, der angegeben wurde, als der SAAS_ADMIN-Benutzer aktiviert wurde, entspricht die planned-Zeit der actual-Zeit. Wenn die Zeit für planned und actual unterschiedlich ist, bedeutet dies, dass die SAAS_ADMIN-Autorisierung widerrufen wurde, bevor die Zeit für duration abgelaufen ist.

    Beispiel: Wenn SAAS_ADMIN mit einer Dauer von 2 Stunden aktiviert ist und der Zugriff nach 1 Stunde deaktiviert wird, indem die API configureSaasAdminUser aufgerufen wird, um den Benutzer SAAS_ADMIN zu deaktivieren, sind die Zeiten auth_end planned und actual unterschiedlich.

    Wenn diese Abfrage keine Zeilen anzeigt, ist der Benutzer SAAS_ADMIN nicht vorhanden. Es wurde erstellt und gelöscht, oder es wurde nie erstellt.