L’ingénierie de la sécurité commence par définir qui peut agir sur une ressource, quels chemins permettent d’y accéder et quelles preuves en consignent le résultat. Notre limite la plus restreinte est un bucket Cloud Storage au sein d’un projet Google Cloud, accessible via un service Cloud Run. Ce cours étendra cette notion de limite pour y inclure des contrôles liés à l’identité, au réseau, au chiffrement, à la détection et à la vérification.
La gestion des identités et des accès (IAM) autorise un principal à effectuer une action permise sur une ressource. Les stratégies d’autorisation IAM peuvent être héritées depuis l’organisation, le dossier ou le projet jusqu’au bucket. Un compte de service représente l’identité d’une charge de travail, et non celle d’un administrateur humain. Accorder l’autorisation d’accès au bucket uniquement au compte de service utilisé lors de l’exécution limite le périmètre des requêtes au niveau du plan de données.
Les contrôles réseau régissent les chemins de circulation du trafic plutôt que les autorisations sur les ressources. Les règles de pare-feu VPC évaluent le trafic destiné aux interfaces réseau Compute Engine. Cloud Key Management Service (Cloud KMS) gère les clés de chiffrement contrôlées par le client pour les ressources prises en charge. Security Command Center collecte des informations sur la posture de sécurité et les résultats de détection des menaces. Chaque contrôle répond à une question différente ; aucun ne remplace donc l’autorisation IAM.
Examinons comment les contrôles appliqués à l’organisation, au projet et à la ressource convergent au niveau de la limite d’une charge de travail.
Supposons que le projet example-payments-project héberge un service Cloud Run dans la région us-central1. Son compte de service d’exécution écrit les reçus approuvés dans le bucket example-receipts-bucket. Un groupe d’administrateurs examine la configuration. Un compte de service distinct, dédié à l’intégration et à la livraison continues, déploie les révisions. La séparation de ces identités empêche qu’une accréditation de déploiement ne devienne automatiquement une accréditation d’accès aux données.
Le modèle de menaces inclut la compromission d’une accréditation de développeur, un rôle d’exécution aux privilèges excessifs et l’exportation involontaire de données. Le service Cloud Run ne nécessite que les actions spécifiques au bucket. Le groupe d’administrateurs a besoin d’un accès de gestion contrôlé. L’identité de déploiement requiert des autorisations de déploiement, et non des droits étendus d’administration opérationnelle. Cela établit le principe du moindre privilège comme une exigence vérifiable plutôt que comme une simple intention générale.
Visualisons les identités, la région et la ressource de données qui définissent le périmètre de sécurité de cette charge de travail.