Break Glass-Zugriff für SaaS in Autonomous Database

Autonomous Database unterstützt Break Glass-Zugriff für SaaS-Provider. Mit Break Glass-Zugriff kann ein SaaS-Betriebsteam, 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 in 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 es explizit vom Kunden autorisiert wurde.

Anwendungsfall für Break Glass-Beispiel mit Example.com

Betrachten Sie einen SaaS-Provider namens example.com, der Autonomous Database für sein Produkt verwendet. In ü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 Provider SaaS lautet example.com.

  • Der Kunde SaaS ist Scott.

Wenn in Bezug auf die Anwendungsperformance etwas schief geht oder ein anderes kritisches Problem auftritt, für das die Fehlerbehebung durch das Operations-Team SaaS erforderlich ist, kann der Kunde Scott Zugriff erteilen, damit das Operations-Team zur Fehlerbehebung auf die Datenbank von Scott zugreifen kann. Das Operations-Team SaaS ist nur autorisiert, direkten Zugriff auf die Autonomous Database-Instanz von Scott über einen definierten Genehmigungsprozess von SaaS einzurichten (d.h. nachdem example.com die Berechtigung von seinem Kunden Scott erhalten hat).

Break Glass und der SAAS_ADMIN-Benutzer von Autonomous Database

Wenn eine SaaS die Break Glass-API in der Autonomous Database-Instanz eines Kunden aufruft, aktiviert dies den Benutzer SAAS_ADMIN. Das Operations-Team SaaS kann dann für eine begrenzte Zeit mit dem Benutzer SAAS_ADMIN mit einer bestimmten Gruppe von Rollen 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 Zugriff auf eine Autonomous Database-Instanz zuzulassen. Der Name des Bruchglases stammt von manuellen Feueralarmen, bei denen die Benutzer eine kleine Glasscheibe brechen müssen, bevor sie den Alarm aktivieren (das Glas muss gebrochen werden, damit der Alarm nicht versehentlich ausgelöst wird). Ebenso benötigt der Benutzer SAAS_ADMIN normalerweise keinen Zugriff auf die Datenbank, und für den Zugriff ist ein vordefinierter Genehmigungsprozess erforderlich.

Je nach Typ des erteilten Zugriffs kann der Benutzer SAAS_ADMIN, wenn er aktiviert ist, auf die Datenbank zugreifen, um Probleme zu untersuchen oder Änderungen im Zusammenhang mit einem Notfall oder einem anderen ungewöhnlichen Ereignis vorzunehmen. Wenn der Zugriff auf Break Glass abläuft oder der Zugriff explizit deaktiviert ist, werden das Kennwort/die Secrets des SAAS_ADMIN-Accounts sofort rotiert, und der Benutzerzugriff auf SAAS_ADMIN wird 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 enthält 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 über die REST-APIs von Autonomous Database aktiviert und deaktiviert.

Informationen zur Verwendung der REST-APIs und Signaturanforderungen 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:

Notfallzugriff 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 Benutzer SAAS_ADMIN mit der Autonomous Database-CLI oder -API.

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

Bevor Sie dem Benutzer SAAS_ADMIN den Zugriff auf eine Datenbank ermöglichen, 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 SAAS_ADMIN-Benutzer an. Wenn Sie secretId angeben, können Sie password nicht angeben.

Das Kennwort, das Sie als Parameter angeben, muss den Autonomous Database-Kennwortanforderungen entsprechen. Weitere Informationen finden Sie unter Benutzerpasswö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 Autonomous Database-Kennwortanforderungen entsprechen. Weitere Informationen finden Sie unter Benutzerpasswörter in Autonomous Database.

secretVersionNumber

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

accessType

Einer der Folgenden: 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 Benutzer SAAS_ADMIN auf 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

Verwenden Sie die Autonomous Database-CLI oder -API, um SAAS_ADMIN mit einem Kennwort zu aktivieren.

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

    Beispiele:

    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 finden Sie unter 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 dass der Zugriffstyp READ_ONLY lautet. Der Zeitstempel zeigt die Zeit an, zu der SAAS_ADMIN aktiviert wurde (die Zeit ist in UTC).

    Weitere Informationen finden Sie unter 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, damit Autonomous Database das Secret in Oracle Cloud Infrastructure Vault erreicht, müssen die folgenden Bedingungen gelten:

  • Das Secret muss den Status current oder previous aufweisen.

  • Sie benötigen die richtige Benutzergruppen-Policy, die READ den Zugriff auf das spezifische Secret in einem bestimmten Compartment zulässt. Beispiele:

    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 secretId an.

    Beispiele:

    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 mit secretVersionNumber eine Secret-Version angeben, wird die angegebene Secret-Version verwendet. Wenn Sie keine Secret-Version angeben, verwendet der Aufruf die neueste Secret-Version.

    Weitere Informationen finden Sie unter configureSaasAdminUser.

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

    Beispiele:

    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 finden Sie unter getSaasAdminUserStatus.

Notfallzugriff deaktivieren

Verwenden Sie die Autonomous Database-CLI oder -API, um den Benutzerzugriff auf SAAS_ADMIN 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 von Stunden ab. Alternativ können Sie mit configureSaasAdminUser den Benutzerzugriff auf SAAS_ADMIN explizit deaktivieren, um den Zugriff basierend auf der Standardablaufzeit oder der angegebenen Dauer ablaufen zu lassen.

Um den Benutzer SAAS_ADMIN 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 Benutzerzugriff auf SAAS_ADMIN.

    Beispiele:

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

    Siehe configureSaasAdminUser-API für weitere Informationen.

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

    Beispiele:

    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 finden Sie unter getSaasAdminUserStatus.

Wenn Sie den Benutzer SAAS_ADMIN deaktivieren, wird der Zugriff auf die Datenbank entzogen, und Autonomous Database rotiert das Kennwort oder das Secret, mit dem auf die Datenbank zugegriffen wurde.

Hinweise für Break Glass Access

Enthält Hinweise für den Zugang zu Break Glass.

Hinweise für Break Glass Access:

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

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

  • 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;

    Wenn ein Wert für auth_revoker vorhanden ist, wurde der Zugriff entzogen und zeigt den Benutzer an, der den Zugriff entzogen hat.

    Die auth_end zeigt eine planned-Zeit an. Wenn nach dem Widerruf der Autorisierung die Autorisierung zum Zeitpunkt des Endes der duration abgelaufen ist, die bei der Aktivierung des SAAS_ADMIN-Benutzers angegeben wurde, entspricht die planned-Zeit der actual-Zeit. Wenn die Zeit planned und actual unterschiedlich sind, bedeutet dies, dass die Autorisierung SAAS_ADMIN widerrufen wurde, bevor die duration abgelaufen ist.

    Beispiel: Wenn SAAS_ADMIN mit einer Dauer von 2 Stunden aktiviert ist und der Zugriff nach 1 Stunde durch Aufrufen der API configureSaasAdminUser deaktiviert wird, um den Benutzer SAAS_ADMIN zu deaktivieren, unterscheiden sich die auth_end-Zeiten planned und actual.

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