Compartir a través de


Grupos de reglas y reglas

Actualizado: 19 de junio de 2015

Se aplica a: Azure

En Microsoft Azure Active Directory Access Control (también conocido como Access Control Service o ACS), un grupo de reglas es un conjunto con nombre de reglas de notificación que definen qué notificaciones de identidad se pasan de proveedores de identidad a la aplicación de usuario de confianza. En ACS, los grupos de reglas están asociados a aplicaciones de usuario de confianza. Un grupo de reglas puede usarse por más de una aplicación del usuario de confianza y una aplicación del usuario de confianza puede hacer referencia a más de un grupo de reglas.

Cuando ACS recibe una solicitud de token o un token de un proveedor de identidades, se ejecuta a través de todos los grupos de reglas asociados a la aplicación de usuario de confianza para procesar las notificaciones en el token. Todos los grupos de reglas se ejecutan simultáneamente, igual que todas las reglas de cada grupo de reglas (no importa el orden). Si las reglas hacen que se emitan nuevas notificaciones una vez completada la ejecución, los grupos de reglas asociados con la aplicación del usuario de confianza se ejecutan de nuevo. El proceso de ejecución de reglas y grupos de reglas se detiene cuando no se emiten notificaciones nuevas después de que el proceso de ejecución se complete o después de que ACS complete diez recorridos (lo que ocurra primero).

Puede crear y editar reglas y grupos de reglas manualmente, mediante el Portal de administración de ACS o mediante programación, mediante el servicio de administración de ACS.

Configuración de reglas mediante el Portal de administración de ACS

Creación de grupos de reglas

Al agregar y configurar las propiedades de una nueva aplicación de usuario de confianza en el Portal de administración de ACS, también puede crear un grupo de reglas asociado a esta aplicación de usuario de confianza, ya que, de forma predeterminada, la opción Crear nuevo grupo de reglas se activa en la página Agregar aplicación de usuario de confianza del Portal de administración de ACS. Se recomienda encarecidamente mantener esta opción seleccionada y crear un grupo de reglas predeterminado para la nueva aplicación del usuario de confianza. (Para obtener más información, vea "Grupos de reglas" en Aplicaciones de usuario de confianza). También puede agregar grupos de reglas mediante la sección Grupos de reglas del Portal de administración de ACS. A continuación, a medida que agrega aplicaciones del usuario de confianza mediante la página Agregar aplicación de usuario de confianza, puede asociarlas con uno o más grupos de reglas existentes.

Generación de reglas

Una vez creado un grupo de reglas, puede usar la página Editar grupo de reglas del Portal de administración de ACS para generar automáticamente reglas. Si decide generar reglas automáticamente, deberá seleccionar los proveedores de identidad para los que desea generar las reglas. Cuando el grupo de reglas está vinculado a una o más aplicaciones de usuarios de confianza, los proveedores de identidad que usan esas aplicaciones de usuarios de confianza se seleccionan de forma predeterminada.

Nota

Para los proveedores de identidades de WS-Federation, se crea una regla para cada tipo de notificación que se ofrece en los metadatos de WS-Federation del proveedor de identidades y esta regla pasa por el tipo de notificación y el valor. Para otros proveedores de identidades, las reglas de acceso directo se generan basándose en una lista de los tipos de notificaciones predeterminadas.

Visualización, adición y edición de reglas

La página Editar grupo de reglas del Portal de administración de ACS muestra todas las reglas de una tabla, donde las columnas incluyen la notificación de salida de la regla, el emisor de notificaciones (puede ser un proveedor de identidades o ACS) y una descripción.

Si hace clic en una regla determinada en la tabla se le redirigirá a la página Editar regla de notificación, donde se puede editar la regla. Para agregar una nueva regla manualmente, puede hacer clic en Agregar.

Reglas de notificación

Las reglas de notificación describen la lógica de cómo ACS transforma las notificaciones de entrada en notificaciones de salida. Las reglas están contenidas en grupos de reglas, que están asociados a aplicaciones de usuario de confianza y se ejecutan cada vez que ACS emite un token para una aplicación. Si un grupo de reglas no contiene ninguna regla, no se emite ningún token para la aplicación del usuario de confianza. Normalmente, se requiere una regla para cada tipo de notificación que desea emitir para la aplicación del usuario de confianza. Es posible crear y usar solo una regla para todos los valores y tipos de notificación. Sin embargo, usar una regla por cada tipo de notificación mejora la seguridad y proporciona mayor control sobre los datos que se pasan a la aplicación.

En ACS, puede configurar una regla para pasar una notificación recibida de un proveedor de identidades o un cliente a través de a la aplicación de usuario de confianza sin cambiar el tipo, emisor o valor de la notificación. Estas reglas se denominan reglas de acceso directo. Por ejemplo, los tokens emitidos por Windows Live ID (cuenta Microsoft) contienen un tipo de notificación nameidentifier. Para pasar esta notificación sin cambios a la aplicación de usuario de confianza, debe configurar una regla de paso a través que procese el tipo de notificación nameidentifier de entrada del emisor de notificaciones, Windows Live ID y cree una notificación de salida idéntica.

En la tabla siguiente se muestran notificaciones que se pasan a través de un proveedor de identidad AD FS 2.0 ficticio denominado Contoso.com.

Notificaciones de entrada Notificaciones de salida

Emisor

Tipo

Valor

Emisor

Tipo

Valor

Contoso.com

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

123456789

Access Control Service

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

123456789

Contoso.com

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

john@contoso.com

Access Control Service

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

john@contoso.com

Contoso.com

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/name

John Doe

Access Control Service

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/name

John Doe

El motor de reglas de ACS también proporciona la capacidad de transformar las notificaciones de entrada en notificaciones de salida completamente diferentes, en función del emisor de notificaciones, el tipo de notificación de entrada y el valor. En otras palabras, el motor de reglas de ACS permite transformar los tokens de entrada en diferentes tokens de salida agregando, quitando o cambiando las notificaciones que contienen los tokens. Esta forma de transformación de notificaciones hace que ACS sea capaz de implementar la autorización básica en función de los valores de entrada de notificación. En el ejemplo siguiente se muestra un tipo de notificación de "rol" con un valor de "administrador" que se va a emitir si la notificación de entrada "nameidentifier" coincide con un valor específico.

Notificaciones de entrada Notificaciones de salida

Emisor

Tipo

Valor

Emisor

Tipo

Valor

Contoso.com

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

123456789

Access Control Service

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

administrator

El motor de reglas de ACS también proporciona la capacidad de crear notificaciones de salida basadas en una combinación de dos notificaciones de entrada. En el ejemplo siguiente, la notificación de salida es de tipo "action" con un valor de "escritura" si las notificaciones de entrada "nameidentifier" y "role" de Contoso.com coinciden con valores específicos. Cuando se especifican dos notificaciones de entrada en una regla, ambos valores deben coincidir para generar la notificación de salida.

Notificaciones de entrada Notificaciones de salida

Emisor

Tipo

Valor

Emisor

Tipo

Valor

Contoso.com

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

123456789

Access Control Service

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/action

escritura

Contoso.com

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/role

administrator

Para obtener más información y pasos sobre cómo implementar la transformación de tokens mediante reglas, consulte Cómo: Implementar lógica de transformación de tokens mediante reglas.

Al agregar reglas de notificación nuevas o editas existentes con el Portal de administración de ACS, debe configurar las siguientes opciones:

Condiciones de regla (si): agregar una notificación de entrada

Esta sección contiene las condiciones que deben cumplirse para poder emitir una notificación de salida. Entre ellas, figuran las siguientes:

  • Emisor de la notificación: hace referencia a la entidad que emitió la notificación de entrada. Puede ser un proveedor de identidades configurado (por ejemplo, ) o ACS. ACS es el emisor si la notificación de entrada procede de una identidad de servicio o la notificación de entrada procede de otra regla de notificación. Para más información, consulte Identidades de servicio.

  • Tipo de notificación de entrada: hace referencia al tipo de notificación de entrada recibido del emisor de notificaciones. Por ejemplo, el tipo de notificación completo para "nameidentifier" es https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier. Las opciones de este campo incluyen:

    • Cualquier: devuelve true si se recibe cualquier tipo de notificación del emisor.

    • Seleccionar tipo: devuelve true si el tipo de notificación de entrada coincide con el tipo seleccionado en el menú desplegable. Este menú se rellena con los tipos de notificación disponibles para el emisor de notificación seleccionado.

    • Escribir tipo: devuelve true si el tipo de notificación de entrada coincide con el valor exacto especificado en el campo.

      Importante

      Este campo distingue mayúsculas de minúsculas.

  • Valor de notificación de entrada: hace referencia al valor de la notificación de entrada recibido. Por ejemplo, el tipo de notificación "nameidentifier" usa una dirección de correo electrónico, ya que su valor y este campo pueden usarse para comprobar una dirección de correo electrónico específica. Las opciones de este campo incluyen:

    • Cualquier: devuelve true si se recibe cualquier valor de notificación del emisor.

    • Escribir valor: devuelve true si el tipo de notificación de entrada coincide con el valor exacto especificado en el campo. Esta opción requiere seleccionar un tipo de notificación de entrada específica o introducida en el campo Tipo de notificación de entrada.

      Importante

      Este campo distingue mayúsculas de minúsculas.

Condiciones de regla (si): agregar una segunda notificación de entrada

Para agregar una segunda notificación a la regla, haga clic en Agregar una segunda notificación de entrada. Esto permite especificar las condiciones adicionales que se muestran a continuación. Tenga en cuenta que en una regla con dos notificaciones de entrada, todas las condiciones deben cumplirse para generar una notificación de salida.

  • Emisor de la notificación: hace referencia a la entidad que emitió la segunda notificación de entrada. Puede ser el mismo proveedor de identidades seleccionado para la primera notificación o puede ser ACS. Seleccione ACS para especificar las notificaciones generadas a partir de otras reglas de notificación durante el procesamiento de reglas.

    Importante

    No se pueden seleccionar dos proveedores de identidad diferentes para la primera y segunda notificación, ya que el procesamiento de reglas solo se produce para un token emitido desde un proveedor de identidades a la vez.

  • Tipo de notificación de entrada: hace referencia al tipo de notificación de entrada recibido del emisor de notificaciones. Por ejemplo, el tipo de notificación completo para "nameidentifier" es https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier. Las opciones de este campo incluyen:

    • Seleccionar tipo: devuelve true si el tipo de notificación de entrada coincide con el tipo seleccionado en el menú desplegable. Este menú se rellena con los tipos de notificación disponibles para el emisor de notificación seleccionado.

    • Escribir tipo: devuelve true si el tipo de notificación de entrada coincide con el valor exacto especificado en el campo.

      Importante

      Este campo distingue mayúsculas de minúsculas.

  • Valor de notificación de entrada: hace referencia al valor de la notificación de entrada recibido. Por ejemplo, el tipo de notificación "nameidentifier" usa una dirección de correo electrónico, ya que su valor y este campo pueden usarse para comprobar una dirección de correo electrónico específica. Devuelve true si el tipo de notificación de entrada coincide con el valor exacto especificado en el campo.

    Importante

    Este campo distingue mayúsculas de minúsculas.

Acciones de regla (después)

En esta sección se especifica la notificación de salida emitida por ACS si las condiciones de la sección If de la regla son verdaderas. Las opciones de notificación de salida incluyen las siguientes:

  • Tipo de notificación de salida: el tipo de notificación emitido por ACS. Las opciones de este campo incluyen:

    • Tipo de notificación de entrada de acceso directo: emite una notificación de salida del mismo tipo que la solicitud de entrada.

    • Seleccionar tipo: emite una notificación de salida del tipo especificado. El menú desplegable contiene una lista de tipos comunes de notificaciones.

    • Escribir tipo: emite una notificación del tipo especificado. Si la notificación de salida debe estar presente en un token SAML, este valor debe ser un URI (por ejemplo, https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier).

      Importante

      Este campo distingue mayúsculas de minúsculas.

  • Valor de notificación de salida: hace referencia al valor de la notificación de salida emitida por ACS. Las opciones de este campo incluyen:

    • Valor de la notificación de entrada de acceso directo: emite una notificación de salida con el valor idéntico al valor de la notificación de entrada.

    • Escriba valor: emite una notificación que tiene el valor especificado en este campo. Esta opción requiere seleccionar un tipo de notificación de entrada específica o introducida en el campo Tipo de notificación de salida.

      Importante

      Este campo distingue mayúsculas de minúsculas.

Información de regla

Puede usar esta sección para crear una descripción para una regla.

Nota

En ACS, las descripciones de reglas no se crean automáticamente para las reglas generadas.

Configuración de reglas mediante el Servicio de administración de ACS

Las reglas de un espacio de nombres de Access Control se pueden configurar mediante programación mediante el servicio de administración de ACS. Para obtener un ejemplo de cómo configurar reglas mediante ASP.NET, vea Ejemplo de código: Servicio de administración. A continuación se muestran elementos importantes que se deben tener en cuenta al usar el servicio de administración de ACS para configurar reglas:

  • Al editar y eliminar reglas en un grupo de reglas, se recomienda consultar primero ACS para todas las reglas de ese grupo de reglas y usar los identificadores de regla que devuelve la consulta para realizar las operaciones de edición o eliminación. No se recomienda almacenar los identificadores devueltos por el servicio de administración para futuras operaciones, ya que no se garantiza que estos identificadores se conserven.

  • Si está escribiendo lógica de reintento automática para la creación de reglas (como en el caso de un tiempo de espera), se recomienda consultar primero la existencia de una regla idéntica en el grupo de reglas actual antes de intentar agregar otra.

Consulte también

Conceptos

Componentes de ACS 2.0