UserDefinedAuthentication (alloydbomni.dbadmin.goog/v1). É possível personalizar o comportamento de autenticação do cliente, como restringir sub-redes de clientes, aplicar SSL/TLS, especificar métodos de autenticação personalizados ou configurar o mapeamento de usuários, definindo entradas personalizadas de pg_hba.conf e pg_ident.conf independentemente da configuração do Active Directory.
Para usar este documento, é necessário ter familiaridade com a
aplicação de arquivos de manifesto do Kubernetes
e o uso da ferramenta de linha de comando kubectl. Para mais informações, consulte
Ferramenta de linha de comando (kubectl).
Antes de começar
Para configurar a autenticação do cliente, você precisa ter o seguinte:
- Um cluster do AlloyDB Omni implantado em um ambiente do Kubernetes.
- Usuários e papéis do banco de dados configurados no cluster.
- A CLI
kubectlinstalada e configurada.
Aplicar o manifesto de recurso personalizado
Aplique o seguinte manifesto de recurso personalizado de autenticação definida pelo usuário:
apiVersion: alloydbomni.dbadmin.goog/v1
kind: UserDefinedAuthentication
metadata:
name: USER_DEFINED_AUTHENTICATION_NAME
namespace: DB_CLUSTER_NAMESPACE
spec:
dbclusterRef:
name: DB_CLUSTER_NAME
pgHbaEntries:
PG_HBA_ENTRIES
pgIdentEntries:
PG_IDENT_ENTRIES
Substitua:
USER_DEFINED_AUTHENTICATION_NAME: o nome do recurso personalizadoUserDefinedAuthentication, por exemplo,DB_CLUSTER_NAME-client-auth.DB_CLUSTER_NAMESPACE: o namespace do Kubernetes para esse recurso personalizado. O namespace precisa corresponder ao namespace do cluster de banco de dados.DB_CLUSTER_NAME: o nome do cluster de banco de dados, que você atribuiu ao criá-lo.PG_HBA_ENTRIES: entradas depg_hba.confcomo uma lista de strings. Essas entradas substituem as entradas padrão empg_hba.conf. Por exemplo, para restringir conexões a uma sub-rede específica, use- "host all all 192.168.1.0/24 scram-sha-256". Para mais informações, consulte O arquivo pg_hba.conf.PG_IDENT_ENTRIES: (opcional) entradaspg_ident.confcomo uma lista de strings. Para implementar o mapeamento de nome de usuário, especifiquemap=no campo "Options" no arquivopg_hba.conf. Se você não precisar do mapeamento de nome de usuário, omita o campopgIdentEntriesdo manifesto. Para mais informações, consulte Mapas de nomes de usuário.
Verificar as regras de autenticação do cliente
Para verificar o status do recurso UserDefinedAuthentication, execute o seguinte comando:
kubectl get userdefinedauthentication -n DB_CLUSTER_NAMESPACE
Verifique se a coluna STATE exibe Ready.
Para ver os detalhes e as condições do recurso, execute o seguinte comando:
kubectl describe userdefinedauthentication USER_DEFINED_AUTHENTICATION_NAME -n DB_CLUSTER_NAMESPACE
Atualizar regras de autenticação do cliente
Para atualizar as regras de autenticação do cliente ou os mapeamentos de usuário, atualize spec.pgHbaEntries
ou spec.pgIdentEntries no arquivo de manifesto e aplique-o novamente:
kubectl apply -f CLIENT_AUTH_MANIFEST.yaml
O operador do AlloyDB Omni recarrega dinamicamente a configuração do PostgreSQL
(pg_ctl reload) sem reiniciar o pod do banco de dados ou causar inatividade.
Excluir regras de autenticação do cliente
Para excluir as regras de autenticação personalizadas e reverter para as regras de autenticação padrão, execute o seguinte comando:
kubectl delete userdefinedauthentication USER_DEFINED_AUTHENTICATION_NAME -n DB_CLUSTER_NAMESPACE
Quando você exclui o recurso UserDefinedAuthentication, o operador do AlloyDB Omni recarrega dinamicamente pg_hba.conf (pg_ctl reload) para restaurar as regras de autenticação padrão sem precisar reiniciar o pod do banco de dados.
A seguir
- Gerenciar usuários e papéis
- Gerenciar políticas de senha
- Referência de CRD do
UserDefinedAuthentication