3 votes

Utilisateur sans mot de passe pour Google Cloud SQL (MySQL) en utilisant Cloud SQL Proxy ?

La documentation À propos du proxy SQL dans le nuage contient une ligne, "[P]arce que le proxy se connecte toujours à partir d'un nom d'hôte qui ne peut être accédé que par le proxy, vous pouvez créer un compte d'utilisateur qui ne peut être utilisé que par le proxy. L'avantage est que vous pouvez spécifier ce compte sans mot de passe sans compromettre la sécurité de votre instance ou de vos données".

Existe-t-il un moyen pratique de connecter un client MySQL via le Google Cloud Proxy qui est authentifié à l'aide d'un compte de service qui n'est autorisé à accéder qu'à un utilisateur MySQL spécifique ?

Une façon potentielle de restreindre l'accès lors de l'utilisation du Cloud SQL Proxy est de créer un compte utilisateur MySQL avec l'adresse IP du Cloud SQL Proxy : '[USER_NAME]'@'cloudsqlproxy~[IP_ADDRESS]' . Mais cela ne fonctionnerait pas pour un compte de service qui s'exécute sur plusieurs machines virtuelles dans le nuage. Il s'agit en fait d'une authentification de l'utilisateur MySQL par adresse IP plutôt que par compte de service.

Une deuxième façon de limiter un compte de service à un utilisateur MySQL pourrait être d'utiliser un compte d'utilisateur MySQL '[USER_NAME]'@'cloudsqlproxy~%' et s'appuient sur IAM pour restreindre l'accès. Le compte de service exécutant le client SQL Cloud exige les roles/cloudsql.client qui est équivalent au rôle cloudsql.instances.connect y cloudsql.instances.get autorisations. Malheureusement, si vous accordez ce rôle à plusieurs comptes de service, il semble qu'il n'y ait aucun moyen de les empêcher d'utiliser l'utilisateur MySQL de l'autre.

Une troisième façon d'activer l'authentification sans mot de passe pourrait être d'utiliser des certificats clients ( gcloud sql ssl-certs create [CERT_NAME] client-key.pem --instance [INSTANCE_NAME] ). Mais les clés privées des clients sont encore plus difficiles à gérer que les mots de passe, car elles sont toutes invalidées en même temps, en moins d'un an, lorsque vous rafraîchissez le certificat du serveur : "Lorsque vous rafraîchissez le certificat de votre serveur, vous devez également générer de nouveaux certificats clients ; les certificats clients existants sont révoqués." Il est donc pratiquement impossible de les utiliser en production.

En fait, il semble que le Cloud SQL Proxy ne permette pas de s'authentifier auprès d'un utilisateur MySQL spécifique via un compte de service IAM. Est-ce exact ?

0voto

Yannick MG Points 193

En fait, il semble que le Cloud SQL Proxy ne permette pas de s'authentifier auprès d'un utilisateur MySQL spécifique via un compte de service IAM. Est-ce exact ?

C'est exact. Le Cloud SQL Proxy n'offre aucun mécanisme permettant de restreindre les utilisateurs MySQL auxquels vous avez accès lorsque vous vous connectez à l'aide du proxy. Les connexions effectuées via le proxy sont uniquement limitées par les rôles IAM qui leur sont attribués. Le mécanisme permettant de restreindre quels comptes peuvent accéder à quels utilisateurs consiste à utiliser la protection par mot de passe.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X