Atribuí um grupo (Microsoft Enterprise) como administrador do servidor Postgres.
Eu sou membro do grupo.
Consigo acessar o banco de dados com o nome do grupo como usuário:
$ ACCESSTOKEN="$(az account get-access-token --resource-type oss-rdbms --output tsv --query accessToken)"
$ psql "host=commonuksouth.postgres.database.azure.com port=5432 dbname=MyDatabase user=MyGroup password='${ACCESSTOKEN}' sslmode=require"
mas não usando meu nome de identidade:
$ ACCESSTOKEN="$(az account get-access-token --resource-type oss-rdbms --output tsv --query accessToken)"
$ psql "host=commonuksouth.postgres.database.azure.com port=5432 dbname=MyDatabase [email protected] password='${ACCESSTOKEN}' sslmode=require"
psql: error: connection to server at "mydatabase.postgres.database.azure.com" (4.234.11.101), port 5432 failed: FATAL: password authentication failed for user "[email protected]"
Por quê? Parece contraintuitivo para os usuários (administradores de banco de dados) saberem qual grupo de segurança devem usar para fazer login no banco de dados.
Considerações importantes ao se conectar como membro do grupo Microsoft Entra:
Use o nome exato do grupo Entra com o qual você está tentando se conectar — a ortografia e as letras maiúsculas são importantes.
Não use o nome ou pseudônimo de um membro do grupo, apenas o nome do grupo.
Se o nome do grupo tiver espaços, coloque uma barra invertida () antes de cada espaço para que funcione.
O token de login que você usa é válido apenas por 5 a 60 minutos, então é melhor pegar um novo antes de efetuar login no banco de dados PostgreSQL.
Consulte o link abaixo: https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/how-to-configure-sign-in-azure-ad-authentication#use-a-token-as-a-password-for-signing-in-with-psql-or-pgadmin