Utilisation du contrôle d'accès d'API Oracle avec Oracle Exadata Database Service on Cloud@Customer et Oracle Exadata Database Service on Dedicated Infrastructure

Introduction

Oracle API Access Control permet aux clients de gérer l'accès aux API REST exposées par Oracle Exadata Database Service on Dedicated Infrastructure et Oracle Exadata Database Service on Cloud@Customer. En désignant des API spécifiques comme privilégiées, les clients peuvent s'assurer que l'appel de ces API nécessite l'approbation préalable d'un groupe autorisé dans leur location.

Oracle API Access Control facilite également l'intégration des audits en utilisant la technologie Oracle Cloud Infrastructure (OCI) pour appliquer un workflow spécifique.

Une personne demande l'accès pour effectuer une opération avec privilèges, un approbateur vérifie et approuve l'opération une fois que le plan de contrôle OCI fait passer une ressource d'approbation spéciale à l'état Approuvé. Cela permet au demandeur d'envoyer une API à une ressource cible et d'effectuer la tâche souhaitée.

Avantages clés:

Objectifs

Configurez et utilisez le service Oracle API Access Control pour Oracle Exadata Database Service on Cloud@Customer. Des instructions similaires s'appliquent à Oracle Exadata Database Service on Dedicated Infrastructure.

Prérequis

Tâche 1 : configuration des utilisateurs et des groupes dans la location OCI

La première étape du contrôle d'accès d'API Oracle consiste à configurer des utilisateurs et des groupes dans votre location OCI. La deuxième étape consiste pour ces utilisateurs et groupes à configurer le contrôle et à gérer les demandes.

  1. Connectez-vous à la console OCI, accédez à Identité et sécurité dans votre domaine d'identité par défaut.

  2. Créez un utilisateur et un groupe. Un utilisateur nommé ExaCC Approver a été configuré et cet utilisateur est membre du groupe ExaCC-API-Approver-grp.

    Image 1 : Groupe d'utilisateurs

Tâche 2 : configuration de la stratégie OCI IAM pour Oracle API Access Control

Dans cette tâche, configurez la stratégie OCI IAM pour permettre au service Oracle API Access Control d'opérer et au groupe ExaCC-API-Approver-grp de gérer le service. Les instructions de stratégie fournies dans cet exemple permettent au service de fonctionner. La syntaxe de stratégie OCI IAM offre un contrôle affiné, ce qui permet une séparation supplémentaire des tâches.

Exemples de stratégies OCI IAM pour Oracle API Access Control :

allow group <admin_group/approver_group/managers> to manage privileged-api-family in tenancy
allow any-user TO use database-family IN tenancy where ALL { request.principal.type in ('pactlprivilegedapirequest', 'pactlprivilegedapicontrol') }
allow any-user TO use ons-topics IN tenancy where ALL { request.principal.type in ('pactlprivilegedapirequest', 'pactlprivilegedapicontrol') }
allow group <admin_group/approver_group/managers> to use database-family in tenancy
allow group <admin_group/approver_group/access_request_group> to read domains in tenancy
allow group <admin_group/approver_group/access_request_group> to inspect compartments in tenancy
allow group <admin_group/approver_group/access_request_group> to use ons-topics in tenancy

Image 2 : Stratégies

Votre groupe d'approbateurs doit pouvoir utiliser la famille de bases de données mais n'a pas besoin de la gérer. En outre, le groupe d'approbation doit pouvoir lire les domaines, inspecter les compartiments et utiliser les rubriques de notification OCI pour les notifications.

Pour plus d'informations sur les stratégies OCI IAM, reportez-vous à A propos des types de ressource et des stratégies Delegate Access Control.

Tâche 3 : Contrôle des ressources

Avec Oracle API Access Control et ses stratégies en place, connectez-vous en tant qu'utilisateur Oracle API Access Control pour contrôler les ressources.

  1. Accédez à la console OCI, accédez à Oracle Database, Contrôle d'accès à l'API et cliquez sur Créer un contrôle d'API privilégié.

    Image 3 : Contrôle CreateAPI

  2. Sélectionnez le compartiment (ExaCC) et créez un contrôle.

  3. Renseignez les champs Nom et Description pour votre contrôle.

  4. Sélectionner un type de ressource : sélectionnez Infrastructure Exadata pour ce tutoriel.

    • Exadata Cloud Infrastructure pour une infrastructure Oracle Exadata Database Service on Dedicated Infrastructure dans OCI ou Oracle Multicloud.
    • Infrastructure Exadata pour Oracle Exadata Database Service on Cloud@Customer.

    Image 4 : Contrôle CreateAPI

  5. Sélectionner un compartiment d'infrastructure Exadata : l'infrastructure Exadata se trouve dans un compartiment distinct (eccw-infrastructure).

  6. Sélectionner une infrastructure Exadata : l'infrastructure à contrôler est eccw-infrastructure.

  7. Sélectionnez les API à contrôler pour votre infrastructure.

    Exemple :

    • Vous pouvez protéger les suppressions de l'infrastructure.
    • Pour un cluster de machines virtuelles, vous pouvez protéger les mises à jour, les suppressions, l'ajout/la suppression de machines virtuelles et la modification de compartiments.
    • Pour les mises à jour de cluster de machines virtuelles, différents attributs peuvent être sélectionnés en tant que privilèges, tels que la modification du nombre de coeurs de processeur (qui affecte le logiciel de redimensionnement automatique) ou des clés publiques SSH.
    • Vous pouvez également contrôler :
      • API de répertoire de base de base de données, telles que les suppressions.
      • API de machine virtuelle, telles que les mises à jour et la création de connexions à la console.
      • API réseau de cluster de machines virtuelles, dont les redimensionnements, les mises à jour et les suppressions.
      • API de base de données Conteneur, qui incluent les suppressions, les rotations de clés de gestion de cryptage transparent des données, les mises à jour et les mises à niveau.
      • API de base de données pluggable, avec des actions telles que le démarrage/l'arrêt, l'actualisation, la mise à jour et la suppression de bases de données pluggables. Dans cet exemple, nous voulons appliquer des contrôles sur la modification du nombre de coeurs de processeur (7a) et de la suppression de la base de données Conteneur (7b).

    Remarque : Les contrôles affectés peuvent être modifiés une fois le contrôle initial créé, mais les modifications nécessitent également le processus d'approbation d'Oracle API Access Control.

  8. Dans Informations d'approbation, sélectionnez Utiliser la stratégie IAM pour les informations d'approbation. Cette opération est obligatoire lorsque vous travaillez dans une location avec des domaines d'identité.

  9. Vous pouvez éventuellement demander une deuxième approbation pour des systèmes particulièrement sensibles, nécessitant deux identités distinctes pour approuver une demande d'accès.

  10. Sélectionner une rubrique de notification : vous devez sélectionner une rubrique de notification OCI pour les notifications de demande d'accès et cliquer sur Créer. Après avoir créé le contrôle, il faut quelques minutes pour se connecter.

    Les images suivantes montrent la création d'un sujet de notification OCI, ainsi que la création et la configuration d'un abonnement.

    Image 5 : Sujet

    Image 6 : Abonnement

Remarque : les enregistrements d'audit OCI sont liés aux compartiments dans lesquels résident les ressources. Par conséquent, lors de la création de ce contrôle d'accès d'API Oracle dans le compartiment ExaCC, les enregistrements d'audit liés à la gestion du cycle de vie sur les contrôles d'API y sont trouvés. Les enregistrements d'audit des mises à jour de l'infrastructure Exadata, situés dans le compartiment eccw-infrastructure, apparaissent dans le compartiment eccw-infrastructure.

Tâche 4 : démonstration de l'application du contrôle d'API

Pour montrer comment l'API contrôle le système, procédez comme suit :

  1. Connectez-vous à la console OCI en tant qu'utilisateur infra-db-admin-user.

  2. Sélectionnez Oracle Database Service on Cloud at Customer.

  3. Sélectionnez votre cluster de machines virtuelles et votre infrastructure Exadata.

  4. Le cluster de machines virtuelles eccw-cl3 est affiché, avec Oracle API Access Control activé.

  5. Si vous tentez de modifier le nombre d'ECPU par machine virtuelle directement à partir du menu, l'opération est refusée car elle n'est pas autorisée pour la ressource en cours.

    Image 7 : Redimensionnement de l'ECPU

  6. De même, si vous tentez de mettre fin à une base de données, l'opération ne sera pas autorisée.

  7. Pour vérifier l'enregistrement d'audit à partir de la console OCI.

    1. Accédez à Observation and Management.

    2. Sélectionnez Logging et cliquez sur Audit.

    3. Sélectionnez le compartiment ExaCC.

    4. Audit des actions telles que PUT et POST ou des modifications d'état.

    Dans le compartiment eccw-infrastructure, une erreur Introuvable (404) apparaît, indiquant que la vérification de l'approbation par Oracle API Access Control a échoué à la demande.

    Image 8 : Audit de redimensionnement d'ECPU

Tâche 5 : Créer et approuver une demande d'accès

  1. Accédez à la console OCI, accédez à Oracle Database et cliquez sur Contrôle d'accès à l'API.

  2. Cliquez sur Créer une demande d'accès privilégié pour créer une demande de mise à jour du nombre de coeurs de processeur.

    1. Compartiment : sélectionnez le compartiment ExaCC.

    2. Numéros de ticket : ajoutez une référence à un ticket (texte en format libre).

    3. Type de ressource : le type de ressource est votre cluster de machines virtuelles.

    4. Sélectionner des opérations avec privilèges : demande de mise à jour du cluster de machines virtuelles cpuCoreCount. Vous pouvez ajouter d'autres opérations si nécessaire pour une fenêtre d'accès unique.

      Image 9 : Créer une demande d'accès

    5. Vous pouvez demander l'accès à une date future pour une maintenance planifiée ou immédiatement.

    6. Sélectionner un sujet de notification : sélectionnez un sujet à notifier, puis cliquez sur Créer.

      Image 10 : Créer une demande d'accès

    Dans le compartiment dans lequel la demande d'accès est créée, vous la verrez dans un état Lancé.

    Image 11 : Créer une demande d'accès

    Si vous tentez de l'approuver vous-même, vous recevrez une erreur indiquant qu'un autre utilisateur doit l'approuver.

  3. Accédez au système en tant qu'utilisateur approbateur ExaCC Approver. Vous pouvez voir les demandes d'accès dans le compartiment.

    Image 12 : Demander l'approbation

    Une notification par courriel sera envoyée aux membres du ExaCC-API-Approver-grp.

    Image 13 : Notification par courriel

  4. Vous pouvez accéder à la demande d'appel.

    Image 14 : Demander l'approbation

  5. Vérifiez que la demande concerne UpdateVmCluster cpuCoreCount et approuvez-la immédiatement ou sélectionnez une heure future.

    Image 15 : Demander l'approbation

    Image 16 : Demander l'approbation

  6. Une fois la demande d'accès approuvée, revenez à la ressource de cluster de machines virtuelles et mettez à jour le nombre d'ECPU par machine virtuelle. Le système autorise désormais la modification du nombre d'ECPU par machine virtuelle.

Tâche 6 : auditer les opérations approuvées

Du point de vue de l'audit.

  1. Accédez à la console OCI, accédez à Observabilité et gestion et sélectionnez Audit.

  2. Accédez au compartiment dans lequel la demande d'accès à Oracle API Access Control est configurée. Voir POSTs et PUTs.

  3. L'utilisateur infra-db-admin-user a créé une demande d'accès à Oracle API Access Control.

    Image 17 : Audit en attente d'approbation

  4. Les demandes incorrectes (400) apparaissent lorsque vous avez tenté de l'approuver vous-même.

    Image 18 : Auto-approbation

    Image 19 : Auto-approbation

  5. Vous verrez que ExaCC Approver a approuvé la demande d'accès.

    Image 20 : Audit approuvé

De même, lorsque vous examinez le compartiment eccw-infrastructure, vous observez la mise à jour du cluster de machines virtuelles qui s'est produite après l'approbation. Vous pouvez voir le début de la mise à jour du cluster de machines virtuelles et la vérification du contrôle d'accès à l'API approuvée, ce qui indique que les API seront envoyées.

Tâche 7 : Révoquer les demandes de contrôle d'accès d'API Oracle

Une demande Oracle API Access Control peut être révoquée par la personne qui l'a soumise ou par l'approbateur. Une fois qu'une demande est révoquée, toute tentative d'exécution de l'action est interdite.

Du point de vue de l'audit dans le compartiment eccw-infrastructure, vous pouvez observer les méthodes PUT et POST. Les mises à jour de cluster de machines virtuelles qui ont été autorisées après l'approbation, ainsi que les échecs de mises à jour de cluster de machines virtuelles qui se sont produits car la demande d'accès n'a pas été approuvée. Lors de la vérification de la gestion du cycle de vie des demandes d'accès elles-mêmes, vous pouvez voir quand la demande a été ouverte, l'erreur 400 pour l'auto-approbation et l'approbation réussie par un autre utilisateur.

Image 21 : Révoquer

Image 22 : Révoquer

Tâche 8 : Modifier ou supprimer des contrôles

Tâche 9 : terminer l'audit final pour la suppression de contrôle

Du point de vue de l'audit pour la suppression de contrôle.

Image 25 : Audit final

Accusés de réception

Ressources de formation supplémentaires

Explorez d'autres ateliers sur le site docs.oracle.com/learn ou accédez à d'autres contenus d'apprentissage gratuits sur le canal Oracle Learning YouTube. En outre, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir de la documentation sur le produit, consultez Oracle Help Center.