Break Glass Access pour SaaS sur Autonomous Database

Autonomous Database prend en charge l'accès direct pour les fournisseurs SaaS. L'accès Break Glass 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 Break Glass 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 l'exemple d'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 des applications, ou s'il y a un autre problème critique qui nécessite un 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 ait reçu le droit d'accès de son client, Scott).

Break Glass et l'utilisateur Autonomous Database SAAS_ADMIN

Lorsqu'un élément SaaS appelle l'API Break Glass sur l'instance Autonomous Database d'un client, l'utilisateur SAAS_ADMIN est activé. L'équipe chargée 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é, pendant 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 de la vitre de coupure provient d'alarmes à feu manuelles qui exigent que leurs utilisateurs cassent une petite vitre avant d'activer l'alarme (la vitre doit être cassée 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.

Selon le type d'accès accordé, lorsqu'il est activé, l'utilisateur SAAS_ADMIN peut accéder à la base de données pour examiner les problèmes ou pour apporter des modifications associées à une urgence ou à un autre événement inhabituel. Lorsque l'accès de coupure expire ou que l'accès est explicitement désactivé, le mot de passe/les clés secrètes du compte SAAS_ADMIN font immédiatement l'objet d'une rotation 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 pour ce type sont : 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 Break Glass

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'information sur l'utilisation des API REST et sur la signature des demandes, reportez-vous à API REST et aux 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 Break Glass

Une fois l'autorisation d'accès à une base de données avec SAAS_ADMIN approuvée par le biais de 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.

Pour que l'utilisateur SAAS_ADMIN puisse 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 relatives au mot de passe d'Autonomous Database. Pour plus d'informations, 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 relatives au mot de passe Autonomous Database. Pour plus d'informations, reportez-vous à A propos des mots de passe utilisateur sur Autonomous Database.

secretVersionNumber

Indique 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 indiqué.

accessType

L'une des options suivantes : read-only, read/write ou admin. La valeur par défaut est read-only.

duration

Indique la durée en heures, comprise entre 1 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.

Sujets

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.

    Par 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é (l'heure est 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 une valeur secretId lorsque la clé secrète est stockée dans Oracle Cloud Infrastructure Vault.

Lorsque vous indiquez une valeur 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 présenter 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é. Par exemple :

    Allow userGroup1 to read secret-bundles in compartment training

Pour activer SAAS_ADMIN avec une valeur 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.

    Par 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 aucune 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é.

    Par 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é (l'heure est au format UTC).

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

Désactiver l'accès Break Glass

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.

    Par exemple :

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

    Reportez-vous à l'API configureSaasAdminUser pour plus d'informations.

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

    Par 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 fait pivoter le mot de passe ou la clé secrète utilisés pour accéder à la base de données.

Notes pour Break Glass Access

Fournit des notes pour l'accès au verre de rupture.

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

  • La valeur duration que vous indiquez lorsque vous activez SAAS_ADMIN s'applique jusqu'à ce que la durée indiquée expire ou jusqu'à ce que vous désactiviez explicitement l'utilisateur SAAS_ADMIN. Vous ne pouvez pas modifier cette valeur après avoir activé l'utilisateur SAAS_ADMIN.

  • Autonomous Database Toujours gratuit 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 indique 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 l'heure duration.

    Par exemple, si SAAS_ADMIN est activé avec une durée de 2 heures et que l'accès au bout de 1 heure 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éé.