es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Acceso IAM de GCP a PostgreSQL SQL en GCP

Estoy intentando conectarme a GCP Cloud SQL (PostgreSQL) utilizando la herramienta pgAdmin con un usuario IAM, pero no puedo iniciar sesión.
Me he conectado a través de Cloud SQL Proxy y obtengo un error de autenticación cuando intento iniciar sesión.

No hay mucho en los registros de GCP, excepto el siguiente mensaje:
2021-12-29 11:11:04.854 UTC [1723]: [2-1] db=postgres,user=@.com DETAIL: El llamante no tiene permisos.
La conexión coincide con la línea 20 de pg_hba.conf:
“local all +cloudsqliamuser cloudsql-iam-user”

He agregado este conjunto de roles al usuario IAM.

Aquí se muestra la ejecución exitosa del proxy de Cloud SQL:

Aquí se muestra el error en la terminal de conexión de pg:

En toda la configuración, he seguido este documento de GCP: https://cloud.google.com/sql/docs/postgres/authentication.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Basado en el mensaje de error y en el conjunto de roles asignados al usuario IAM, parece que el problema está relacionado con permisos insuficientes para el usuario IAM.

    Para solucionar el problema, siga los siguientes pasos:

    1. Verifique si el usuario IAM tiene los permisos necesarios de Cloud SQL para la instancia. Puede verificar esto yendo a la página IAM y administración en la consola de GCP y verificando si el usuario tiene los roles necesarios asignados. Idealmente, el usuario debería tener los roles “Visor de Cloud SQL” y “Cliente de Cloud SQL”.
    2. Asegúrese de que la instancia de Cloud SQL tenga habilitado “Usuarios autorizados de IAM de Cloud SQL”. Esto permite que los usuarios con los roles de IAM necesarios puedan acceder a la instancia de la base de datos. Puede verificar esto yendo a la sección “Cloud SQL” en la consola de GCP y verificando si está seleccionada la casilla “Usuarios autorizados de IAM de Cloud SQL”.

    3. Verifique si el archivo pg_hba.conf tiene las configuraciones correctas para el usuario. Puede verificar esto iniciando sesión en la instancia utilizando el proxy de Cloud SQL y verificando el contenido del archivo pg_hba.conf en el directorio “/etc/postgresql/”. Asegúrese de que la configuración “local all +cloudsqliamuser cloudsql-iam-user” esté presente en el archivo.

    4. Verifique que el usuario IAM esté utilizando las credenciales correctas al conectar a la instancia de la base de datos. Verifique si el nombre de usuario y la contraseña son correctos en la herramienta pgAdmin.

    5. Verifique los registros del proxy de Cloud SQL en busca de errores o problemas que puedan estar impidiendo la conexión.

    Si los pasos anteriores no ayudan a resolver el problema, puede intentar usar una cuenta de servicio en lugar de un usuario IAM para autenticar la instancia de Cloud SQL. Consulte la documentación de GCP para obtener más información sobre cómo utilizar cuentas de servicio con instancias de Cloud SQL.

Comments are closed.