Accesso di emergenza per SaaS su Autonomous Database

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

Informazioni sull'accesso Break Glass su Autonomous Database

L'accesso in modalità Break Glass 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 Break Glass con Example.com

Prendi in considerazione 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 dispone di accesso diretto al database.

Il modello SaaS viene sintetizzato come indicato di seguito.

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

  • Il provider SaaS è example.com.

  • Il cliente SaaS è Scott.

Se e quando qualcosa va storto per quanto riguarda le prestazioni dell'applicazione, 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 da SaaS (in altre parole, dopo che example.com riceve l'autorizzazione dal 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, questo 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 proviene da allarmi antincendio manuali che richiedono ai loro utenti di rompere un piccolo pannello della finestra di vetro prima di attivare l'allarme (il vetro deve essere rotto per evitare che l'allarme venga attivato per errore). Analogamente, l'utente SAAS_ADMIN in genere 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 apportare modifiche associate a un evento di emergenza o a un altro evento insolito. Quando l'accesso a Break Glass scade o quando l'accesso è esplicitamente disabilitato, la password/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 controllate.

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

  • read-only: fornisce accesso in 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 Break Glass

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 sulle richieste di firma, vedere API REST e Credenziali di sicurezza.

Per informazioni sugli SDK, vedere Software Development Kit and Command Line Interface (interfaccia a riga di comando e kit di sviluppo software).

Utilizzare le seguenti API per le operazioni Break Glass:

Abilita accesso Break Glass

Dopo 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 di Autonomous Database.

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

Parametro Descrizione
isEnabled

Specifica un valore booleano. Utilizzare TRUE per abilitarlo.

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 degli utenti 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 della password di Autonomous Database. Per ulteriori informazioni, vedere Informazioni sulle password degli utenti 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'utilizzo dell'ultima versione del segreto. Questo parametro si applica solo se è specificato anche secretId.

accessType

Uno dei seguenti: 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 in un'istanza di Autonomous Database, è necessario definire l'accesso richiesto 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.

Argomenti

Abilita accesso Break Glass 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 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
    } 

    Per ulteriori informazioni, vedere configureSaasAdminUser.

  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 indica 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).

    Per ulteriori informazioni, vedere getSaasAdminUserStatus.

Abilita accesso Break Glass con un segreto vault

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

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

  • Il segreto deve essere in stato current o previous.

  • È necessario disporre del criterio del gruppo di utenti appropriato che consenta all'utente 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, effettuare le operazioni riportate di seguito.

  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
    }

    L'assegnazione 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 del segreto, la chiamata utilizza la versione più recente del segreto.

    Per ulteriori informazioni, 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).

    Per ulteriori informazioni, vedere getSaasAdminUserStatus.

Disabilita accesso Break Glass

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 viene 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 richiesto 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.

    Per ulteriori informazioni, vedere getSaasAdminUserStatus.

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 accesso Break Glass

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 a quando non si disabilita esplicitamente l'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 significa che l'accesso è stato revocato e mostra l'utente che ha revocato l'accesso.

    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à uguale all'ora actual. Se l'ora planned e actual sono diverse, significa che l'autorizzazione SAAS_ADMIN è stata revocata prima della scadenza dell'ora duration.

    Ad esempio, se SAAS_ADMIN è abilitato per una durata di 2 ore e dopo 1 ora l'accesso viene disabilitato richiamando l'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. Può essere stato creato e rimosso o non è mai stato creato.