Accesso di emergenza per SaaS su Autonomous Database

Autonomous Database supporta l'accesso di emergenza per i provider SaaS. L'accesso di emergenza consente a un team operativo SaaS, se esplicitamente autorizzato da un cliente SaaS, di accedere al database di un cliente per eseguire operazioni critiche o di emergenza.

Informazioni sull'accesso di emergenza su Autonomous Database

L'accesso di emergenza su Autonomous Database supporta i provider SaaS, in cui l'organizzazione SaaS definisce le procedure per consentire a un membro del team operativo SaaS di accedere al database di un cliente quando è esplicitamente autorizzato dal cliente.

Caso d'uso del campione di vetro di rottura con Example.com

Considerare un provider SaaS denominato example.com che utilizza Autonomous Database per il proprio prodotto. Nelle normali operazioni, il provider SaaS, example.com, crea un'istanza di Autonomous Database per ogni cliente SaaS. In questo modello un cliente SaaS, ad esempio un cliente di nome Scott, è un utente finale per il prodotto example.com (e un cliente SaaS i cui dati sono memorizzati in un'istanza di Autonomous Database). Il provider example.com crea e memorizza tutti i dati di Scott in un'istanza di Autonomous Database e il cliente, Scott, non ha accesso diretto al database.

Il modello SaaS viene riepilogato come indicato di seguito.

  • Il cliente Oracle che crea istanze di Autonomous Database è l'organizzazione SaaS, ( example.com).

  • Il provider SaaS è example.com.

  • Il cliente di SaaS è Scott.

Se e quando qualcosa va storto per quanto riguarda le prestazioni delle applicazioni, o c'è qualche altro problema critico che richiede la risoluzione dei problemi da parte del team operativo SaaS, il cliente Scott, può concedere l'accesso in modo che il team operativo possa accedere al database di Scott per la risoluzione dei problemi. Il team operativo SaaS è autorizzato a stabilire l'accesso diretto all'istanza di Autonomous Database di Scott solo tramite un processo di approvazione definito in SaaS (in altre parole, dopo che example.com ha ricevuto l'autorizzazione dal proprio cliente, Scott).

Break Glass e l'utente di Autonomous Database SAAS_ADMIN

Quando un SaaS richiama l'API Break Glass sull'istanza di Autonomous Database di un cliente, ciò abilita l'utente SAAS_ADMIN. Il team delle operazioni SaaS può quindi accedere all'istanza utilizzando l'utente SAAS_ADMIN con un set di ruoli specificato per un periodo di tempo limitato.

Per impostazione predefinita, l'utente SAAS_ADMIN è bloccato. Utilizzando un processo di approvazione definito dall'organizzazione SaaS, è possibile abilitare l'utente SAAS_ADMIN per consentire l'accesso a un'istanza di Autonomous Database. Il nome del vetro di rottura deriva da allarmi di fuoco manuali che richiedono ai loro utenti di rompere un piccolo vetro finestra prima di attivare l'allarme (il vetro deve essere rotto per evitare che l'allarme venga attivato per errore). Analogamente, l'utente SAAS_ADMIN normalmente non accede al database e l'accesso richiede un processo di approvazione predefinito.

A seconda del tipo di accesso concesso, se abilitato, l'utente SAAS_ADMIN può accedere al database per analizzare i problemi o per apportare modifiche associate a un'emergenza o a un altro evento insolito. Quando l'accesso di emergenza scade o quando l'accesso viene esplicitamente disabilitato, la password o i segreti dell'account SAAS_ADMIN vengono immediatamente ruotati e l'accesso utente SAAS_ADMIN viene revocato. Tutte le azioni eseguite dall'utente SAAS_ADMIN vengono sottoposte ad audit.

L'utente SAAS_ADMIN è abilitato con uno dei tre tipi di accesso riportati di seguito.

  • read-only: fornisce l'accesso di sola lettura all'istanza. Questo è il tipo di accesso predefinito e include i ruoli predefiniti: CREATE SESSION, SELECT ANY TABLE, SELECT ANY DICTIONARY, SELECT_CATALOG_ROLE.
  • read/write: fornisce l'accesso in lettura/scrittura all'istanza. I ruoli predefiniti per questo tipo sono: CREATE SESSION, SELECT ANY TABLE, SELECT ANY DICTIONARY, SELECT_CATALOG_ROLE, INSERT ANY TABLE e UPDATE ANY TABLE.
  • admin: fornisce l'accesso amministratore all'istanza. I ruoli predefiniti per questo tipo sono: CREATE SESSION e PDB_DBA.

API accesso di emergenza

L'utente SAAS_ADMIN viene abilitato e disabilitato solo tramite l'interfaccia CLI (Command Line Interface) o utilizzando le API REST di Autonomous Database.

Per informazioni sull'uso delle API REST e delle richieste di firma, vedere API REST e Credenziali di sicurezza.

Per informazioni sugli SDK, vedere Software Development Kits and Command Line Interface.

Utilizzare le seguenti API per le operazioni Break Glass:

Abilita accesso di emergenza

Dopo che l'autorizzazione per accedere a un database con SAAS_ADMIN viene approvata mediante le procedure definite dall'organizzazione, utilizzare l'interfaccia CLI o l'API di Autonomous Database per abilitare l'utente SAAS_ADMIN.

Per abilitare l'utente SAAS_ADMIN, è necessario disporre del privilegio di gestione del database autonomo.

Prima di consentire all'utente SAAS_ADMIN di accedere a un database, è necessario ottenere i valori per i parametri richiesti.

Parametro descrizione;
isEnabled

Specifica un valore booleano. Usare TRUE per abilitare.

password

Specifica la password per l'utente SAAS_ADMIN. Se si specifica secretId, non è possibile specificare password.

La password fornita come parametro deve essere conforme ai requisiti della password di Autonomous Database. Per ulteriori informazioni, vedere Informazioni sulle password utente in Autonomous Database.

secretId

Specifica il valore dell'OCID segreto di Oracle Cloud Infrastructure Vault di un segreto. Se si specifica password, non è possibile specificare secretId. Per ulteriori informazioni, vedere Panoramica del vault.

La password fornita come segreto in Oracle Cloud Infrastructure Vault deve essere conforme ai requisiti di password di Autonomous Database. Per ulteriori informazioni, vedere Informazioni sulle password utente in Autonomous Database.

secretVersionNumber

Specifica il numero di versione del segreto specificato con secretId. Si tratta di un parametro facoltativo. L'impostazione predefinita prevede l'uso della versione del segreto più recente. Questo parametro si applica solo quando viene specificato anche secretId.

accessType

Una delle seguenti opzioni: read-only, read/write o admin. L'impostazione predefinita è read-only.

duration

Specifica la durata in ore, compresa tra 1 ora e 24 ore. Il valore predefinito è 1 ora.

Per abilitare l'utente SAAS_ADMIN su un'istanza di Autonomous Database, è necessario definire l'accesso necessario utilizzando le istruzioni dei criteri OCI Identity and Access Management scritte da un amministratore.

È richiesto il seguente criterio:

Allow group Group_Name to manage autonomous-databases in compartment Compartment_Name

Per ulteriori informazioni, consulta le policy IAM per Autonomous Database e la Guida introduttiva ai criteri.

Temi

Abilita accesso di emergenza con password

Utilizzare l'interfaccia CLI o l'API di Autonomous Database per abilitare SAAS_ADMIN con una password.

  1. Utilizzare l'interfaccia API o l'interfaccia CLI e specificare un valore per la password per abilitare SAAS_ADMIN con un password.

    Ad esempio:

    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
    } 
  2. Verificare che l'utente SAAS_ADMIN sia abilitato.
    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"
    }
    

    Questa risposta mostra che l'utente SAAS_ADMIN è abilitato e che il tipo di accesso è READ_ONLY. L'indicatore orario mostra l'ora in cui è stato abilitato SAAS_ADMIN (l'ora è in UTC).

Abilita accesso di emergenza con segreto vault

Utilizzare l'interfaccia CLI o l'API di Autonomous Database per abilitare SAAS_ADMIN con un secretId, quando il segreto viene memorizzato in Oracle Cloud Infrastructure Vault.

Quando si specifica un valore secretId, affinché Autonomous Database possa raggiungere il segreto in Oracle Cloud Infrastructure Vault, devono essere applicate le condizioni riportate di seguito.

  • Lo stato del segreto deve essere current o previous.

  • È necessario disporre del criterio del gruppo di utenti appropriato che consenta a READ di accedere al segreto specifico in un determinato compartimento. Ad esempio:

    Allow userGroup1 to read secret-bundles in compartment training

Per abilitare SAAS_ADMIN con un secretId con il segreto memorizzato in Oracle Cloud Infrastructure Vault:

  1. Utilizzare l'API o l'interfaccia CLI e specificare un valore OCID per secretId.

    Ad esempio:

    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
    }

    La specifica di una versione del segreto è facoltativa. Se si specifica una versione del segreto nella chiamata API con secretVersionNumber, viene utilizzata la versione del segreto specificata. Se non si specifica una versione segreta, la chiamata utilizza la versione segreta più recente.

    Vedere configureSaasAdminUser.

  2. Verificare che l'utente SAAS_ADMIN sia abilitato.

    Ad esempio:

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

    Questa risposta mostra che l'utente SAAS_ADMIN è abilitato e il tipo di accesso è READ_ONLY. L'indicatore orario mostra l'ora in cui l'utente è stato abilitato (l'ora è in UTC).

Disabilita accesso di emergenza

Utilizzare l'interfaccia CLI o l'API di Autonomous Database per disabilitare l'accesso utente SAAS_ADMIN.

Per impostazione predefinita, l'accesso scade dopo un'ora se il parametro duration non è impostato quando SAAS_ADMIN è abilitato. Se il parametro duration è impostato quando SAAS_ADMIN è abilitato, l'accesso scade dopo il numero di ore duration specificato. In alternativa alla scadenza dell'accesso in base all'ora di scadenza predefinita o alla durata specificata, è possibile utilizzare configureSaasAdminUser per disabilitare in modo esplicito l'accesso utente SAAS_ADMIN.

Per disabilitare l'utente SAAS_ADMIN in un'istanza di Autonomous Database, è necessario definire l'accesso necessario utilizzando le istruzioni dei criteri OCI Identity and Access Management scritte da un amministratore.

È richiesto il seguente criterio:

Allow group Group_Name to manage autonomous-databases in compartment Compartment_Name

Per ulteriori informazioni, consulta le policy IAM per Autonomous Database e la Guida introduttiva ai criteri.

  1. Disabilitare l'accesso utente SAAS_ADMIN.

    Ad esempio:

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

    Per ulteriori informazioni, vedere l'API configureSaasAdminUser.

  2. Verificare che l'utente SAAS_ADMIN sia disabilitato.

    Ad esempio:

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

    Questa risposta indica che l'utente SAAS_ADMIN è disabilitato.

Quando si disabilita l'utente SAAS_ADMIN, l'accesso al database viene revocato e Autonomous Database ruota la password o il segreto utilizzato per accedere al database.

Note per l'accesso di emergenza

Fornisce note per l'accesso al vetro di rottura.

Note per l'accesso al vetro di rottura:

  • Il valore duration specificato quando si abilita SAAS_ADMIN viene applicato fino alla scadenza dell'ora specificata oppure fino alla disabilitazione esplicita dell'utente SAAS_ADMIN. Non è possibile modificare questo valore dopo aver abilitato l'utente SAAS_ADMIN.

  • Autonomous Database Sempre gratis non supporta l'accesso con l'utente SAAS_ADMIN.

  • La vista DBA_CLOUD_CONFIG fornisce informazioni sull'utente SAAS_ADMIN.

    Ad esempio, utilizzare la seguente query per ottenere informazioni sullo stato dell'utente SAAS_ADMIN:

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

    La presenza di un valore per auth_revoker indica che l'accesso è stato revocato e mostra l'utente che ha revocato l'accesso.

    Il valore auth_end mostra un'ora planned. Dopo la revoca dell'autorizzazione, se l'autorizzazione è scaduta alla fine del duration specificato quando l'utente SAAS_ADMIN è stato abilitato, l'ora planned sarà la stessa dell'ora actual. Se l'ora planned e actual sono diverse, significa che l'autorizzazione SAAS_ADMIN è stata revocata prima della scadenza di duration.

    Ad esempio, se SAAS_ADMIN è abilitato con una durata di 2 ore e l'accesso dopo 1 ora è disabilitato chiamando l'interfaccia API configureSaasAdminUser per disabilitare l'utente SAAS_ADMIN, le ore auth_end planned e actual saranno diverse.

    Se questa query non mostra righe, l'utente SAAS_ADMIN non esiste. Potrebbe essere stato creato e eliminato o non è mai stato creato.