Cloud Build assure la conformité avec les clés de chiffrement gérées par le client (CMEK) en chiffrant le disque persistant au moment de la compilation avec une clé éphémère générée pour chaque compilation. Aucune configuration n'est requise. La clé est générée de manière unique pour chaque compilation.
Une fois qu'une compilation a démarré, la clé n'est accessible qu'aux processus de compilation qui en ont besoin pendant 24 heures maximum. Ensuite, la clé est effacée de la mémoire et détruite.
La clé n'est conservée nulle part, n'est pas accessible aux ingénieurs ni au personnel d'assistance de Google et ne peut pas être restaurée. Les données protégées à l'aide d'une telle clé sont définitivement inaccessibles une fois la compilation terminée.
Comment fonctionne le chiffrement par clé éphémère ?
Grâce à l'utilisation de clés éphémères, Cloud Build est parfaitement cohérent et compatible avec une configuration CMEK.
Cloud Build effectue les opérations suivantes pour s'assurer que les disques persistants au moment de la compilation sont chiffrés avec une clé éphémère:
Cloud Build génère une clé de chiffrement aléatoire de 256 bits pour chiffrer chaque disque persistant au moment de la compilation.
Cloud Build exploite la fonctionnalité de clé de chiffrement fournie par le client (CSEK, Customer-Supplied Encryption Key) des disques persistants pour utiliser cette nouvelle clé de chiffrement comme clé de chiffrement de disque persistant.
Cloud Build détruit la clé éphémère dès que le disque est créé. La clé n'est jamais enregistrée ni écrite dans un espace de stockage persistant, et elle est désormais irrécupérable.
Une fois la compilation terminée, le disque persistant est supprimé. À ce stade, aucune trace de la clé ni les données chiffrées du disque persistant ne sont conservées dans l'infrastructure Google.
Dans quels cas le chiffrement par clé éphémère ne s'applique-t-il pas ?
Lorsque vous créez ou déclenchez une compilation à l'aide de la mise en miroir source (et sans utiliser de déclencheurs GitHub), votre code source est stocké dans Cloud Storage ou Cloud Source Repositories. Vous disposez d'un contrôle total sur l'emplacement de stockage du code, y compris le contrôle de son chiffrement.