Accès Break Glass pour SaaS sur Autonomous Database

Autonomous Database prend en charge l'accès d'urgence pour les fournisseurs SaaS. L'accès d'urgence permet à une équipe des opérations SaaS, lorsqu'elle est explicitement autorisée par un client SaaS, d'accéder à la base de données d'un client pour effectuer des opérations critiques ou d'urgence.

A propos de Break Glass Access sur Autonomous Database

L'accès d'urgence sur Autonomous Database prend en charge les fournisseurs SaaS, où l'organisation SaaS définit des procédures permettant à un membre de l'équipe des opérations SaaS d'accéder à la base de données d'un client lorsqu'il est explicitement autorisé par le client.

Exemple de cas d'utilisation Break Glass avec Example.com

Prenons un fournisseur SaaS nommé example.com qui utilise Autonomous Database pour son produit. Dans les opérations habituelles, le fournisseur SaaS, example.com, crée une instance Autonomous Database pour chaque client SaaS. Dans ce modèle, un client SaaS, par exemple un client nommé Scott, est un utilisateur final pour le produit example.com (et un client SaaS dont les données sont stockées dans une instance Autonomous Database). Le fournisseur example.com crée et stocke toutes les données de Scott dans une instance Autonomous Database. Le client, Scott, n'a pas d'accès direct à la base de données.

Ce modèle SaaS est résumé comme suit :

  • Le client Oracle qui crée des instances Autonomous Database est l'organisation SaaS (example.com).

  • Le fournisseur SaaS est example.com.

  • Le client SaaS est Scott.

Si et quand quelque chose ne va pas en ce qui concerne les performances de l'application, ou s'il y a un autre problème critique qui nécessite le dépannage par l'équipe des opérations SaaS, le client Scott peut accorder l'accès afin que l'équipe des opérations puisse accéder à la base de données de Scott pour le dépannage. L'équipe des opérations SaaS est uniquement autorisée à établir un accès direct à l'instance Autonomous Database de Scott via un processus d'approbation défini par SaaS (en d'autres termes, après que example.com a reçu le droit d'accès de son client, Scott).

Break Glass et utilisateur Autonomous Database SAAS_ADMIN

Lorsqu'une instance SaaS appelle l'API Break Glass sur l'instance Autonomous Database d'un client, cela active l'utilisateur SAAS_ADMIN. L'équipe des opérations SaaS peut ensuite accéder à l'instance à l'aide de l'utilisateur SAAS_ADMIN avec un ensemble de rôles spécifié, pour une durée limitée.

Par défaut, l'utilisateur SAAS_ADMIN est verrouillé. A l'aide d'un processus d'approbation défini par l'organisation SaaS, l'utilisateur SAAS_ADMIN peut être activé pour autoriser l'accès à une instance Autonomous Database. Le nom du verre cassé provient d'alarmes à feu manuelles qui obligent leurs utilisateurs à casser un petit vitrage avant d'activer l'alarme (le verre doit être cassé pour éviter que l'alarme ne soit déclenchée par erreur). De même, l'utilisateur SAAS_ADMIN n'accède normalement pas à la base de données et l'accès nécessite un processus d'approbation prédéfini.

En fonction du type d'accès accordé, lorsque cette option est activée, l'utilisateur SAAS_ADMIN peut accéder à la base de données pour examiner les problèmes ou apporter des modifications associées à une urgence ou à un autre événement inhabituel. Lorsque l'accès avec restriction expire ou lorsque l'accès est explicitement désactivé, le mot de passe/les clés secrètes du compte SAAS_ADMIN font l'objet d'une rotation immédiate et l'accès utilisateur SAAS_ADMIN est révoqué. Toutes les actions effectuées par l'utilisateur SAAS_ADMIN sont auditées.

L'utilisateur SAAS_ADMIN est activé avec l'un des trois types d'accès suivants :

  • read-only : fournit un accès en lecture seule à l'instance. Il s'agit du type d'accès par défaut et inclut les rôles par défaut : CREATE SESSION, SELECT ANY TABLE, SELECT ANY DICTIONARY, SELECT_CATALOG_ROLE.
  • read/write : fournit un accès en lecture/écriture à l'instance. Les rôles par défaut de ce type sont les suivants : CREATE SESSION, SELECT ANY TABLE, SELECT ANY DICTIONARY, SELECT_CATALOG_ROLE, INSERT ANY TABLE et UPDATE ANY TABLE.
  • admin : fournit un accès administrateur à l'instance. Les rôles par défaut pour ce type sont : CREATE SESSION et PDB_DBA.

API d'accès d'urgence

L'utilisateur SAAS_ADMIN est activé et désactivé uniquement via l'interface de ligne de commande ou à l'aide des API REST Autonomous Database.

Pour plus d'informations sur l'utilisation des API REST et la signature des demandes, reportez-vous à API REST et à Informations d'identification de sécurité.

Pour plus d'informations sur les kits SDK, reportez-vous à Kits SDK et interface de ligne de commande.

Utilisez les API suivantes pour les opérations Break Glass :

Activer l'accès d'urgence

Une fois que l'autorisation d'accéder à une base de données avec SAAS_ADMIN a été approuvée via les procédures définies par votre organisation, utilisez l'API ou l'interface de ligne de commande Autonomous Database pour activer l'utilisateur SAAS_ADMIN.

Vous devez disposer du privilège de gestion de base de données autonome pour activer l'utilisateur SAAS_ADMIN.

Avant d'activer l'utilisateur SAAS_ADMIN pour accéder à une base de données, vous devez obtenir les valeurs des paramètres requis.

Paramètre Description
isEnabled

Spécifie une valeur booléenne. Utilisez TRUE pour l'activer.

password

Spécifie le mot de passe de l'utilisateur SAAS_ADMIN. Si vous indiquez secretId, vous ne pouvez pas indiquer password.

Le mot de passe que vous fournissez en tant que paramètre doit être conforme aux exigences de mot de passe Autonomous Database. Pour plus d'informations sur le sujet, reportez-vous à A propos des mots de passe utilisateur sur Autonomous Database.

secretId

Indique la valeur de l'OCID de clé secrète Oracle Cloud Infrastructure Vault d'une clé secrète. Si vous indiquez password, vous ne pouvez pas indiquer secretId. Pour plus d'informations, reportez-vous à Présentation de Vault.

Le mot de passe que vous fournissez en tant que clé secrète dans Oracle Cloud Infrastructure Vault doit être conforme aux exigences en matière de mot de passe Autonomous Database. Pour plus d'informations sur le sujet, reportez-vous à A propos des mots de passe utilisateur sur Autonomous Database.

secretVersionNumber

Spécifie le numéro de version de la clé secrète indiquée avec secretId. Ce paramètre est facultatif. La valeur par défaut est d'utiliser la dernière version de clé secrète. Ce paramètre s'applique uniquement lorsque secretId est également spécifié.

accessType

L'un des éléments suivants : read-only, read/write ou admin. La valeur par défaut est read-only.

duration

Spécifie la durée en heures, comprise entre 1 heure et 24 heures. La valeur par défaut est d'une heure.

Pour activer l'utilisateur SAAS_ADMIN sur une instance Autonomous Database, vous devez définir l'accès requis à l'aide des instructions de stratégie OCI Identity and Access Management écrites par un administrateur.

La stratégie suivante est requise :

Allow group Group_Name to manage autonomous-databases in compartment Compartment_Name

Pour plus d'informations, reportez-vous à Stratégies IAM pour Autonomous Database et à Introduction aux stratégies.

Rubriques

Activer l'accès Break Glass avec un mot de passe

Utilisez l'API ou l'interface de ligne de commande Autonomous Database pour activer SAAS_ADMIN avec un mot de passe.

  1. Utilisez l'API ou l'interface de ligne de commande et indiquez une valeur pour le mot de passe afin d'activer SAAS_ADMIN avec password.

    Exemple :

    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
    } 

    Pour plus d'informations, reportez-vous à configureSaasAdminUser.

  2. Vérifiez que l'utilisateur SAAS_ADMIN est activé.
    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"
    }
    

    Cette réponse indique que l'utilisateur SAAS_ADMIN est activé et que le type d'accès est READ_ONLY. L'horodatage indique l'heure à laquelle SAAS_ADMIN a été activé (heure au format UTC).

    Pour plus d'informations, reportez-vous à getSaasAdminUserStatus.

Activer l'accès Break Glass avec une clé secrète de coffre

Utilisez l'API ou l'interface de ligne de commande Autonomous Database pour activer SAAS_ADMIN avec secretId, lorsque la clé secrète est stockée dans Oracle Cloud Infrastructure Vault.

Lorsque vous indiquez un élément secretId, pour qu'Autonomous Database atteigne la clé secrète dans Oracle Cloud Infrastructure Vault, les conditions suivantes doivent s'appliquer :

  • La clé secrète doit être à l'état current ou previous.

  • Vous devez disposer de la stratégie de groupe d'utilisateurs appropriée qui autorise READ à accéder à la clé secrète spécifique dans un compartiment donné. Exemple :

    Allow userGroup1 to read secret-bundles in compartment training

Pour activer SAAS_ADMIN avec secretId avec la clé secrète stockée dans Oracle Cloud Infrastructure Vault, procédez comme suit :

  1. Utilisez l'API ou l'interface de ligne de commande et indiquez une valeur d'OCID pour secretId.

    Exemple :

    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 spécification d'une version de clé secrète est facultative. Si vous indiquez une version de clé secrète dans l'appel d'API avec secretVersionNumber, la version de clé secrète indiquée est utilisée. Si vous n'indiquez pas de version de clé secrète, l'appel utilise la dernière version de clé secrète.

    Pour plus d'informations, reportez-vous à configureSaasAdminUser.

  2. Vérifiez que l'utilisateur SAAS_ADMIN est activé.

    Exemple :

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

    Cette réponse indique que l'utilisateur SAAS_ADMIN est activé et que le type d'accès est READ_ONLY. L'horodatage indique l'heure à laquelle l'utilisateur a été activé (heure au format UTC).

    Pour plus d'informations, reportez-vous à getSaasAdminUserStatus.

Désactiver l'accès d'urgence

Utilisez l'API ou l'interface de ligne de commande Autonomous Database pour désactiver l'accès utilisateur SAAS_ADMIN.

Par défaut, l'accès expire au bout d'une heure si le paramètre duration n'est pas défini lorsque SAAS_ADMIN est activé. Si le paramètre duration est défini lorsque SAAS_ADMIN est activé, l'accès expire après le nombre d'heures duration indiqué. Au lieu de laisser l'accès expirer en fonction de l'heure d'expiration par défaut ou de la durée que vous indiquez, vous pouvez utiliser configureSaasAdminUser pour désactiver explicitement l'accès utilisateur SAAS_ADMIN.

Pour désactiver l'utilisateur SAAS_ADMIN sur une instance Autonomous Database, vous devez définir l'accès requis à l'aide des instructions de stratégie OCI Identity and Access Management écrites par un administrateur.

La stratégie suivante est requise :

Allow group Group_Name to manage autonomous-databases in compartment Compartment_Name

Pour plus d'informations, reportez-vous à Stratégies IAM pour Autonomous Database et à Introduction aux stratégies.

  1. Désactivez l'accès utilisateur SAAS_ADMIN.

    Exemple :

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

    Pour plus d'informations, reportez-vous à l'API configureSaasAdminUser.

  2. Vérifiez que l'utilisateur SAAS_ADMIN est désactivé.

    Exemple :

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

    Cette réponse indique que l'utilisateur SAAS_ADMIN est désactivé.

    Pour plus d'informations, reportez-vous à getSaasAdminUserStatus.

Lorsque vous désactivez l'utilisateur SAAS_ADMIN, l'accès à la base de données est révoqué et Autonomous Database effectue la rotation du mot de passe ou de la clé secrète utilisée pour accéder à la base de données.

Notes pour Break Glass Access

Fournit des notes pour l'accès en verre cassé.

Notes pour l'accès au verre de rupture :

  • La valeur duration que vous indiquez lorsque vous activez SAAS_ADMIN s'applique soit jusqu'à l'expiration de la durée indiquée, soit jusqu'à la désactivation explicite de l'utilisateur SAAS_ADMIN. Vous ne pouvez pas modifier cette valeur après avoir activé l'utilisateur SAAS_ADMIN.

  • Toujours gratuit, Autonomous Database ne prend pas en charge l'accès avec l'utilisateur SAAS_ADMIN.

  • La vue DBA_CLOUD_CONFIG fournit des informations sur l'utilisateur SAAS_ADMIN.

    Par exemple, utilisez la requête suivante pour obtenir des informations sur le statut de l'utilisateur SAAS_ADMIN :

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

    La présence d'une valeur pour auth_revoker signifie que l'accès a été révoqué et indique l'utilisateur qui a révoqué l'accès.

    auth_end affiche une heure planned. Une fois l'autorisation révoquée, si l'autorisation a expiré à la fin de l'élément duration indiqué lorsque l'utilisateur SAAS_ADMIN a été activé, l'heure planned sera identique à l'heure actual. Si l'heure planned et l'heure actual sont différentes, cela signifie que l'autorisation SAAS_ADMIN a été révoquée avant l'expiration de duration.

    Par exemple, si SAAS_ADMIN est activé avec une durée de 2 heures et qu'après 1 heure, l'accès est désactivé en appelant l'API configureSaasAdminUser pour désactiver l'utilisateur SAAS_ADMIN, les heures auth_end planned et actual seront différentes.

    Si cette requête n'affiche aucune ligne, l'utilisateur SAAS_ADMIN n'existe pas. Il a peut-être été créé et supprimé, ou il n'a jamais été créé.