Creación de reglas dinámicas para grupos de acceso
Puede crear reglas dinámicas para añadir de forma automática usuarios federados a grupos de acceso en función de determinados atributos de identidad. Cuando los usuarios inician una sesión con un ID federado, los datos del proveedor de identidades (IdP) correlacionan dinámicamente los usuarios con un grupo de acceso basado en las reglas que establece.
Los usuarios ya tienen información de identidad específica en el dominio de su empresa y, cuando inician una sesión con un ID federado, estos datos pueden pasarse utilizando aserciones de SAML. Las aserciones de SAML o las sentencias de atributos que se han configurado en el IdP proporcionan los datos que se utilizan para crear cada regla. Por ejemplo, puede tener una sentencia de atributo true o false que define el usuario como un gestor. Esta información puede utilizarse para añadir todos los usuarios que son gestores a un grupo de acceso específico para los gestores que ha creado en su cuenta de IBM Cloud®. Para obtener más información, consulte el tutorial sobre cómo Controlar el acceso a los recursos de la nube y una regla de ejemplo.
Solo los usuarios que ya están invitados a la cuenta pueden correlacionarse con grupos de acceso utilizando reglas dinámicas.
Configuración de reglas utilizando la consola
Las reglas dinámicas se crean estableciendo condiciones que deben coincidir con los datos que se configuran en el IdP y que se pasan con el ID federado de un usuario durante el inicio de sesión. Puede añadir más de una condición para una regla. Deben cumplirse todas las condiciones establecidas en la regla para que se pueda añadir un usuario a un grupo de acceso.
Para crear una regla, siga estos pasos:
- En la consola de IBM Cloud, pulse Gestionar > Acceso (IAM) y seleccione Grupos de acceso.
- Seleccione el nombre del grupo de acceso para el que desea crear una regla. Esta acción abre la página Detalles del grupo.
- Seleccione Reglas dinámicas.
- Pulse Añadir regla.
- Especifique la información del IdP que se proporciona de forma dinámica en la página Añadir regla. La lista siguiente proporciona los detalles de cada campo necesario.
Puede considerar una regla de grupo de acceso como un par de clave:valor. La clave es lo que añade en el campo Add users when y el valor es lo que especifica en el campo Values.
Para obtener más información sobre los campos que se utilizan para crear reglas dinámicas, consulte Propiedades de condición IAM.
Configuración de reglas utilizando Terraform
Antes de configurar reglas mediante Terraform, asegúrese de haber completado lo siguiente:
- Instale Terraform CLI y configure el complemento IBM Cloud Provider para Terraform. Para más información, consulte el tutorial de Introducción a Terraform en IBM Cloud®. El plug-in abstrae las API de IBM Cloud que se utilizan para completar esta tarea.
- Cree un archivo de configuración de Terraform denominado
main.tf. En este archivo se definen los recursos utilizando el lenguaje de configuración HashiCorp. Para más información, consulte la documentación de Terraform.
Las reglas dinámicas se crean estableciendo condiciones que deben coincidir con los datos que se configuran en el IdP y que se pasan con el ID federado de un usuario durante el inicio de sesión. Puede añadir más de una condición para una regla. Deben cumplirse todas las condiciones establecidas en la regla para que se pueda añadir un usuario a un grupo de acceso.
Para crear una regla utilizando Terraform, siga estos pasos:
-
Cree un argumento en su archivo
main.tf. El ejemplo siguiente crea una nueva regla dinámica para un grupo de acceso utilizando el recursoibm_iam_access_group_dynamic_rule, dondenamees un nombre exclusivo para identificar la regla dinámica.resource "ibm_iam_access_group_dynamic_rule" "rule1" { name = "newrule" access_group_id = "AccessGroupId-dsnd4bvsaf" expiration = 4 identity_provider = "test-idp.com" conditions { claim = "blueGroups" operator = "CONTAINS" value = "\"test-bluegroup-saml\"" } }Para obtener más información, consulte los detalles de referencia del argumento en la página Documentación de Terraform.
Automatice la afiliación dinámica con el módulo IAM Access Groups para la gestión federada de usuarios. Más información sobre los módulos de Terraform IBM.
El siguiente ejemplo demuestra el uso de los módulos Terraform IBM (TIM) para crear un grupo de acceso con reglas dinámicas:
module "access_group" {
source = "terraform-ibm-modules/iam-access-group/ibm"
version = "X.X.X" # Replace with the latest version
access_group_name = "federated-managers"
access_group_description = "Access group for federated managers"
dynamic_rules = [
{
name = "manager-rule"
expiration = 12
identity_provider = "https://idp.example.org/SAML2"
conditions = [
{
claim = "isManager"
operator = "EQUALS"
value = "true"
}
]
}
]
}
Para más opciones de configuración y ejemplos, consulte la documentación del módulo Grupos de Acceso IAM.
-
Después de terminar de crear el archivo de configuración, inicializa Terraform CLI. Para más información, consulte Inicializar directorios de trabajo.
terraform init -
Aprovisione los recursos desde el archivo
main.tf. Para obtener más información, consulte Aprovisionamiento de infraestructura con Terraform.-
Ejecute
terraform planpara generar un plan de ejecución Terraform para previsualizar las acciones propuestas.terraform plan -
Ejecute
terraform applypara crear los recursos definidos en el plan.terraform apply
-
Para obtener más información sobre los campos que se utilizan para crear reglas dinámicas, consulte Propiedades de condición IAM.
Visualización de miembros dinámicos de grupos de acceso
Puede ver los usuarios que se añaden a un grupo de acceso utilizando reglas dinámicas. Para ver miembros dinámicos de grupos de acceso, vaya a Gestionar > Acceso (IAM) > Grupos de acceso en la consola de IBM Cloud. Seleccione un grupo de acceso y pulse Usuarios. Los usuarios añadidos dinámicamente se indican mediante el tipo Dynamic.
Los siguientes usuarios no aparecerán en la tabla:
- Usuarios añadidos dinámicamente que aún no han iniciado sesión.
- Usuarios añadidos dinámicamente cuya sesión ha expirado.
Los usuarios dinámicos que han iniciado la sesión pero cuyas sesiones siguen siendo válidas siguen apareciendo en la tabla hasta que caduquen sus sesiones.
No puede eliminar manualmente un usuario dinámico. Para eliminar un usuario dinámico, ajuste las reglas dinámicas.
Visualización de la pertenencia dinámica a grupo de un usuario
También puede ver una lista de grupos de acceso a los que se añade un usuario basándose en reglas dinámicas siguiendo los pasos siguientes:
- Vaya a Gestionar > Acceso (IAM) > Usuarios en la consola de IBM Cloud.
- Pulse en un usuario.
- Haz clic en Acceso.
- Los grupos de acceso de los que un usuario es miembro dinámico se indican mediante el tipo
Dynamic.
Regla de ejemplo
El siguiente ejemplo incluye valores para cada uno de los campos de una regla dinámica. En esta regla, los usuarios que se identifican como gestores dentro del IdP federado se correlacionan con un grupo de acceso de IBM Cloud que tiene un acceso específico definido solo para gestores.
| Campo | Valor |
|---|---|
| Nombre | Regla de grupo de gestores |
| Proveedor de identidad | https://idp.example.org/SAML2 |
| Caducidad (en horas) | 12 |
| Añadir usuarios cuando (nombre de atributo) | isManager |
| Comparador | Igual que |
| Valor | true |