Configurer une chambre forte pour un point d'extrémité personnalisé

Pour créer un point d'extrémité personnalisé pour votre instance Visual Builder, vous pouvez utiliser le service Key Management dans OCI pour créer une chambre forte afin de stocker les clés de chiffrement principales et les clés secrètes utilisées pour protéger l'accès à votre point d'extrémité personnalisé.

Dans la console OCI, vous créez une chambre forte OCI dans le compartiment où vous voulez créer votre point d'extrémité personnalisé. Pour plus de détails sur l'utilisation des chambres fortes, voir Utilisation des compartiments, Aperçu du service de chambre forte et Créer une chambre forte.

Note

Si vous utilisez un service WAF et un équilibreur de charge pour protéger votre point d'extrémité personnalisé, vous n'avez pas besoin de créer une chambre forte.

Après avoir créé et configuré une chambre forte dans la console OCI, vous pouvez configurer le premier point d'extrémité personnalisé (principal) de votre instance dans la page des détails de l'instance Visual Builder. Si votre instance a déjà un point d'extrémité principal et que vous voulez en ajouter un autre, vous devez créer un autre point d'extrémité à partir de la ligne de commande. De même, si votre instance comporte déjà plusieurs points d'extrémité personnalisés et que vous voulez modifier l'un d'entre eux, vous devez également le faire à partir de la ligne de commande. Pour plus de détails, voir Créer et mettre à jour des points d'extrémité de remplacement.

Lors de la création de la clé secrète dans votre chambre forte, vous devez fournir un certificat de clé secrète qui contient :

  • le certificat SSL du nom d'hôte,
  • la clé privée correspondante, et
  • tous les certificats intermédiaires de la chaîne SSL.

Vous devrez également fournir une phrase secrète si le certificat SSL en requiert une. Vous pouvez les obtenir auprès de votre fournisseur de certificat SSL.

Note

Vous pouvez utiliser openssl pour valider le certificat SSL et la clé privée.

Pour créer et configurer une chambre forte OCI dans la console OCI :

  1. Dans la console OCI, cliquez sur Menu de navigation icône de menu, sélectionnez Identité et sécurité, puis sélectionnez Chambre forte pour ouvrir la page Chambres fortes.
  2. Dans la page Chambres fortes, cliquez sur Créer une chambre forte pour ouvrir le panneau Créer une chambre forte.

    Dans le panneau Créer une chambre forte, vérifiez que vous créez la chambre forte dans le compartiment approprié. Si vous n'êtes pas dans le bon compartiment, sélectionnez-le dans la liste déroulante Créer dans le compartiment.

  3. Entrez un nom pour la chambre forte. Cliquez sur Créer une chambre forte pour retourner à la page Chambres fortes.


    Lorsque vous cliquez sur Create Vault, l'affichage de la nouvelle chambre forte dans le tableau de la page Vaults peut prendre quelques minutes.

  4. Dans le tableau de la page Chambres fortes, cliquez sur le nom de la chambre forte que vous avez créée pour ouvrir la page de détails de la chambre forte.
  5. Créez une clé de chiffrement principale pour la chambre forte.
    1. Ouvrez l'onglet Clés de chiffrement principales de la chambre forte.
    2. Cliquez sur Créer une clé pour ouvrir le panneau Créer une clé.
    3. Entrez un nom pour la clé dans le champ Nom.

      Pour créer la clé, il vous suffit d'entrer un nom. Utilisez les paramètres par défaut pour les autres options.

    4. Cliquez sur Créer une clé pour retourner à l'onglet Clés de chiffrement principales.
  6. Créer la clé secrète.

    Stockez le certificat en tant que clé secrète dans le service de chambre forte OCI. Pour plus d'informations sur les clés secrètes, voir Créer une nouvelle clé secrète.

    1. Ouvrez l'onglet Clés secrètes de la chambre forte.
    2. Cliquez sur Créer une clé secrète pour ouvrir le panneau Créer une clé secrète.
    3. Entrez le nom et la description de la clé secrète.
    4. Dans la liste déroulante Clé de chiffrement, sélectionnez la clé que vous avez créée dans l'onglet Clés de chiffrement principales.
    5. Sélectionnez Génération manuelle des clés secrètes.

      Assurez-vous de sélectionner explicitement la génération manuelle de clé secrète. La valeur par défaut est Génération automatique de clé secrète.



    6. Générez le certificat de clé secrète et collez-le dans le champ Contenu de clé secrète.

      Utilisez le format suivant pour le certificat :

      {
        "key": "-----BEGIN PRIVATE KEY-----\n…..-----END PRIVATE KEY-----\n",
        "cert": "-----BEGIN CERTIFICATE-----\n….-----END CERTIFICATE-----\n",
        "intermediates": [
          "-----BEGIN CERTIFICATE-----\n….-----END CERTIFICATE-----\n",
          "-----BEGIN CERTIFICATE-----\n….-----END CERTIFICATE-----\n"
        ],
        "passphrase": "<private key password if encrypted key is provided>"
      }
      Lors de la génération du certificat, notez les exigences de certificat suivantes :
      • Les éléments key et cert sont requis.
      • Chaque certificat intermédiaire doit être spécifié en tant qu'élément distinct dans un tableau intermediates. Dans la plupart des cas, il n'y aura qu'un intermédiaire. L'intermédiaire est fourni par le fournisseur SSL.
      • Assurez-vous toujours que l'autorité de certification racine finale est spécifiée en tant que dernier élément du tableau. Par exemple, s'il existe trois certificats intermédiaires pour le certificat de feuille, le certificat qui a émis le certificat de feuille doit être l'élément intermediates[0], le certificat qui a émis le certificat intermediates[0] doit être inclus dans l'élément intermediates[1] et le certificat qui a émis le certificat intermediates[1] doit être inclus dans l'élément intermediates[2].
      • L'attribut passphrase n'est requis que si la clé privée est chiffrée avec une phrase secrète. N'incluez pas l'attribut s'il n'est pas obligatoire.
      • Si vous utilisez une clé privée chiffrée, le format suivant est requis (PKCS1 est pris en charge) :
        -----BEGIN RSA PRIVATE KEY-----
        Proc-Type: 4,ENCRYPTED
        -----END RSA PRIVATE KEY-----
        

        Un fichier JSON avec une clé privée chiffrée se présente comme suit :

        {
          "key": "-----BEGIN RSA PRIVATE KEY-----\nProc-Type: 4,ENCRYPTED\n....\n-----END RSA PRIVATE KEY-----",
        ..
        ..
          "passphrase": "<passphrase to decrypt the key>"
        }
        

        Un fichier JSON avec une clé privée non chiffrée se présente comme suit :

        {
          "key": "-----BEGIN RSA PRIVATE KEY-----\nvRXUK08v31bw2rnDLw+vjuX2i8ujHWs\n....\n-----END RSA PRIVATE KEY-----",
        ..
        ..
        }
        
      • Si votre clé privée est au format PKCS8, vous devez la convertir au format PKCS1 :
        openssl rsa -in <input_pkcs8_encrypted_private_key> -out <converted_encrypted_private_key_file_name> -aes256
      Note

      Il est fortement recommandé de générer le certificat JSON à partir de la ligne de commande Linux/Unix ou des utilitaires Unix pour vous assurer que les terminaisons de ligne sont encodées correctement. Des fins de ligne incorrectes entraîneront une erreur.

      • Pour éviter des erreurs manuelles, vous pouvez également convertir votre certificat PEM en une seule ligne contenant "\n", comme prévu, avec les commandes awk suivantes.

        Pour le certificat de feuille :

        awk -v RS= '{gsub(/\n+/, "\\n")}1' <cert_pem_file>

        Pour chaque certificat intermédiaire/racine :

        awk -v RS= '{gsub(/\n+/, "\\n")}1' <each_intermediate_cert_pem_file>

        Pour la clé privée :

        awk -v RS= '{gsub(/\n+/, "\\n")}1' <private_key_pem_file>
      • La dernière version de la clé secrète est utilisée lorsque vous associez un point d'extrémité personnalisé à votre instance au moyen de l'opération de création d'instance ou de modification d'instance. Pour plus d'informations sur les versions de clé secrète, voir Versions de clé secrète et états de rotation.
      • Si vous utilisez un certificat de nom d'hôte dont l'autorité de certification ne se trouve pas dans le magasin de certificats SSL Visual Builder, vous devez également charger le certificat dans votre instance Visual Builder; sinon, une exception est générée dans les scénarios que l'instance appelle elle-même.

      Utilisez les paramètres par défaut pour les autres options de la page Créer une clé secrète.

    7. Cliquez sur Créer une clé secrète pour retourner à l'onglet Clés secrètes.
  7. Créez une politique de gestion des identités et des accès (IAM) pour :
    1. Autoriser le service Visual Builder à lire la version et le contenu de la clé secrète.

      Voici la syntaxe d'une politique pour un service Visual Builder :

      allow group <group-name> to read secret-bundle in compartment <secrets-compartment>

      Voici un exemple :

      allow group VBInstanceAdmins to read secret-bundle in compartment MySecretCompartment

      Si l'instance VB n'est PAS dans un domaine par défaut, vous devez inclure le préfixe de domaine devant le nom du groupe.

      Voici un exemple :

      Allow group mydomain/VBInstanceAdmins to read secret-bundle in compartment MySecretCompartment

    2. Autoriser le groupe d'administrateurs à accéder à la clé secrète, à la clé et à la chambre forte (ou à créer une clé, une clé et une chambre forte) lors de la création ou de la mise à jour d'une instance Visual Builder avec un point d'extrémité personnalisé.

      Voici la syntaxe de la politique :

      allow group <group-name> to manage secrets in compartment <secrets-compartment>

      allow group <group-name> to manage keys in compartment <secrets-compartment>

      allow group <group-name> to manage vaults in compartment <secrets-compartment>

      et voici des exemples :

      Allow group VBInstanceAdmins to manage secrets in compartment MySecretCompartment

      Allow group VBInstanceAdmins to manage keys in compartment MySecretCompartment

      Allow group VBInstanceAdmins to manage vaults in compartment MySecretCompartment

      Si l'instance VB n'est PAS dans un domaine par défaut, vous devez inclure le préfixe de domaine devant le nom du groupe.

      Voici des exemples :

      Allow group mydomain/VBInstanceAdmins to manage secrets in compartment MySecretCompartment

      Allow group mydomain/VBInstanceAdmins to manage keys in compartment MySecretCompartment

      Allow group mydomain/VBInstanceAdmins to manage vaults in compartment MySecretCompartment

    Notez que vous devez spécifier la ressource à retourner dans <resource-type>, comme décrit sous Informations détaillées sur le service de chambre forte.

    Pour la syntaxe de l'énoncé de politique, voir Tableau 3-1 ci-dessus et Demande d'API CreatePolicy.