HashiCorp Vault
Esta guía configura HashiCorp Vault para que los usuarios inicien sesión con Ironchip mediante OIDC. Incluye la aplicación en Ironchip, el método de autenticación en Vault y las políticas y roles de usuario y de administrador.
Requisitos
Sección titulada «Requisitos»- Acceso a la consola de administración de Ironchip.
- Un usuario con permisos para realizar la configuración en Vault.
Configuración en Ironchip
Sección titulada «Configuración en Ironchip»En la sección Applications puedes ver todos los servicios protegidos que se han añadido a Ironchip y sus características.
-
Haz clic en New application. Se abre una ventana nueva.
-
Elige Custom application.
-
Rellena los parámetros de la nueva aplicación:
-
Nombre de la aplicación.
-
Tipo de integración: OIDC - OAuth 2.0.
-
URIs de redirección:
http://<host-de-tu-servicio>:8250/oidc/callbackhttp://<host-de-tu-servicio>:8200/ui/vault/auth/oidc/oidc/callback

-
-
Haz clic en Add service. El servicio aparece en la sección correspondiente.
Configuración en Vault
Sección titulada «Configuración en Vault»Habilitar el método de autenticación OIDC
Sección titulada «Habilitar el método de autenticación OIDC»-
En la pestaña de acceso (Access), crea un nuevo método de autenticación oidc.

-
Introduce la ruta
oidc, habilita List method when unauthenticated y haz clic en el botón para habilitar el método.
-
En la configuración de OIDC, rellena estos parámetros:
- OIDC discovery url:
https://idp.ironchip.com/oidc - Default role:
demo - OIDC response mode:
query

- OIDC discovery url:
-
Rellena también estos dos campos con los datos que devolvió Ironchip al crear la aplicación:
- OIDC client ID: el ID de cliente.
- OIDC client secret: el secreto del cliente.

-
Haz clic en guardar. El nuevo método de autenticación oidc queda creado.
Crear las políticas
Sección titulada «Crear las políticas»En la pestaña de políticas, si no hay ninguna política default definida, créala con este contenido. Es la política de los usuarios ordinarios, que no tendrán acceso a la pestaña de políticas.
# Allow tokens to look up their own propertiespath "auth/token/lookup-self" { capabilities = ["read"]}
# Allow tokens to renew themselvespath "auth/token/renew-self" { capabilities = ["update"]}
# Allow tokens to revoke themselvespath "auth/token/revoke-self" { capabilities = ["update"]}
# Allow a token to look up its own capabilities on a pathpath "sys/capabilities-self" { capabilities = ["update"]}
# Allow a token to look up its own entity by id or namepath "identity/entity/id/{{identity.entity.id}}" { capabilities = ["read"]}path "identity/entity/name/{{identity.entity.name}}" { capabilities = ["read"]}
# Allow a token to look up its resultant ACL from all policies. This is useful# for UIs. It is an internal path because the format may change at any time# based on how the internal ACL features and capabilities change.path "sys/internal/ui/resultant-acl" { capabilities = ["read"]}
# Allow a token to renew a lease via lease_id in the request body; old path for# old clients, new path for newerpath "sys/renew" { capabilities = ["update"]}path "sys/leases/renew" { capabilities = ["update"]}
# Allow looking up lease properties. This requires knowing the lease ID ahead# of time and does not divulge any sensitive information.path "sys/leases/lookup" { capabilities = ["update"]}
# Allow a token to manage its own cubbyholepath "cubbyhole/*" { capabilities = ["create", "read", "update", "delete", "list"]}
# Allow a token to wrap arbitrary values in a response-wrapping tokenpath "sys/wrapping/wrap" { capabilities = ["update"]}
# Allow a token to look up the creation time and TTL of a given# response-wrapping tokenpath "sys/wrapping/lookup" { capabilities = ["update"]}
# Allow a token to unwrap a response-wrapping token. This is a convenience to# avoid client token swapping since this is also part of the response wrapping# policy.path "sys/wrapping/unwrap" { capabilities = ["update"]}
# Allow general purpose toolspath "sys/tools/hash" { capabilities = ["update"]}path "sys/tools/hash/*" { capabilities = ["update"]}
# Allow checking the status of a Control Group request if the user has the# accessorpath "sys/control-group/request" { capabilities = ["update"]}
# Allow a token to make requests to the Authorization Endpoint for OIDC providers.path "identity/oidc/provider/+/authorize" { capabilities = ["read", "update"]}
Si quieres configurar un usuario administrador, crea una política admin con este contenido:
path "sys/health"{ capabilities = ["read", "sudo"]}
path "sys/policies/acl"{ capabilities = ["list"]}
path "sys/policies/acl/*"{ capabilities = ["create", "read", "update", "delete", "list", "sudo"]}
path "auth/*"{ capabilities = ["create", "read", "update", "delete", "list", "sudo"]}
path "sys/auth/*"{ capabilities = ["create", "update", "delete", "sudo"]}
path "sys/auth"{ capabilities = ["read"]}
path "secret/*"{ capabilities = ["create", "read", "update", "delete", "list", "sudo"]}
path "sys/mounts/*"{ capabilities = ["create", "read", "update", "delete", "list", "sudo"]}
path "sys/mounts"{ capabilities = ["read"]}Crear los roles
Sección titulada «Crear los roles»Con las políticas definidas, crea un rol para cada una. Se hace desde el terminal que ofrece la aplicación Vault. Sustituye CLIENT_ID por el client ID de la aplicación de Ironchip.
Para el usuario común, crea el rol demo:
vault write auth/oidc/role/demo \ bound_audiences="CLIENT_ID" \ allowed_redirect_uris="http://<host-de-tu-servicio>:8200/ui/vault/auth/oidc/oidc/callback" \ allowed_redirect_uris="http://<host-de-tu-servicio>:8250/oidc/callback" \ user_claim="sub" \ policies="default" \ verbose_oidc_logging="true"Para el administrador, crea el rol admin:
vault write auth/oidc/role/admin \ bound_audiences="CLIENT_ID" \ allowed_redirect_uris="http://<host-de-tu-servicio>:8200/ui/vault/auth/oidc/oidc/callback" \ allowed_redirect_uris="http://<host-de-tu-servicio>:8250/oidc/callback" \ user_claim="sub" \ policies="admin" \ verbose_oidc_logging="true"Comprobación
Sección titulada «Comprobación»Antes de probar, comprueba que el usuario está añadido a la aplicación de Ironchip.
- Abre la página de inicio de sesión de Vault y selecciona el método OIDC.
- Si eres un usuario común, deja el Role vacío: Vault usa el rol por defecto
demo. Para entrar como administrador, escribeadmin. - Haz clic en Sign in with OIDC Provider. Vault te redirige a Ironchip.
- Autoriza el acceso con Ironchip. Vuelves a Vault con la sesión iniciada y las políticas del rol.
¿Te ha resultado útil esta página?
Gracias. Lo tendremos en cuenta para mejorar la documentación. Si quieres contarnos qué falta o qué no está claro, escríbenos a support@ironchip.com.