VPC Service Controls pour Anthos Service Mesh géré

Anthos Service Mesh géré est compatible avec une version bêta de VPC Service Controls (VPC-SC) dans tous les canaux Anthos Service Mesh, pour les clusters GKE dont la version est supérieure ou égale à 1.22.1-gke.100.

Avant de commencer

La règle d'administration et le périmètre de service VPC-SC sont configurés au niveau de l'organisation. Assurez-vous de disposer des rôles appropriés pour l'administration de VPC-SC.

Configurer la règle d'administration

  1. Les administrateurs de l'organisation doivent configurer la règle d'administration comme décrit dans cette section. Sinon, VPC-SC ne sera pas appliqué. Modifiez la règle d'administration de votre organisation ou de projets individuels, et définissez la contrainte "Mode VPC-SC autorisé pour les plans de contrôle gérés ASM" sur "COMPATIBLE". à l'aide de la console ou de la commande gcloud suivante :

    gcloud resource-manager org-policies allow \
      meshconfig.allowedVpcscModes COMPATIBLE \
      --project=PROJECT_ID

    Où :

    • PROJECT_ID est l'ID du projet que vous souhaitez mettre à jour.

    ou

    gcloud resource-manager org-policies allow \
      meshconfig.allowedVpcscModes COMPATIBLE \
      --organization=ORGANIZATION_ID

    Où :

    • ORGANIZATION_ID est l'ID de l'organisation que vous souhaitez mettre à jour.

Configurer un périmètre de service VPC-SC

Créez ou mettez à jour votre périmètre de service :

  1. Ajoutez votre projet au périmètre de service. Si vous disposez de plusieurs projets, vous pouvez inclure chaque projet dans le périmètre de service.

  2. Ajoutez des services restreints au périmètre de service.

    Vous devez ajouter des services spécifiques aux listes de services autorisés et restreints dans le périmètre de service, afin que votre cluster Anthos Service Mesh puisse y accéder. L'accès à ces services est également restreint au sein du réseau de cloud privé virtuel (VPC) de votre cluster.

    Le fait de ne pas ajouter ces services peut faire échouer l'installation d'Anthos Service Mesh ou affecter son fonctionnement. Par exemple, si vous n'ajoutez pas l'API Mesh Configuration au périmètre de service, l'installation échouera et les charges de travail ne recevront pas leur configuration Envoy de la part du plan de contrôle géré.

    Console

    1. Pour modifier le périmètre, suivez les étapes décrites dans la section Mettre à jour un périmètre de service.
    2. Cliquez sur la page Modifier le périmètre de service VPC.
    3. Sous Services restreints, Services à protéger, cliquez sur Ajouter des services.
    4. Dans la boîte de dialogue Spécifier les services à limiter, cliquez sur Filtrer les services, puis saisissez API Mesh Configuration.
    5. Cochez la case du service.
    6. Cliquez sur Ajouter l'API Mesh Configuration.
    7. Répétez les étapes 3 à 6 pour ajouter les API Cloud Service Mesh Certificate Authority, GKE Hub, Cloud IAM, Stackdriver Logging, Cloud Trace, Cloud Monitoring, Google Cloud Resource Manager, Cloud Run, Google Compute Engine, Google Container Registry, Artifact Registry et Google Cloud Storage.
    8. Cliquez sur Enregistrer.

    gcloud

    Pour mettre à jour la liste des services limités, exécutez la commande update et spécifiez la liste des services à ajouter, séparés par une virgule :

    gcloud access-context-manager perimeters update PERIMETER_NAME \
      --add-restricted-services=meshconfig.googleapis.com,meshca.googleapis.com,gkehub.googleapis.com,iam.googleapis.com,monitoring.googleapis.com,cloudtrace.googleapis.com,monitoring.googleapis.com,cloudresourcemanager.googleapis.com,run.googleapis.com,compute.googleapis.com,containerregistry.googleapis.com,artifactregistry.googleapis.com,storage.googleapis.com \
      --policy=POLICY_NAME

    Où :

    • PERIMETER_NAME est le nom du périmètre de service que vous souhaitez mettre à jour.

    • POLICY_NAME est le nom (au format numérique) de la règle d'accès de votre organisation. Exemple :330193482019

  3. Cliquez sur le champ Services accessibles par VPC et définissez-le sur "Tous les services restreints" afin que les services restreints à l'étape ci-dessus soient toujours accessibles à partir du périmètre VPC-SC.

  4. Ajoutez une règle d'entrée pour autoriser l'identité exécutant la commande asmcli à accéder au périmètre de service.

    Pour en savoir plus, consultez la section Mettre à jour un périmètre de service.

Installer ASM géré dans un périmètre VPC-SC

Dans cette section, vous n'avez pas besoin de disposer de droits d'administrateur dans l'organisation, mais vous devez respecter la règle VPC-SC : vous devez utiliser l'option supplémentaire --use-vpcsc pendant l'installation, sinon elle ne sera pas en mesure d'effectuer les contrôles de sécurité.

Suivez les étapes de la page Configurer Anthos Service Mesh géré. Vérifiez que le plan de contrôle a bien été provisionné et qu'aucune erreur n'est associée à VPC-SC.

Dépannage

Impossible de créer un cluster avec la dernière image GKE 1.22

Un problème connu empêche la création d'un cluster avec la dernière image 1.22 dans un environnement restreint VPC-SC. La solution consiste à créer d'abord ce cluster avec l'image du canal GKE par défaut, puis à mettre à jour l'image :

gcloud container clusters create CLUSTER \
  --region REGION \
  --release-channel=rapid \
  --workload-pool=PROJECT_ID.svc.id.goog \
  --project PROJECT_ID
gcloud container clusters upgrade CLUSTER \
  --region REGION \
  --master --cluster-version 1.22 \
  --project PROJECT_ID

Impossible de télécharger les images des conteneurs

Cela peut se produire si les images se trouvent en dehors du périmètre de service. Déplacez les images vers un bucket situé à l'intérieur du périmètre, ou mettez à jour le périmètre pour ajouter une règle de sortie. En règle générale, la règle de sortie peut autoriser les identités sélectionnées à accéder à l'API Container Registry, à l'API Artifact Registry et à l'API Cloud Storage.

Le champ "État" de l'objet CRD ControlPlaneRevision affiche des erreurs liées à VPC-SC

Cela peut se produire si vous n'avez pas utilisé l'option "--use-vpcsc" lors de l'installation. Dans ce cas, vous pouvez le relancer.

Sinon, exécutez cette commande pour obtenir plus d'informations sur l'erreur :

gcloud logging read --project=PROJECT_ID \
'protoPayload.metadata.@type=type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata'

Où :

  • PROJECT_ID est l'ID du projet qui rencontre des erreurs.