Activer l'accès basé sur des certificats avec vos certificats d'entreprise

Cette page explique comment activer l'accès basé sur les certificats avec vos certificats d'entreprise.

Si vous ne disposez pas d'une infrastructure à clé publique (PKI), vous pouvez utiliser certificats provisionnés par Endpoint Verification.

L'une des exigences importantes du modèle d'accès "zéro confiance" est de n'autoriser aux appareils autorisés. L'accès contextuel CBA utilise des certificats et leurs des clés privées stockées dans un keystore sécurisé de l'appareil afin de déterminer n'est pas autorisé. Pour activer cette fonctionnalité, procédez comme suit.

Avant de commencer

Assurez-vous d'avoir créé des niveaux d'accès CBA pour votre projet Google Cloud. Si vous devez créer des niveaux d'accès, consultez Créer des niveaux d'accès pour l'accès basé sur les certificats.

Assurez-vous d'appliquer le contrôle des coûts basé sur les attributs à vos ressources Google Cloud à l'aide de l'une des méthodes suivantes :

Lorsque vous appliquez la CBA à vos ressources Google Cloud, un utilisateur autorisé doit également présenter un certificat d'appareil valide pour y accéder.

Importer les ancres de confiance

Pour autoriser l'accès contextuel afin de collecter et de valider le certificat d'entreprise d'un appareil, vous devez importer les ancres de confiance utilisées pour émettre l'appareil certificat. Les ancres de confiance sont le certificat CA racine autosigné et les certificats intermédiaires et subordonnés pertinents. Pour importer les ancrages de confiance, procédez comme suit :

  1. Dans la console d'administration Google, accédez à Appareils > Réseaux > Certificats, puis sélectionnez l'organisation pour laquelle importer les ancres de confiance. Assurez-vous que l'organisation que vous sélectionnez contient les utilisateurs auxquels vous souhaitez accorder l'accès.

  2. Sélectionnez Ajouter un certificat, puis attribuez un nom à votre certificat racine.

  3. Cliquez sur Importer pour importer le certificat.

  4. Sélectionnez Activer la validation des points de terminaison, puis cliquez sur Ajouter.

Le certificat à importer doit être le certificat CA, qui est l'émetteur des certificats client installés sur les appareils de votre entreprise. Si votre l'entreprise n'a pas encore de certificat CA et les certificats clients correspondants, vous pouvez les créer via la console Google Cloud Certificate Authority Service. La procédure d'installation des certificats client dans les keystores natifs est différente pour chaque système d'exploitation et n'entre pas dans le champ d'application de ce document.

Configurer le navigateur Chrome des utilisateurs pour qu'il utilise votre certificat d'entreprise

Suivez les instructions de la section Configurer la validation des points de terminaison pour installer l'extension Endpoint Verification pour Chrome pour tous les utilisateurs de votre organisation. Cette extension permet de synchroniser les métadonnées de certificat avec le backend de Google Cloud.

Après avoir configuré l'extension du navigateur, configurez la règle Chrome AutoSelectCertificateForURLs pour autoriser Endpoint Verification à rechercher le certificat de l'appareil et à le collecter via Chrome.

  1. Assurez-vous que le navigateur Chrome des utilisateurs est géré par la gestion cloud du navigateur Chrome :

  2. Dans la console d'administration, ajoutez la règle AutoSelectCertificateForUrls :

    1. Accédez à Appareils > Chrome > Paramètres > Utilisateurs et Paramètres du navigateur > Client certificats.

    2. Sélectionnez l'unité organisationnelle appropriée.

    3. Ajoutez une règle.

      L'exemple suivant ajoute la règle AutoSelectCertificateForUrls:

      {"pattern":"https://[*.]clients6.google.com","filter":{"ISSUER":{"CN":<CERT_ISSUER>}}}
      {"pattern":"https://console-secure.cloud.google.com","filter":{"ISSUER":{"CN":<CERT_ISSUER>}}}
      {"pattern":"https://storage.mtls.cloud.google.com","filter":{"ISSUER":{"CN":<CERT_ISSUER>}}}
      

      Dans cet exemple, CERT_ISSUER est le nom commun de votre certificat CA.

Après cette configuration, les utilisateurs peuvent accéder aux ressources Google Cloud protégées avec le navigateur Chrome à l'adresse console-secure.cloud.google.com.

Vérifier la configuration des règles (facultatif)

  1. Dans le navigateur Chrome, saisissez chrome://policy.

  2. Vérifiez que AutoSelectCertificateForUrls figure bien dans la liste Règles Chrome.

  3. Vérifiez que la valeur de S'applique à est Machine. Sur le système d'exploitation Chrome, la valeur de S'applique à est Utilisateur actuel.

  4. Assurez-vous que l'état Status (État) de la règle n'indique pas Conflict (Conflit). Si l'état présente un conflit, consultez Fonctionnement de la gestion des règles Chrome pour en savoir plus.

Configurez des outils de ligne de commande pour utiliser votre certificat d'entreprise

Si les utilisateurs de votre organisation doivent accéder aux ressources Google Cloud à partir de la ligne de commande, ils doivent suivre les procédures suivantes pour activer l'accès avec authentification par carte d'identité professionnelle avec votre certificat d'entreprise dans leurs outils de ligne de commande.

Les outils de ligne de commande suivants sont compatibles:

  • Google Cloud CLI

  • CLI Terraform (gcloud CLI est toujours nécessaire pour installer et configurer les composants de l'application auxiliaire.)

Étant donné que les certificats de l'appareil sont stockés dans des keystores natifs, la CLI Google Cloud est fournie avec un composant open source appelé Enterprise Certificate Proxy (ECP) pour interagir avec les API de gestion des clés.

Si vous utilisez un système Windows, vous devez avoir installé la bibliothèque d'exécution Visual Studio C++.

Les systèmes d'exploitation suivants et leurs keystores natifs respectifs sont compatibles:

  • macOS avec Keychain

  • Microsoft Windows avec CryptoAPI

  • Linux avec PKCS #11

L'ECP doit être configuré avec les informations de métadonnées nécessaires pour localiser le certificat dans les keystores.

Installer et configurer ECP avec la Google Cloud CLI

  1. Installez la Google Cloud CLI et activez la CBA. Installer avec l'option bundled python activée.

  2. Pour macOS et Linux, exécutez le script install.sh après l'avoir téléchargé :

    $ ./google-cloud-sdk/install.sh
    
  3. Installez le composant d'assistance ECP avec la Google Cloud CLI :

    gcloud components install enterprise-certificate-proxy
    
  4. Initialisez la configuration du certificat ECP à l'aide de la Google Cloud CLI:

Linux

$ gcloud auth enterprise-certificate-config create linux
  --label=<CERT_LABEL> --module=<PKCS11_MODULE_PATH> --slot=<SLOT_ID>

Exemple :

$ gcloud auth enterprise-certificate-config create linux
  --label="Google Endpoint Verification" --module=/usr/lib/x86_64-linux-gnu/pkcs11/libcredentialkit_pkcs11.so.0 --slot=0x1234567

macOS

$ gcloud auth enterprise-certificate-config create macos
  --issuer=<CERT_ISSUER>

Exemple :

$ gcloud auth enterprise-certificate-config create macos
  --issuer="Google Endpoint Verification"

Windows

$ gcloud auth enterprise-certificate-config create windows
  --issuer=<CERT_ISSUER> --provider=<PROVIDER> --store=<STORE>

Exemple :

$ gcloud auth enterprise-certificate-config create windows
  --issuer="Google Endpoint Verification" --provider=current_user --store=MY

Vous pouvez également configurer manuellement la configuration ECP. Il est stocké sous forme de fichier JSON à l'emplacement suivant sur l'appareil de l'utilisateur :

  • Linux et macOS : ~/.config/gcloud/certificate_config.json

  • Windows : %APPDATA%\gcloud\certificate_config.json

Consultez le Documentation ECP sur GitHub pour obtenir des exemples supplémentaires de configuration et de schéma.

Linux

{
  "cert_configs": {
    "pkcs11": {
      "label": "<CERT_LABEL>",
      "slot": "<SLOT_ID>",
      "module": "<PKCS11_MODULE_PATH>"
    }
  },
  "libs": {
    "ecp": "/usr/lib/google-cloud-sdk/bin/ecp",
    "ecp_client": "/usr/lib/google-cloud-sdk/platform/enterprise_cert/libecp.so",
    "tls_offload": "/usr/lib/google-cloud-sdk/platform/enterprise_cert/libtls_offload.so"
  }
}

macOS

{
  "cert_configs": {
      "macos_keychain": {
        "issuer": "<CERT_ISSUER>"
      }
  },
  "libs": {
    "ecp": "<YOUR_GCLOUD_INSTALL_PATH>/google-cloud-sdk/bin/ecp",
    "ecp_client": "<YOUR_GCLOUD_INSTALL_PATH>/google-cloud-sdk/platform/enterprise_cert/libecp.dylib",
    "tls_offload": "<YOUR_GCLOUD_INSTALL_PATH>/google-cloud-sdk/platform/enterprise_cert/libtls_offload.dylib"
  }
}

Windows

{
  "cert_configs": {
    "windows_store": {
      "store": "MY",
      "provider": "current_user",
      "issuer": "<CERT_ISSUER>"
    }
  },
  "libs": {
    "ecp": "C:/Users/<USERNAME>/AppData/Local/Google/Cloud SDK/google-cloud-sdk/bin/ecp.exe",
    "ecp_client": "C:/Users/<USERNAME>/AppData/Local/Google/Cloud SDK/google-cloud-sdk/platform/enterprise_cert/libecp.dll",
    "tls_offload": "C:/Users/<USERNAME>/AppData/Local/Google/Cloud SDK/google-cloud-sdk/platform/enterprise_cert/libtls_offload.dll"
  }
}

Après cette configuration, les utilisateurs peuvent accéder aux ressources Google Cloud protégées à l'aide d'outils de ligne de commande en activant l'indicateur CBA.

Pour activer l'activité CBA pour Google Cloud CLI, définissez le context_aware/use_client_certificate sur true.

Pour activer l'analyse automatique des données pour tous les autres outils de ligne de commande, y compris Terraform, définissez la variable d'environnement GOOGLE_API_USE_CLIENT_CERTIFICATE à true.

Étape suivante