UserDefinedAuthentication (alloydbomni.dbadmin.goog/v1). Puedes personalizar el comportamiento de la autenticación de clientes,
como restringir las subredes de clientes, aplicar SSL/TLS, especificar
métodos de autenticación personalizados o configurar la asignación de usuarios, definiendo entradas personalizadas de
pg_hba.conf y pg_ident.conf de forma independiente de la configuración de Active Directory.
En este documento, se da por sentado que estás familiarizado con
la aplicación de archivos de manifiesto de Kubernetes
y el uso de la herramienta de línea de comandos de kubectl. Para obtener más información, consulta
Herramienta de línea de comandos (kubectl).
Antes de comenzar
Para configurar la autenticación de clientes, debes tener lo siguiente:
- Un clúster de AlloyDB Omni implementado en un entorno de Kubernetes.
- Son los usuarios y roles de la base de datos configurados en el clúster.
- La CLI de
kubectlinstalada y configurada.
Aplica el manifiesto del recurso personalizado
Aplica el siguiente manifiesto de recurso personalizado de autenticación definido por el usuario:
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
Reemplaza lo siguiente:
USER_DEFINED_AUTHENTICATION_NAME: es el nombre del recurso personalizadoUserDefinedAuthentication, por ejemplo,DB_CLUSTER_NAME-client-auth.DB_CLUSTER_NAMESPACE: Es el espacio de nombres de Kubernetes para este recurso personalizado. El espacio de nombres debe coincidir con el del clúster de base de datos.DB_CLUSTER_NAME: Es el nombre del clúster de base de datos, que asignaste cuando lo creaste.PG_HBA_ENTRIES: Son las entradas depg_hba.confcomo una lista de cadenas. Estas entradas reemplazan las entradas predeterminadas enpg_hba.conf. Por ejemplo, para restringir las conexiones a una subred específica, usa- "host all all 192.168.1.0/24 scram-sha-256". Para obtener más información, consulta El archivo pg_hba.conf.PG_IDENT_ENTRIES: (Opcional) Entradas depg_ident.confcomo una lista de cadenas. Para implementar la asignación de nombres de usuario, especificamap=en el campo de opciones del archivopg_hba.conf. Si no necesitas la asignación de nombres de usuario, omite el campopgIdentEntriesdel manifiesto. Para obtener más información, consulta Asignaciones de nombres de usuario.
Verifica las reglas de autenticación de clientes
Para verificar el estado del recurso UserDefinedAuthentication, ejecuta el siguiente comando:
kubectl get userdefinedauthentication -n DB_CLUSTER_NAMESPACE
Verifica que la columna STATE muestre Ready.
Para ver los detalles y las condiciones de los recursos, ejecuta el siguiente comando:
kubectl describe userdefinedauthentication USER_DEFINED_AUTHENTICATION_NAME -n DB_CLUSTER_NAMESPACE
Actualiza las reglas de autenticación de clientes
Para actualizar las reglas de autenticación de clientes o las asignaciones de usuarios, actualiza spec.pgHbaEntries
o spec.pgIdentEntries en tu archivo de manifiesto y vuelve a aplicarlo:
kubectl apply -f CLIENT_AUTH_MANIFEST.yaml
El operador de AlloyDB Omni vuelve a cargar de forma dinámica la configuración de PostgreSQL
(pg_ctl reload) sin reiniciar el Pod de la base de datos ni generar tiempo de inactividad.
Borra reglas de autenticación de clientes
Para borrar las reglas de autenticación personalizadas y volver a las reglas de autenticación predeterminadas, ejecuta el siguiente comando:
kubectl delete userdefinedauthentication USER_DEFINED_AUTHENTICATION_NAME -n DB_CLUSTER_NAMESPACE
Cuando borras el recurso UserDefinedAuthentication, el
operador de AlloyDB Omni vuelve a cargar de forma dinámica pg_hba.conf (pg_ctl reload)
para restablecer las reglas de autenticación predeterminadas sin necesidad de reiniciar el pod de la base de datos.
¿Qué sigue?
- Administra usuarios y roles
- Administra las políticas de contraseñas
- Referencia de CRD de
UserDefinedAuthentication