Cette page explique comment configurer des identités de charge de travail gérées à l'aide de gcloud CLI.
Ce document explique comment configurer le provisionnement automatique et la gestion du cycle de vie des identités de charge de travail gérées pour Compute Engine. Vous configurez des pools d'autorités de certification pour émettre des certificats à l'aide de Certificate Authority Service. Le service d'autorité de certification est un service Google Cloud hautement disponible et évolutif qui simplifie et automatise le déploiement, la gestion et la sécurité des services d'autorité de certification. Vous pouvez créer des instances de machine virtuelle (VM) provisionnées avec des identifiants X.509 à partir du pool d'autorités de certification configuré. Ces identifiants peuvent ensuite être utilisés pour établir des connexions mTLS entre les charges de travail.
Avant de commencer
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Demandez l'accès aux identités de charge de travail gérées en version preview.
Comprendre les identités de charge de travail gérées
Découvrez ce qu'est l'émission de certificats à l'aide de Certificate Authority Service.
Découvrez comment authentifier les charges de travail Compute Engine à l'aide d'identités de charge de travail gérées.
Enable the IAM and Certificate Authority Service APIs:
gcloud services enable iam.googleapis.com
privateca.googleapis.com Configurez Google Cloud CLI afin d'utiliser le projet ajouté à la liste d'autorisation pour la facturation et les quotas.
gcloud config set billing/quota_project PROJECT_ID
Remplacez PROJECT_ID par l'ID du projet qui a été ajouté à la liste d'autorisation pour l'identité de charge de travail gérée en preview.
Rôles requis
Pour obtenir les autorisations nécessaires pour créer des identités de charge de travail gérées et provisionner des certificats d'identité de charge de travail gérés, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet :
-
Pour créer et configurer des identités de charge de travail gérées :
-
Rôle IAM d'administrateur de pools Workload Identity (
roles/iam.workloadIdentityPoolAdmin
) -
Administrateur de compte de service (
roles/iam.serviceAccountAdmin
)
-
Rôle IAM d'administrateur de pools Workload Identity (
- Pour créer et configurer des pools d'autorités de certification : Administrateur de services d'autorité de certification (
roles/privateca.admin
)
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Le rôle de base IAM "Propriétaire" (roles/owner
) inclut également des autorisations permettant de configurer les identités de charge de travail gérées.
Les rôles de base ne doivent pas être attribués dans un environnement de production, mais ils peuvent être attribués dans un environnement de développement ou de test.
Présentation
Pour utiliser des identités de charge de travail gérées pour vos applications, vous devez effectuer les tâches suivantes :
Administrateur de la sécurité
- Créez des identités de charge de travail gérées dans un pool d'identités de charge de travail.
- Définissez une stratégie d'attestation de charge de travail et créez un compte de service.
- Configurez Certificate Authority Service pour émettre des certificats pour les identités de charge de travail gérées.
- Autorisez les identités de charge de travail gérées à demander des certificats à partir du pool d'autorités de certification.
- Définissez la configuration d'approbation et d'émission de certificats.
- Créez un fichier de configuration pour importer les métadonnées du partenaire pour une VM.
Administrateur de Compute :
Activez les identités de charge de travail gérées pour les charges de travail exécutées dans Compute Engine :
- Pour les VM individuelles
- Pour les groupes d'instances gérés (MIG).
Créer des identités de charge de travail gérées
Les identités de charge de travail gérées permettent à Google Cloud de provisionner automatiquement les identifiants des identités de pool d'identités de charge de travail sur vos charges de travail. Les identités de charge de travail sont définies dans un pool d'identités de charge de travail et sont organisées en limites administratives appelées espaces de noms.
Créer un pool d'identités de charge de travail
Vous devez créer un pool en mode TRUST_DOMAIN
pour créer des identités de charge de travail gérées. Pour créer un pool d'identités de charge de travail pour les identités de charge de travail gérées, utilisez la commande workload-identity-pools create
.
gcloud iam workload-identity-pools create POOL_ID \ --location="global" \ --mode="TRUST_DOMAIN"
Remplacez les éléments suivants :
POOL_ID
: ID unique du pool. L'ID doit comporter entre 4 et 32 caractères. Il ne peut contenir que des caractères alphanumériques minuscules et des tirets. Il doit commencer et se terminer par un caractère alphanumérique. Une fois que vous avez créé un pool d'identités de charge de travail, vous ne pouvez plus modifier son ID.
Pour vérifier que votre pool d'identités de charge de travail a été créé en mode TRUST_DOMAIN
, utilisez la commande workload-identity-pools describe
.
gcloud iam workload-identity-pools describe POOL_ID \ --location="global"
Le résultat de la commande doit ressembler à ce qui suit :
mode: TRUST_DOMAIN name: projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID state: ACTIVE
Si mode: TRUST_DOMAIN
ne figure pas dans le résultat de la commande, vérifiez que votre projet a été ajouté à la liste d'autorisation pour la version preview de l'identité de charge de travail gérée et que vous avez correctement configuré votre gcloud CLI afin d'utiliser le projet approprié pour la facturation et les quotas. Vous devrez peut-être passer à une version plus récente de gcloud CLI.
Créer un espace de nommage
La commande workload-identity-pools namespaces create
vous permet de créer un espace de noms dans un pool d'identités de charge de travail.
gcloud iam workload-identity-pools namespaces create NAMESPACE_ID \ --workload-identity-pool="POOL_ID" \ --location="global"
Remplacez les éléments suivants :
NAMESPACE_ID
: ID unique de l'espace de noms. L'ID doit comporter entre 2 et 63 caractères, ne contenir que des caractères alphanumériques minuscules et des tirets, et commencer et se terminer par un caractère alphanumérique. Une fois que vous avez créé un espace de noms, vous ne pouvez pas modifier son ID.POOL_ID
: ID du pool d'identités de charge de travail que vous avez créé précédemment.
Créer une identité de charge de travail gérée
La commande workload-identity-pools managed-identities create
vous permet de créer une identité de charge de travail gérée dans un pool d'identités de charge de travail.
gcloud iam workload-identity-pools managed-identities create MANAGED_IDENTITY_ID \ --namespace="NAMESPACE_ID" \ --workload-identity-pool="POOL_ID" \ --location="global"
Remplacez les éléments suivants :
MANAGED_IDENTITY_ID
: ID unique de l'identité gérée. L'ID doit comporter entre 2 et 63 caractères, ne contenir que des caractères alphanumériques minuscules et des tirets, et commencer et se terminer par un caractère alphanumérique. Une fois que vous avez créé une identité de charge de travail gérée, vous ne pouvez pas modifier son ID.NAMESPACE_ID
: ID de l'espace de noms que vous avez créé précédemment.POOL_ID
: ID du pool d'identités de charge de travail que vous avez créé précédemment.
L'ID de votre identité de charge de travail gérée est l'identifiant SPIFFE, dont le format est le suivant:
spiffe://POOL_ID.global.PROJECT_NUMBER.workload.id.goog/ns/NAMESPACE_ID/sa/MANAGED_IDENTITY_ID
Définir une règle d'attestation de charge de travail
Cette section explique comment configurer une règle d'attestation. Cette règle détermine les attributs utilisés par Google Cloud IAM pour vérifier l'identité de la charge de travail. Une fois la validation effectuée, la charge de travail appelante peut recevoir un identifiant. La validation repose sur l'un des attributs suivants de la charge de travail:
- ID d'instance de VM
- Adresse e-mail du compte de service associé
- UID du compte de service associé
Définir une règle d'attestation de charge de travail avec des règles d'attestation
Pour créer une règle d'attestation qui permet à votre charge de travail d'utiliser l'identité gérée, procédez comme suit:
Déterminez si vous souhaitez créer une règle d'attestation qui permet à votre charge de travail d'attester l'identité gérée à l'aide de son compte de service associé ou de son ID d'instance.
Créez un fichier de stratégie d'attestation au format JSON.
(Facultatif) Pour recevoir des identifiants X.509 sur votre instance Compute Engine, vous devez activer un compte de service associé. Nous vous recommandons d'associer un nouveau compte de service à votre charge de travail en le créant d'abord à l'aide de la commande suivante:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Remplacez
SERVICE_ACCOUNT_NAME
par le nom du compte de service.Créez un fichier de stratégie d'attestation au format JSON qui atteste en fonction de l'adresse e-mail, de l'UID ou de l'ID d'instance du compte de service.
Adresse e-mail du compte de service
Pour créer un fichier de règles d'attestation qui atteste en fonction de l'adresse e-mail du compte de service, créez un fichier contenant le contenu suivant:
{ "attestationRules": [ { "googleCloudResource": "//compute.googleapis.com/projects/WORKLOAD_PROJECT_NUMBER/type/Instance/attached_service_account.email/SERVICE_ACCOUNT_EMAIL" } ], }
Remplacez les éléments suivants :
WORKLOAD_PROJECT_NUMBER
: numéro du projet contenant l'instance de VM ou le compte de service
Pour obtenir le numéro du projet contenant l'identité gérée ou le compte de service que vous venez de créer, exécutez la commande suivante:
gcloud projects describe $(gcloud config get-value project) \ --format="value(projectNumber)"
SERVICE_ACCOUNT_EMAIL
: adresse e-mail du compte de service associé à la VM
UID du compte de service
Pour créer un fichier de règles d'attestation qui atteste en fonction de l'UID du compte de service, créez un fichier contenant le contenu suivant:
{ "attestationRules": [ { "googleCloudResource": "//compute.googleapis.com/projects/WORKLOAD_PROJECT_NUMBER/type/Instance/attached_service_account.uid/SERVICE_ACCOUNT_UID" } ], }
Remplacez les éléments suivants :
WORKLOAD_PROJECT_NUMBER
: numéro du projet contenant l'instance de VM ou le compte de service
Pour obtenir le numéro de projet du projet contenant l'identité gérée ou le compte de service que vous venez de créer, exécutez la commande suivante:
gcloud projects describe $(gcloud config get-value project) \ --format="value(projectNumber)"
SERVICE_ACCOUNT_UID
: UID du compte de service associé à la VM
ID d'instance
Pour créer un fichier de règles d'attestation qui atteste en fonction de l'ID d'instance, créez un fichier avec le contenu suivant:
{ "attestationRules": [ { "googleCloudResource": "//compute.googleapis.com/projects/WORKLOAD_PROJECT_NUMBER/uid/zones/ZONE/instances/INSTANCE_ID" } ], }
Remplacez les éléments suivants :
WORKLOAD_PROJECT_NUMBER
: numéro du projet contenant l'instance de VM ou le compte de service
Pour obtenir le numéro du projet contenant l'identité gérée ou le compte de service que vous venez de créer, exécutez la commande suivante:
gcloud projects describe $(gcloud config get-value project) \ --format="value(projectNumber)"
INSTANCE_ID
: ID de l'instance de VM Compute Engine
La valeur d'un ID d'instance doit provenir d'une instance Compute Engine existante. Pour obtenir l'ID de votre instance, exécutez la commande suivante:
gcloud compute instances describe INSTANCE_NAME --zone=ZONE --format="get(id)"
INSTANCE_NAME
: nom de l'instance de VM Compute EngineZONE
: zone de la VM Compute Engine
Créez la stratégie d'attestation à l'aide du fichier JSON de stratégie que vous avez créé précédemment dans ce document:
gcloud iam workload-identity-pools managed-identities set-attestation-rules MANAGED_IDENTITY_ID \ --namespace=NAMESPACE_ID \ --workload-identity-pool=POOL_ID \ --policy-file=PATH_TO_POLICY_JSON_FILE \ --location=global
Remplacez les éléments suivants :
MANAGED_IDENTITY_ID
: ID unique de l'identité gérée. L'ID doit comporter entre 2 et 63 caractères, ne contenir que des caractères alphanumériques minuscules et des tirets, et commencer et se terminer par un caractère alphanumérique. Une fois que vous avez créé une identité de charge de travail gérée, vous ne pouvez pas modifier son ID.NAMESPACE_ID
: ID de l'espace de noms que vous avez créé précédemment.POOL_ID
: ID du pool d'identités de charge de travail que vous avez créé précédemment.PATH_TO_POLICY_JSON_FILE
: chemin d'accès au fichier JSON représentant la stratégie d'attestation que vous avez créée précédemment.
Vous pouvez également mettre à jour la stratégie en ajoutant ou en supprimant des règles d'attestation individuellement. Pour ajouter une attestation à votre stratégie d'attestation, exécutez la commande suivante:
gcloud iam workload-identity-pools managed-identities add-attestation-rule MANAGED_IDENTITY_ID \ --namespace=NAMESPACE_ID \ --workload-identity-pool=POOL_ID \ --google-cloud-resource='//compute.googleapis.com/projects/WORKLOAD_PROJECT_NUMBER/type/Instance/attached_service_account.uid/SERVICE_ACCOUNT_UID' \ --location=global
Pour savoir comment lister ou supprimer les règles d'attestation, exécutez les commandes suivantes:
gcloud iam workload-identity-pools managed-identities list-attestation-rules --help gcloud iam workload-identity-pools managed-identities remove-attestation-rule --help
Configurer Certificate Authority Service afin d'émettre des certificats pour les identités de charge de travail gérées
Créez la configuration recommandée pour les autorités de certification racine et subordonnées à l'aide des pools Certificate Authority Service. Le pool d'autorités de certification subordonnées émet les certificats d'identité de charge de travail X.509 pour les VM.
Après avoir configuré les pools d'autorités de certification, vous autorisez les identités de charge de travail gérées à demander et à recevoir les certificats signés à partir des pools d'autorités de certification.
Configurer le pool d'autorités de certification racine
Utilisez l'interface Google Cloud CLI de Certificate Authority Service pour configurer un pool d'autorités de certification racine.
gcloud
Créez le pool de CA racine.
Créez le pool d'autorités de certification racine au niveau Enterprise, conçu pour l'émission de certificats de longue durée, à faible volume, à l'aide de la commande
gcloud privateca pools create
.gcloud privateca pools create ROOT_CA_POOL_ID \ --location=REGION \ --tier=enterprise
Remplacez les éléments suivants :
- ROOT_CA_POOL_ID : ID unique pour le pool d'autorités de certification racine. L'ID peut comporter jusqu'à 64 caractères et ne doit contenir que des caractères alphanumériques minuscules et majuscules, des traits de soulignement ou des traits d'union. L'ID de pool doit être unique dans la région.
- REGION : région où se trouve le pool d'autorités de certification racine.
Pour en savoir plus, consultez Créer des pools d'autorités de certification.
Créez une autorité de certification racine dans le pool d'autorités de certification racine à l'aide de la commande
gcloud privateca roots create
. Vous serez peut-être invité à activer l'autorité de certification racine s'il s'agit de la seule autorité de certification du pool d'autorités de certification racine.Par exemple, vous pouvez utiliser une commande semblable à la suivante pour créer une autorité de certification racine.
gcloud privateca roots create ROOT_CA_ID \ --pool=ROOT_CA_POOL_ID \ --subject "CN=ROOT_CA_CN, O=ROOT_CA_ORGANIZATION" \ --key-algorithm="ec-p256-sha256" \ --max-chain-length=1 \ --location=REGION
Remplacez les éléments suivants :
- ROOT_CA_ID : nom unique de l'autorité de certification racine. Ce nom peut comporter jusqu'à 64 caractères et ne doit contenir que des caractères alphanumériques minuscules et majuscules, des traits de soulignement ou des traits d'union. Le nom de l'autorité de certification doit être unique dans la région.
- ROOT_CA_POOL_ID : ID du pool d'autorités de certification racine.
- ROOT_CA_CN : nom commun de l'autorité de certification racine.
- ROOT_CA_ORGANIZATION : organisation de l'autorité de certification racine.
- REGION : région où se trouve le pool d'autorités de certification racine.
Pour en savoir plus, consultez la section Créer une autorité de certification racine. Pour en savoir plus sur les champs
subject
de l'autorité de certification, consultez la section Objet.(Facultatif) Répétez les étapes précédentes pour créer une autorité de certification racine supplémentaire dans le pool d'autorités de certification racine. Cela peut être utile pour la rotation de l'autorité de certification racine.
Configurer les autorités de certification subordonnées
Utilisez l'interface Google Cloud CLI pour Certificate Authority Service afin de créer un pool d'autorités de certification subordonnée et une autorité de certification subordonnée.
Si vous disposez de plusieurs scénarios d'émission de certificat, vous pouvez créer une autorité de certification subordonnée pour chacun d'entre eux. De plus, l'ajout de plusieurs autorités de certification subordonnées dans un pool d'autorités de certification vous permet d'améliorer l'équilibrage de charge des requêtes de certificat.
gcloud
Utilisez la commande gcloud privateca pools create
pour créer un pool d'autorités de certification subordonnées.
Créez le pool d'autorités de certification subordonnées au niveau DevOps, conçu pour l'émission de certificats de courte durée et à volume élevé.
gcloud privateca pools create SUBORDINATE_CA_POOL_ID \ --location=REGION \ --tier=devops
Remplacez les éléments suivants :
- SUBORDINATE_CA_POOL_ID : ID unique pour le pool d'autorités de certification subordonnée. L'ID peut comporter jusqu'à 64 caractères et ne doit contenir que des caractères alphanumériques minuscules et majuscules, des traits de soulignement ou des traits d'union. L'ID de pool doit être unique dans la région.
- REGION : région dans laquelle créer le pool d'autorités de certification subordonné.
Pour en savoir plus, consultez Créer des pools d'autorités de certification.
Créez une autorité de certification subordonnée dans le pool d'autorités de certification subordonnées à l'aide de la commande
gcloud privateca subordinates create
. Ne modifiez pas le mode d'émission basé sur la configuration par défaut.Par exemple, vous pouvez utiliser une commande semblable à la suivante pour créer une autorité de certification subordonnée.
gcloud privateca subordinates create SUBORDINATE_CA_ID \ --pool=SUBORDINATE_CA_POOL_ID \ --location=REGION \ --issuer-pool=ROOT_CA_POOL_ID \ --issuer-location=REGION \ --subject="CN=SUBORDINATE_CA_CN, O=SUBORDINATE_CA_ORGANIZATION" \ --key-algorithm="ec-p256-sha256" \ --use-preset-profile=subordinate_mtls_pathlen_0
Remplacez les éléments suivants :
- SUBORDINATE_CA_ID : nom unique de l'autorité de certification subordonnée. Ce nom peut comporter jusqu'à 64 caractères et ne doit contenir que des minuscules et majuscules, des traits de soulignement ou des traits d'union. Le nom du pool doit être unique dans la région.
- SUBORDINATE_CA_POOL_ID : nom du pool d'autorités de certification subordonné.
- REGION : région où se trouve le pool d'autorités de certification subordonné.
- ROOT_CA_POOL_ID : ID du pool d'autorités de certification racine.
- REGION : région du pool d'autorités de certification racine.
- SUBORDINATE_CA_CN : nom commun de l'autorité de certification subordonnée.
- SUBORDINATE_CA_ORGANIZATION : nom de l'organisation émettrice de l'autorité de certification subordonnée.
Pour en savoir plus, consultez Créer des pools d'autorités de certification. Pour en savoir plus sur les champs
subject
de l'autorité de certification, consultez la section Objet.
Autoriser les identités de charge de travail gérées à demander des certificats à partir du pool d'autorités de certification
Les identités de charge de travail gérées ont besoin d'autorisations pour demander des certificats à CA Service et obtenir les certificats publics.
gcloud
Accordez le rôle IAM Demandeur de certificat de charge de travail du service CA (
roles/privateca.workloadCertificateRequester
) sur chaque pool d'autorités de certification subordonnées à l'identité de charge de travail gérée. La commandegcloud privateca pools add-iam-policy-binding
suivante autorise l'identité de charge de travail gérée à demander des certificats à partir des chaînes de certificats de CA Service.gcloud privateca pools add-iam-policy-binding SUBORDINATE_CA_POOL_ID \ --location=REGION \ --role=roles/privateca.workloadCertificateRequester \ --member="principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/*"
Remplacez les éléments suivants :
- SUBORDINATE_CA_POOL_ID : ID du pool d'autorités de certification subordonnée.
- REGION : région du pool d'autorités de certification subordonnées.
- PROJECT_NUMBER : numéro de projet du projet contenant le pool d'identités de charge de travail.
- POOL_ID : ID du pool d'identités de charge de travail.
Accordez le rôle IAM Lecteur de pool du service d'autorités de certification (
roles/privateca.poolReader
) sur les pools d'autorités de certification subordonnés à l'identité de charge de travail gérée. Cela permet à l'identité de charge de travail gérée d'obtenir les certificats X.509 signés à partir des chaînes de certificats de l'autorité de certification.gcloud privateca pools add-iam-policy-binding SUBORDINATE_CA_POOL_ID \ --location=REGION \ --role=roles/privateca.poolReader \ --member="principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/*"
Remplacez les éléments suivants :
- SUBORDINATE_CA_POOL_ID : ID du pool d'autorités de certification subordonnée.
- REGION : région du pool d'autorités de certification subordonnées.
- PROJECT_NUMBER : numéro de projet du projet contenant le pool d'identités de charge de travail.
- POOL_ID : ID du pool d'identités de charge de travail.
Définissez la configuration de confiance et d'émission de certificats
Vous utiliserez ces informations pour créer un fichier JSON qui sera importé en tant que données de partenaire lors de la création d'une VM.
Définir la configuration d'émission de certificats
La configuration d'émission de certificats suivante est requise pour activer les identités de charge de travail gérées pour Compute Engine.
{ "primary_certificate_authority_config": { "certificate_authority_config": { "ca_pool": "projects/SUBORDINATE_CA_POOL_PROJECT_ID/locations/REGION/caPools/SUBORDINATE_CA_POOL_ID" } }, "key_algorithm": "ALGORITHM", "workload_certificate_lifetime_seconds": DURATION, "rotation_window_percentage": ROTATION_WINDOW_PERCENTAGE }
Remplacez les éléments suivants :
- SUBORDINATE_CA_POOL_PROJECT_ID: ID du projet contenant le pool d'autorités de certification subordonnées.
- REGION : région où se trouve le pool d'autorités de certification subordonnées
- SUBORDINATE_CA_POOL_ID : nom du pool d'autorités de certification subordonnée
- ALGORITHM : algorithme de chiffrement utilisé pour générer la clé privée. Les valeurs valides sont
rsa-2048
(par défaut),rsa-3072
,rsa-4096
,ecdsa-p256
etecdsa-p384
. - DURATION : (facultatif) durée de validité du certificat d'entité finale, en secondes. La valeur doit être comprise entre 3600 et 315360000. Si aucune valeur n'est spécifiée, la valeur par défaut 86400 est utilisée. La validité réelle du certificat émis dépend également de l'autorité de certification émettrice, car elle peut restreindre la durée de vie de ce certificat.
- ROTATION_WINDOW_PERCENTAGE : (facultatif) pourcentage de la durée de vie du certificat au cours duquel un renouvellement est déclenché. La valeur doit être comprise entre 1 et 100. La valeur par défaut est 66 %. Vous devez définir le pourcentage de la période de rotation en fonction de la durée de validité du certificat afin que le renouvellement du certificat ait lieu au moins sept jours après l'émission du certificat et au moins sept jours avant son expiration.
Définir la configuration de confiance
La configuration de confiance contient l'ensemble des ancres de confiance permettant de valider les certificats de pairs. Éléments inclus :
- URI de ressources de pool d'autorités de certification : ensemble d'URI de ressources de pool d'autorités de certification autorisés à émettre des certificats dans le même domaine de confiance que les VM.
- Certificats CA au format PEM : ensemble de certificats CA au format PEM autorisés à émettre des certificats dans le même domaine de confiance que les VM.
{ "POOL_ID.global.PROJECT_NUMBER.workload.id.goog": { "trust_anchors": [ { "ca_pool": "projects/SUBORDINATE_CA_POOL_PROJECT_ID/locations/REGION/caPools/SUBORDINATE_CA_POOL_ID" }, { "pem_certificate": "PEM_ENCODED_CERTIFICATE" } ] } }
Remplacez les éléments suivants :
- POOL_ID : ID du pool d'identités de charge de travail
- PROJECT_NUMBER : numéro de projet du projet contenant le pool d'identités de charge de travail.
- SUBORDINATE_CA_POOL_PROJECT_ID: ID du projet contenant le pool d'autorités de certification subordonnées.
- REGION : région où se trouve le pool d'autorités de certification subordonné
- SUBORDINATE_CA_POOL_ID : ID du pool d'autorités de certification subordonnée
PEM_ENCODED_CERTIFICATE : (facultatif) ensemble de certificats CA au format PEM approuvés pour émettre des certificats dans le même domaine de confiance que celui auquel les VM appartiennent Ces certificats seront ajoutés à la liste des ancres de confiance du pool d'autorités de certification subordonnées. La commande suivante peut être utilisée pour encoder un fichier
trust-anchor.pem
au format PEM dans une chaîne d'une seule ligne:cat trust-anchor.pem | sed 's/^[ ]*//g' | sed -z '$ s/\n$//' | tr '\n' $ | sed 's/\$/\\n/g'
Créer un fichier de configuration pour importer les métadonnées partenaire d'une VM
Créez un fichier JSON contenant les informations suivantes :
- Configuration de l'identité de charge de travail
- Les informations de la section Définir la configuration d'émission de certificats
- Les informations de la section Définir la configuration de confiance
Enregistrez ce fichier sous le nom CONFIGS.json
. Ce fichier est utilisé lors de la création de VM pour exécuter des applications qui utilisent des identités de charge de travail gérées.
Votre fichier CONFIGS.json
doit ressembler à ce qui suit :
{ "wc.compute.googleapis.com": { "entries": { "certificate-issuance-config": { "primary_certificate_authority_config": { "certificate_authority_config": { "ca_pool": "projects/PROJECT_ID/locations/REGION/caPools/SUBORDINATE_CA_POOL_ID" } }, "key_algorithm": "ALGORITHM" }, "trust-config": { "POOL_ID.global.PROJECT_NUMBER.workload.id.goog": { "trust_anchors": [{ "ca_pool": "projects/PROJECT_ID/locations/REGION/caPools/SUBORDINATE_CA_POOL_ID" }] } } } }, "iam.googleapis.com": { "entries": { "workload-identity": "spiffe://POOL_ID.global.PROJECT_NUMBER.workload.id.goog/ns/NAMESPACE_ID/sa/MANAGED_IDENTITY_ID" } } }
Étapes suivantes
- Configurer l'authentification de la charge de travail à la charge de travail à l'aide de mTLS
- En savoir plus sur la création de pools d'autorités de certification.
Faites l'essai
Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
Essai gratuit