Configurer un coffre pour une adresse personnalisée

Afin de créer une adresse personnalisée pour votre instance Visual Builder, vous pouvez utiliser Key Management Service dans OCI pour créer un coffre afin de stocker les clés de cryptage maître et les clés secrètes utilisées pour protéger l'accès à votre adresse personnalisée.

Dans la console OCI, vous créez un coffre OCI dans le compartiment dans lequel créer l'adresse personnalisée. Pour plus d'informations sur l'utilisation des coffres, reportez-vous à Utilisation des compartiments, à Présentation de Vault et à Création d'un coffre.

Remarque

Si vous utilisez un équilibreur de charge et un WAF pour protéger votre adresse personnalisée, vous n'avez pas besoin de créer de coffre.

Une fois que vous avez créé et configuré un coffre dans la console OCI, vous pouvez configurer la première adresse personnalisée (principale) de votre instance sur la page de détails de l'instance Visual Builder. Si votre instance dispose déjà d'une adresse principale et que vous voulez en ajouter une autre, vous devez créer une autre adresse à partir de la ligne de commande. De même, si votre instance comporte déjà plusieurs adresses personnalisées et que vous souhaitez les modifier, vous devez également le faire à partir de la ligne de commande. Pour plus de détails, reportez-vous à Création et mise à jour d'adresses alternatives.

Lorsque vous créez la clé secrète dans votre coffre, vous devez fournir un certificat de clé secrète contenant :

  • 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 de passe si le certificat SSL en nécessite une. Vous pouvez les obtenir auprès de votre fournisseur de certificat SSL.

Remarque

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

Pour créer et configurer un coffre OCI dans la console OCI, procédez comme suit :

  1. Dans la console OCI, cliquez sur Menu de navigation l'icône Menu, sélectionnez Identité et sécurité, puis Coffre pour ouvrir la page Coffres.
  2. Sur la page Coffres, cliquez sur Créer un coffre pour ouvrir le panneau Créer un coffre.

    Dans le panneau Créer un coffre, vérifiez que vous créez le coffre dans le compartiment approprié. Si vous ne vous trouvez pas dans le compartiment approprié, sélectionnez-le dans la liste déroulante Create in Compartment (Créer dans le compartiment).

  3. Entrez un nom pour le coffre. Cliquez sur Créer un coffre pour revenir à la page Coffres.


    Une fois que vous avez cliqué sur Créer un coffre, l'affichage du nouveau coffre dans la table de la page Coffres peut prendre quelques minutes.

  4. Dans la table de la page Coffres, cliquez sur le nom du coffre que vous avez créé pour ouvrir la page de détails du coffre.
  5. Créez une clé de cryptage maître pour le coffre.
    1. Ouvrez l'onglet Clés de cryptage maître du coffre.
    2. Cliquez sur Créer une clé pour ouvrir le panneau Créer une clé.
    3. Entrez le nom de la clé dans le champ Nom.

      Pour créer la clé, vous devez uniquement saisir un nom. Utilisez les paramètres par défaut des autres options.

    4. Cliquez sur Créer une clé pour revenir à l'onglet Clés de cryptage maître.
  6. Créez la clé secrète.

    Stockez le certificat en tant que clé secrète dans OCI Vault. Pour plus d'informations sur les clés secrètes, reportez-vous à Création d'une clé secrète.

    1. Ouvrez l'onglet Clés secrètes du coffre.
    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 cryptage, sélectionnez la clé que vous avez créée dans l'onglet Clés de cryptage maître.
    5. Sélectionnez Génération manuelle de clés secrètes.

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



    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 suivantes en matière de certificat :
      • Les éléments key et cert sont requis.
      • Chaque certificat intermédiaire doit être spécifié comme un élément distinct dans un tableau intermediates. Dans la plupart des cas, il n'y aura qu'un seul 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 comme dernier élément du tableau. Par exemple, s'il existe trois certificats intermédiaires pour le certificat feuille, le certificat qui a émis le certificat feuille doit être l'élément intermediates[0], le certificat qui a émis le certificat intermediates[0] doit être l'élément intermediates[1] et le certificat qui a émis le certificat intermediates[1] doit être l'élément intermediates[2].
      • L'attribut passphrase n'est requis que si la clé privée est cryptée avec une phrase de passe. N'incluez pas l'attribut s'il n'est pas obligatoire.
      • Si vous utilisez une clé privée crypté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 crypté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 crypté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
      Remarque

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

      • Pour éviter les 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 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 une adresse personnalisée à votre instance via l'opération de création ou de modification d'instance. Pour plus d'informations sur les versions de clé secrète, reportez-vous à Versions de clé secrète et états de rotation.
      • Si vous utilisez un certificat de nom d'hôte dont l'autorité de certification (CA) ne se trouve pas dans le truststore Visual Builder, vous devez également télécharger le certificat vers 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 des autres options de la page Créer une clé secrète.

    7. Cliquez sur Créer une clé secrète pour revenir à l'onglet Clés secrètes.
  7. Créez une stratégie Identity and Access management (IAM) pour effectuer les opérations suivantes :
    1. Autoriser le service Visual Builder à lire la version et le contenu de la clé secrète.

      Voici la syntaxe de stratégie 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 de groupe.

      Voici un exemple :

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

    2. Autorisez le groupe d'administrateurs à accéder à la clé secrète, à la clé et au coffre (ou à créer une clé secrète, une clé et un coffre), tout en créant ou en mettant à jour une instance Visual Builder avec une adresse personnalisée.

      Voici la syntaxe de la stratégie :

      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 de 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

    Vous devez indiquer la ressource à renvoyer dans <resource-type>, comme décrit dans Détails du service Vault.

    Pour connaître la syntaxe des instructions de stratégie, reportez-vous au tableau 3-1 ci-dessus et à la demande d'API CreatePolicy.