Habilita la autenticación de OIDC
Nota: Se requiere autenticación para proteger el centro de administración y el servidor de API de administrador del entorno de producción.
En esta sección, debes habilitar la autenticación en el Centro de administración a través del proveedor de OIDC que elijas. Si no tienes un proveedor de OIDC, sigue las instrucciones en Autentica con Keycloak para instalar uno.
Antes de la configuración, necesitas la siguiente:
- El nombre de dominio que se usa para acceder al centro de administración, que el operador de infraestructura proporciona normalmente, por ejemplo: “anthos.example.com”.
- Un proveedor de OIDC, como los Servicios de federación de Active Directory de Microsoft (AD FS), el SSO de Google o Keycloak. El clúster y tu navegador deben poder conectarse al proveedor de OIDC. El proveedor de OIDC no necesita poder conectarse de forma directa al clúster.
Crea perfiles de identidad
Los perfiles de identidad contienen la configuración necesaria a fin de usar un proveedor de identidad para la autenticación. Sigue estos pasos para crear un perfil de identidad:
Abre la pestaña Identidad y Acceso en el Centro de administración.
En la pestaña Identidad, haz clic en Configurar Anthos Identity Service (OIDC).
Asigna un nombre de perfil fácil de usar en el campo Nombre de perfil. Este es el nombre al que hará referencia el perfil.
Ingresa la URL del proveedor de OIDC, el ID de cliente y el secreto de cliente del proveedor de OIDC.
Establece el campo Reclamación de nombre de usuario. La reclamación del nombre de usuario es la reclamación en el token de OIDC que contiene el nombre de usuario. Por ejemplo, si la reclamación del nombre de usuario es
email
, los usuarios se identifican por el campo de usuarios en el token de OIDC.Cuando configures esta reclamación, asegúrate de que exista en los permisos solicitados.
Configura el campo Prefijo de nombre de usuario. El prefijo del nombre de usuario se usa para distinguir usuarios de diferentes proveedores de identidad. El prefijo de usuario también debe incluirse cuando se asignan permisos de RBAC a los usuarios.
Por ejemplo, si la reclamación del nombre de usuario es
email
y el prefijo de usuario esprefix-
, los usuarios se identificarán comoprefix-sally@example.com
. El usuario essally@example.com
, y el prefijo,prefix-
, se usa para distinguir entre diferentes proveedores de identidad.Configura el campo Reclamación de grupos. En el modo privado de Anthos, el valor predeterminado es
groups
. Consulta la sección Vinculaciones de funciones para obtener más información sobre las vinculaciones de grupos a las funciones.Configura el campo Prefijo de grupo. El prefijo de grupo se usa para distinguir entre grupos de diferentes proveedores de identidad. El prefijo de grupo también se debe incluir cuando se asignan permisos de RBAC a los grupos.
Por ejemplo, si la reclamación del grupo es
groups
y el prefijo de grupo esgroupprefix-
, los grupos se identificarán comogroupprefix-group
. El grupo esgroup
, y el prefijo,groupprefix-
, se usa en el grupo.Opcional: Configura el campo Permisos si los permisos no son
openid email profile
.Los permisos son los identificadores que se usan para especificar qué privilegios de acceso se deben solicitar en el token de ID:
openid
es obligatorio para OIDC.profile
incluye las reclamacionesprofile
predeterminadas del usuario.- Por lo general,
email
incluye las reclamacionesemail
yemail_verified
.
Opcional: Configura el campo Parámetros adicionales si se deben enviar parámetros adicionales al proveedor de OpenID.
Por ejemplo, el campo Parámetros adicionales se puede configurar como
prompt=consent,access_type=offline
para mostrar una pantalla de consentimiento cada vez que se solicite la autorización de permisos de acceso.Si la conexión HTTPS a la página
/.well-known/openid-configuration
o a la página JWKS de tu proveedor de OIDC está protegida por un certificado que no es de confianza (p. ej., un certificado autofirmado), debes completar el campo Certificado de proveedor de OIDC con el certificado HTTPS que usó tu proveedor de OIDC.Codifica el certificado codificado con PEM para el proveedor de OIDC en
base64
. Para crear la string, codifica el certificado, incluidos los encabezados, enbase64
. Incluye la string resultante como una sola línea.Ejemplo:
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tC...k1JSUN2RENDQWFT==
Consulta Autentica con Keycloak para ver un ejemplo de cómo configurar este campo.
Haz clic en Enviar y regresa a la pestaña Identidad y Acceso.
Registra la URL de devolución de llamada con el proveedor de OIDC.
Para crear perfiles de identidad adicionales, haz clic en Agregar en la pestaña Identity Profile.
Aplica perfiles de identidad al clúster de administrador
Los perfiles de identidad deben aplicarse a los clústeres después de crearlos.
Haz clic en Aplicar perfiles a clústeres.
Selecciona la pestaña Clúster de administrador. En la lista desplegable de perfiles, selecciona el nombre del perfil que creaste antes. Puedes seleccionar varios perfiles para aplicarlos al clúster.
Verifica el nombre de dominio del perfil. Este es el nombre de dominio que se asigna al perfil del proveedor de identidad. Se indicará a los usuarios no autenticados que intenten acceder a las rutas de acceso en el dominio que lo hagan con este proveedor de identidad. El operador de infraestructura debe asignar este nombre de dominio.
Si se aplica más de un perfil a la vez, se debe asignar un nombre de dominio diferente a cada perfil.
- Consulta Configura el nombre de dominio para el centro de administración de acceso a fin de obtener información sobre cómo configurar un nombre de dominio para acceder al centro de administración del modo privado de Anthos.
Ingresa un nombre de usuario inicial que obtendrá derechos de acceso de administrador de plataforma (p. ej., alice@example.com, bob@example.com). El nombre de usuario debe tener el prefijo del usuario configurado en el perfil. Por ejemplo, si el prefijo es
prefix-
, el nombre de usuario en el campo Administrador de plataforma inicial debería verse comoprefix-alice@example.com
. Consulta más detalles sobre los administradores de plataforma y la autorización en la sección Funciones de autorización.Aplica la configuración y espera unos minutos hasta que se apliquen las configuraciones y se reinicien los servicios.
Ahora puedes acceder al Centro de administración del modo privado de Anthos a través de tu nombre de dominio. Si no has accedido, se te redireccionará a tu proveedor de OIDC para acceder.
Notas:
- Solo los usuarios que se proporcionaron en el campo de los administradores iniciales de la plataforma pueden acceder al centro de administración web inicialmente. Consulta la sección Configura funciones de autorización para otorgar permisos a más usuarios.
Acceso con identidades federadas al servidor de la API del clúster de Kubernetes de administrador
Los usuarios pueden descargar kubectl-anthos-config.yaml
desde la página “Identidad y Acceso” después de configurar OIDC.
En la página Identidad y acceso, navega a la pestaña Clúster.
Busca el clúster llamado administrador para el clúster de administrador y haz clic en Ver detalles de configuración.
Haz clic en Descargar configuración de acceso a fin de descargar la configuración usada para acceder con identidad al servidor de la API de Kubernetes del clúster de administrador.
IMPORTANTE: Después de configurar OIDC, ${ADMIN_KUBECONFIG}
solo debe usarse en situaciones de emergencia. Es decir, pídele a todos (incluidos los administradores) que accedan a su propia cuenta para realizar operaciones de retención de registros de auditoría con nombres de usuario (ya que ${ADMIN_KUBECONFIG}
autentica a los usuarios como anónimos cluster-admin
en el clúster de administración).
IMPORTANTE: El archivo de salida kubectl-anthos-config.yaml
contiene la configuración necesaria para que los usuarios se autentiquen con el clúster de administrador. Comparte kubectl-anthos-config.yaml
con usuarios de confianza que deberían tener acceso al clúster.
Después de adquirir kubectl-anthos-config.yaml
, los usuarios pueden acceder mediante el comando actl auth login
. Cuando los usuarios acceden de forma correcta a través de un navegador, se produce un kubeconfig. Los usuarios pueden usar ese archivo nuevo para acceder al clúster con sus credenciales federadas:
# Where to store the new kubeconfig
export ADMIN_OIDC_KUBECONFIG=$(pwd)/admin-oidc-kubeconfig
actl auth login --login-config=kubectl-anthos-config.yaml --cluster=admin \
--kubeconfig=${ADMIN_OIDC_KUBECONFIG}
Ahora los usuarios ahora pueden usar ${ADMIN_OIDC_KUBECONFIG}
para acceder a los recursos del clúster de administrador, por ejemplo:
kubectl get pods -n anthos-management-center --kubeconfig=${ADMIN_OIDC_KUBECONFIG}
IMPORTANTE: NO compartas ADMIN_OIDC_KUBECONFIG
con nadie, ya que contiene información de la credencial.
${ADMIN_OIDC_KUBECONFIG}
también se puede usar para autenticar comandos de la CLI actl
, por ejemplo:
actl platform management-center describe --kubeconfig=${ADMIN_OIDC_KUBECONFIG}
Restablece la configuración de autenticación
Si el administrador de la plataforma pierde el acceso al Centro de administración debido a un error en la configuración de autenticación, ejecuta el siguiente comando para restablecer la autenticación de OIDC a la configuración original y obtener la nueva URL de acceso al centro de administración.
IMPORTANTE: Esto borra la configuración de OIDC y no puede recuperarse.
actl auth reset --kubeconfig=${ADMIN_KUBECONFIG}
# Get the new access URL to management center.
actl platform management-center describe --kubeconfig=${ADMIN_KUBECONFIG}