Une instance Compute Engine doit lire à partir d'un bucket Cloud Storage et écrire dans une table BigQuery. Accorder les autorisations minimales requises.
→Créer un compte de service personnalisé. Lui accorder les rôles `roles/storage.objectViewer` et `roles/bigquery.dataEditor`. Attacher ce compte de service à l'instance.
Pourquoi: L'utilisation d'un compte de service personnalisé avec des rôles spécifiques et prédéfinis évite la nature excessivement permissive du compte de service Compute Engine par défaut, en adhérant au principe du moindre privilège.
Accorder à un utilisateur des autorisations pour gérer les instances GCE mais pas pour les supprimer.
→Créer un rôle IAM personnalisé. Commencer avec les autorisations du rôle `roles/compute.instanceAdmin.v1` et supprimer l'autorisation `compute.instances.delete`.
Pourquoi: Les rôles personnalisés offrent la flexibilité d'accorder un ensemble précis d'autorisations lorsque les rôles prédéfinis sont trop larges ou trop restrictifs pour une fonction de travail spécifique.
Un développeur doit se connecter en SSH à une instance Compute Engine qui n'a pas d'adresse IP externe, conformément à la politique de sécurité.
→Accorder au développeur le rôle `roles/iap.tunnelResourceAccessor`. Il peut ensuite se connecter à l'aide de `gcloud compute ssh [INSTANCE_NAME] --tunnel-through-iap`.
Pourquoi: Le transfert TCP d'Identity-Aware Proxy (IAP) fournit une méthode sécurisée basée sur l'identité pour accéder aux instances internes sans hôtes bastion, VPN ou adresses IP publiques.
Référence↗
Autoriser le trafic SSH entrant (port 22) vers des VM spécifiques uniquement depuis la plage d'adresses IP du bureau de l'entreprise.
→Créer une règle de pare-feu VPC avec `direction: INGRESS`, `action: ALLOW`, `protocol/ports: tcp:22`, `source ranges: [CORPORATE_IP_CIDR]`, et `target tags: [par exemple, "allow-ssh"]`. Appliquer le tag aux VM cibles.
Pourquoi: La combinaison des plages sources et des tags cibles offre un moyen précis et évolutif de contrôler le trafic. Elle restreint à la fois *qui* peut se connecter et *à quoi* il peut se connecter.
Empêcher la copie ou l'accès aux données d'un projet BigQuery sensible depuis l'extérieur d'une limite réseau fiable, même avec des identifiants valides.
→Configurer les Contrôles de service VPC. Créer un périmètre de service qui inclut le projet sensible et restreint l'API BigQuery.
Pourquoi: Les Contrôles de service VPC créent un "périmètre de données" virtuel qui contrôle l'accès au niveau de l'API, offrant une défense solide contre l'exfiltration de données que les règles de pare-feu ne peuvent pas.
Fournir à une application tierce un accès en lecture temporaire et limité dans le temps à un objet privé spécifique dans un bucket Cloud Storage.
→Générer une URL signée pour l'objet avec un temps d'expiration court (par exemple, 15 minutes) en utilisant un compte de service avec des autorisations de lecture.
Pourquoi: Les URL signées accordent un accès temporaire, objet par objet, sans exiger que la tierce partie possède un compte Google ou des autorisations IAM. C'est la méthode la plus sécurisée pour ce cas d'utilisation.
Un pod GKE doit accéder en toute sécurité aux API Google Cloud (par exemple, Pub/Sub) sans stocker les clés de compte de service comme secrets Kubernetes.
→Activer Workload Identity sur le cluster GKE. Créer un compte de service Google (GSA) et un compte de service Kubernetes (KSA). Lier le KSA au GSA à l'aide d'une politique IAM. Configurer le pod pour utiliser le KSA.
Pourquoi: Workload Identity est le moyen recommandé et sans clé pour les applications GKE de s'authentifier auprès des services Google Cloud. Il mappe les identités KSA aux identités GSA, ce qui est plus sécurisé que la gestion et la rotation des fichiers de clés.
Référence↗
Une politique d'organisation exige que toutes les données d'un bucket Cloud Storage soient chiffrées à l'aide d'une clé de chiffrement que l'organisation contrôle.
→Créer une clé cryptographique dans Cloud KMS. Lors de la création du bucket Cloud Storage, spécifier cette clé comme clé de chiffrement gérée par le client (CMEK).
Pourquoi: CMEK vous donne le contrôle sur la clé utilisée pour le chiffrement, y compris la rotation et la révocation, tout en tirant parti de l'infrastructure de chiffrement gérée de Google.
Permettre aux employés d'utiliser leurs identifiants Active Directory existants sur site pour accéder aux ressources Google Cloud.
→Configurer Cloud Identity pour la fédération avec Active Directory à l'aide de SAML 2.0. Les utilisateurs s'authentifient auprès d'AD, qui affirme ensuite leur identité à Google Cloud pour l'accès.
Pourquoi: La fédération permet l'authentification unique (SSO) et centralise la gestion des identités dans l'IdP existant (Active Directory), évitant ainsi la nécessité de gérer un ensemble de mots de passe séparé dans Google Cloud.
Accorder à un entrepreneur externe un accès temporaire à un projet, qui devrait expirer automatiquement après 30 jours.
→Ajouter l'entrepreneur en tant que membre IAM avec le rôle requis. Ajouter une condition à la liaison de rôle avec un horodatage d'expiration (`request.time < timestamp("YYYY-MM-DDTHH:MM:SSZ")`).
Pourquoi: Les conditions IAM offrent un contrôle d'accès basé sur les attributs. Les conditions basées sur le temps sont parfaites pour l'accès temporaire, car elles révoquent automatiquement les autorisations sans nettoyage manuel.