Tipo de directiva de asignación de notificaciones

Un objeto de directiva representa un conjunto de reglas que se imponen en algunas o todas las aplicaciones de una organización. Cada tipo de directiva tiene una estructura única con un conjunto de propiedades que luego se aplican a los objetos a los que están asignadas.

Una directiva de asignación de notificaciones es un tipo de objeto de directiva que modifica las notificaciones incluidas en los tokens. Para obtener más información, consulte Personalización de las notificaciones emitidas en el token SAML para aplicaciones empresariales.

Conjuntos de notificaciones

En la tabla siguiente se enumeran los conjuntos de notificaciones que definen cómo y cuándo se usan en tokens.

Conjunto de notificaciones Descripción
Conjunto de notificaciones principales Están presentes en todos los tokens, independientemente de la directiva. Estas notificaciones se consideran también restringidas y no se pueden modificar.
Conjunto de notificaciones básicas Incluye las notificaciones que se incluyen de forma predeterminada para los tokens además del conjunto de notificaciones principales. Puede omitir o modificar las notificaciones básicas utilizando directivas de asignación de notificaciones.
Conjunto de notificaciones restringidas No se pueden modificar con una directiva. No se puede cambiar el origen de datos ni se aplica ninguna transformación al generar estas notificaciones.

Conjunto de notificaciones restringidas de JSON Web Token (JWT)

Las siguientes notificaciones se encuentran en el conjunto de notificaciones restringidas para un JWT.

  • .
  • _claim_names
  • _claim_sources
  • aai
  • access_token
  • account_type
  • acct
  • acr
  • acrs
  • actor
  • actortoken
  • ageGroup
  • aio
  • altsecid
  • amr
  • app_chain
  • app_displayname
  • app_res
  • appctx
  • appctxsender
  • appid
  • appidacr
  • assertion
  • at_hash
  • aud
  • auth_data
  • auth_time
  • authorization_code
  • azp
  • azpacr
  • bk_claim
  • bk_enclave
  • bk_pub
  • brk_client_id
  • brk_redirect_uri
  • c_hash
  • ca_enf
  • ca_policy_result
  • capolids
  • capolids_latebind
  • cc
  • cert_token_use
  • child_client_id
  • child_redirect_uri
  • client_id
  • client_ip
  • cloud_graph_host_name
  • cloud_instance_host_name
  • cloud_instance_name
  • CloudAssignedMdmId
  • cnf
  • code
  • controls
  • controls_auds
  • credential_keys
  • csr
  • csr_type
  • ctry
  • deviceid
  • dns_names
  • domain_dns_name
  • domain_netbios_name
  • e_exp
  • email
  • endpoint
  • enfpolids
  • exp
  • expires_on
  • extn. as prefix
  • fido_auth_data
  • fido_ver
  • fwd
  • fwd_appidacr
  • grant_type
  • graph
  • group_sids
  • groups
  • hasgroups
  • hash_alg
  • haswids
  • home_oid
  • home_puid
  • home_tid
  • iat
  • identityprovider
  • idp
  • idtyp
  • in_corp
  • instance
  • inviteTicket
  • ipaddr
  • isbrowserhostedapp
  • iss
  • isViral
  • jwk
  • key_id
  • key_type
  • login_hint
  • mam_compliance_url
  • mam_enrollment_url
  • mam_terms_of_use_url
  • mdm_compliance_url
  • mdm_enrollment_url
  • mdm_terms_of_use_url
  • msgraph_host
  • msproxy
  • nameid
  • nbf
  • netbios_name
  • nickname
  • nonce
  • oid
  • on_prem_id
  • onprem_sam_account_name
  • onprem_sid
  • openid2_id
  • origin_header
  • password
  • platf
  • polids
  • pop_jwk
  • preferred_username
  • previous_refresh_token
  • primary_sid
  • prov_data
  • puid
  • pwd_exp
  • pwd_url
  • rdp_bt
  • redirect_uri
  • refresh_token
  • refresh_token_issued_on
  • refreshtoken
  • request_nonce
  • resource
  • rh
  • role
  • roles
  • rp_id
  • rt_type
  • scope
  • scp
  • secaud
  • sid
  • sid
  • signature
  • signin_state
  • source_anchor
  • src1
  • src2
  • sub
  • target_deviceid
  • tbid
  • tbidv2
  • tenant_ctry
  • tenant_display_name
  • tenant_id
  • tenant_region_scope
  • tenant_region_sub_scope
  • thumbnail_photo
  • tid
  • tokenAutologonEnabled
  • trustedfordelegation
  • ttr
  • unique_name
  • upn
  • user_agent
  • user_setting_sync_url
  • username
  • uti
  • ver
  • verified_primary_email
  • verified_secondary_email
  • vnet
  • vsm_binding_key
  • wamcompat_client_info
  • wamcompat_id_token
  • wamcompat_scopes
  • wids
  • win_ver
  • x5c_ca
  • xcb2b_rclient
  • xcb2b_rcloud
  • xcb2b_rtenant
  • ztdid

Nota

Cualquier notificación que empiece por xms_ está restringida.

Conjunto de notificaciones restringidas de SAML

En la tabla siguiente, se enumeran las notificaciones SAML que se encuentran en el conjunto de notificaciones restringidas.

Tipo de notificación restringida (URI):

  • http://schemas.microsoft.com/2012/01/devicecontext/claims/ismanaged
  • http://schemas.microsoft.com/2014/02/devicecontext/claims/isknown
  • http://schemas.microsoft.com/2014/03/psso
  • http://schemas.microsoft.com/2014/09/devicecontext/claims/iscompliant
  • http://schemas.microsoft.com/claims/authnmethodsreferences
  • http://schemas.microsoft.com/claims/groups.link
  • http://schemas.microsoft.com/identity/claims/accesstoken
  • http://schemas.microsoft.com/identity/claims/acct
  • http://schemas.microsoft.com/identity/claims/agegroup
  • http://schemas.microsoft.com/identity/claims/aio
  • http://schemas.microsoft.com/identity/claims/identityprovider
  • http://schemas.microsoft.com/identity/claims/objectidentifier
  • http://schemas.microsoft.com/identity/claims/openid2_id
  • http://schemas.microsoft.com/identity/claims/puid
  • http://schemas.microsoft.com/identity/claims/scope
  • http://schemas.microsoft.com/identity/claims/tenantid
  • http://schemas.microsoft.com/identity/claims/xms_et
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationinstant
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/confirmationkey
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/denyonlyprimarygroupsid
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/denyonlyprimarysid
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/denyonlywindowsdevicegroup
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/expiration
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/expired
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/groups
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/ispersistent
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/role
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/role
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/samlissuername
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/wids
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsdeviceclaim
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsdevicegroup
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsfqbnversion
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/windowssubauthority
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsuserclaim
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/authentication
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/authorizationdecision
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/denyonlysid
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/privatepersonalidentifier
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/spn
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn
  • http://schemas.xmlsoap.org/ws/2009/09/identity/claims/actor

Estas notificaciones están restringidas de forma predeterminada, pero no están restringidas si tiene una clave de firma personalizada. Evite establecer acceptMappedClaims en el manifiesto de la aplicación.

  • http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/primarygroupsid
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/sid
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/x500distinguishedname

Estas notificaciones están restringidas de forma predeterminada, pero no están restringidas si tiene una clave de firma personalizada:

  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/role

Propiedades de la directiva de asignación de notificaciones

Para controlar las notificaciones que se incluyen y de dónde provienen los datos, utilice las propiedades de una directiva de asignación de notificaciones. Sin una directiva, el sistema emite tokens con las siguientes notificaciones:

  • Conjunto de notificaciones principales.
  • Conjunto de notificaciones básicas.
  • Cualquier notificación opcional que la aplicación haya elegido recibir.

Nota:

Las notificaciones del conjunto de notificaciones principales están presentes en todos los tokens, independientemente del valor en que se establezca esta propiedad.

String Tipo de datos Resumen
IncludeBasicClaimSet Booleanos (true o false) Determina si el conjunto de notificaciones principales se incluye en los tokens afectados por esta directiva. Si se establece en True, todas las notificaciones del conjunto de notificaciones básicas se emiten en los tokens afectados por esta directiva. Si se establece en False, las notificaciones del conjunto de notificaciones básicas no se incluyen en los tokens a menos que se agreguen individualmente a la propiedad de esquema de notificaciones de la misma directiva.
ClaimsSchema blob de JSON con una o varias entradas de esquema de notificación Define las notificaciones que están presentes en los tokens afectados por la directiva, además del conjunto de notificaciones básicas y el conjunto de notificaciones principales. Para cada entrada de esquema de notificación definida en esta propiedad, se requiere cierta información. Especifique de dónde provienen los datos (valor, par origen/identificador o par origen/identificador de extensión) y tipo de notificación, que se emite como (JWTClaimType o SamlClaimType).

Elementos de entrada de esquema de notificación

  • Valor: define un valor estático para los datos que se emiten en la notificación.
  • SAMLNameForm: define el valor del atributo NameFormat para esta notificación. Si está presente, los valores permitidos son:
    • urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified
    • urn:oasis:names:tc:SAML:2.0:attrname-format:uri
    • urn:oasis:names:tc:SAML:2.0:attrname-format:basic
  • Par origen/identificador: define el origen de los datos de la notificación.
  • Par origen/identificador de extensión: define el atributo de extensión de directorio que es el origen de los datos de la notificación. Para más información, consulte Uso de atributos de extensión de directorio en notificaciones.
  • Tipo de notificación: los elementos JwtClaimType y SamlClaimType definen la notificación a la que esta entrada de esquema de notificación hace referencia.
    • El elemento JwtClaimType tiene que contener el nombre de la notificación que se va a emitir en los token JWT.
    • El elemento SamlClaimType debe contener el identificador URI de la notificación que se va a emitir en los token SAML.

Establezca el elemento Origen en uno de los valores de la tabla siguiente.

Valor de origen Datos en la notificación
user Propiedad en el objeto de usuario.
application Propiedad en la entidad de servicio de la aplicación (cliente).
resource Propiedad en la entidad de servicio del recurso.
audience Propiedad en la entidad de servicio que es la audiencia del token (la entidad de servicio de recurso o cliente).
company Propiedad en el objeto Company del inquilino del recurso.
transformation Transformación de notificaciones. Al usar esta notificación, el elemento TransformationID debe incluirse en la definición de la notificación. El elemento TransformationID debe coincidir con el elemento ID de la entrada de transformación en la propiedad ClaimsTransformation que define cómo se generan los datos de la notificación.

El elemento ID identifica la propiedad en el origen que proporciona el valor de la notificación. En la tabla siguiente se muestran los valores del elemento de id. válidos para cada valor de Source.

Source ID Descripción
user surname Nombre de familia del usuario.
user givenname Nombre propio del usuario
user displayname Nombre para mostrar del usuario.
user objectid el identificador de objeto del usuario.
user mail La dirección de correo electrónico del usuario.
user userprincipalname Nombre principal de usuario del usuario.
user department El departamento del usuario.
user onpremisessamaccountname Nombre de la cuenta SAM local del usuario.
user netbiosname Nombre NetBios del usuario.
user dnsdomainname Nombre de dominio DNS del usuario.
user onpremisesecurityidentifier Identificador de seguridad local del usuario.
user companyname Nombre de la organización del usuario.
user streetaddress La dirección del usuario.
user postalcode El código postal del usuario.
user preferredlanguage El idioma preferido del usuario.
user onpremisesuserprincipalname UPN local del usuario. Cuando se usa un id. alternativo, el atributo userPrincipalName local se sincroniza con el atributo onPremisesUserPrincipalName. Este atributo solo está disponible cuando se configura el identificador alternativo.
user mailnickname Alias de correo del usuario.
user extensionattribute1 Atributo de extensión 1.
user extensionattribute2 Atributo de extensión 2.
user extensionattribute3 Atributo de extensión 3.
user extensionattribute4 Atributo de extensión 4.
user extensionattribute5 Atributo de extensión 5.
user extensionattribute6 Atributo de extensión 6.
user extensionattribute7 Atributo de extensión 7.
user extensionattribute8 Atributo de extensión 8.
user extensionattribute9 Atributo de extensión 9.
user extensionattribute10 Atributo de extensión 10.
user extensionattribute11 Atributo de extensión 11.
user extensionattribute12 Atributo de extensión 12.
user extensionattribute13 Atributo de extensión 13.
user extensionattribute14 Atributo de extensión 14.
user extensionattribute15 Atributo de extensión 15.
user othermail Otro correo del usuario.
user country País o región del usuario.
user city Ciudad del usuario.
user state Estado del usuario.
user jobtitle el puesto del usuario.
user employeeid Id. de empleado del usuario.
user facsimiletelephonenumber Número de teléfono facsímil del usuario.
user assignedroles Lista de roles de aplicación asignados al usuario.
user accountEnabled Indica si la cuenta de usuario está habilitada.
user consentprovidedforminor Indica si se ha dado consentimiento a un menor.
user createddatetime Fecha y hora en que se creó la cuenta de usuario.
user creationtype indica cómo se creó la cuenta de usuario.
user lastpasswordchangedatetime La última fecha y hora en que se cambió la contraseña.
user mobilephone Teléfono móvil del usuario.
user officelocation Ubicación de la oficina del usuario.
user onpremisesdomainname El nombre de dominio local del usuario.
user onpremisesimmutableid Id. inmutable local del usuario.
user onpremisessyncenabled Indica si la sincronización local está habilitada.
user preferreddatalocation Define la ubicación de datos preferida del usuario.
user proxyaddresses Las direcciones de proxy del usuario.
user usertype Tipo de cuenta de usuario.
user telephonenumber Teléfonos empresariales o de oficina del usuario.
application, resource, audience displayname Nombre para mostrar del objeto.
application, resource, audience objectid Id. del objeto.
application, resource, audience tags Etiqueta de entidad de servicio del objeto.
company tenantcountry País o región del inquilino.

Los únicos orígenes de notificación multivalor disponibles en un objeto de usuario son atributos de extensión multivalor que se han sincronizado desde Active Directory Connect. Otras propiedades, como othermails y tags, tienen varios valores, pero solo se emite un valor cuando se selecciona como origen.

Los nombres e identificadores URI de las notificaciones del conjunto de notificaciones restringidas no se pueden usar en los elementos de tipo de notificación.

Filtro de grupos

  • Cadena: GroupFilter
  • Tipo de datos: blob JSON
  • Resumen: utilice esta propiedad para aplicar un filtro en los grupos de usuarios que se incluirán en la notificación de grupo. Esta propiedad puede ser una manera útil de reducir el tamaño del token.
  • MatchOn: identifica el atributo de grupo en el que se aplicará el filtro. Defina la propiedad MatchOn a uno de los siguientes valores:
    • displayname: nombre para mostrar del grupo.
    • samaccountname: nombre de cuenta SAM local.
  • Tipo: define el tipo de filtro aplicado al atributo seleccionado por la propiedad MatchOn. Defina la propiedad Type a uno de los siguientes valores:
    • prefix: se incluyen grupos en los que la propiedad MatchOn comienza por la propiedad Value proporcionada.
    • suffix: se incluyen grupos en los que la propiedad MatchOn termina con la propiedad Value proporcionada.
    • contains: se incluyen grupos en los que la propiedad MatchOn contiene la propiedad Value proporcionada.

Transformación de notificaciones

  • Cadena: ClaimsTransformation
  • Tipo de datos: blob de JSON, con una o más entradas de transformación
  • Resumen: use esta propiedad para aplicar transformaciones comunes a datos de origen para generar los datos de salida de las notificaciones especificadas en el esquema de notificaciones.
  • Id.: hace referencia a la entrada de transformación en el elemento TransformationID del esquema de notificaciones. Este valor debe ser único para cada entrada de transformación comprendida en la directiva.
  • TransformationMethod: identifica la operación que se realiza para generar los datos de la notificación.

En función del método elegido, se espera un conjunto de entradas y salidas. Defina las entradas y salidas utilizando los elementos InputClaims, InputParameters y OutputClaims.

TransformationMethod Entrada prevista Salida prevista Descripción
Join string1, string2, separator notificación de salida Se combinan las cadenas de entrada mediante un separador entre ellas. Por ejemplo, string1: foo@bar.com, string2: sandbox, separator: .da como resultado outputClaim: foo@bar.com.sandbox.
ExtractMailPrefix Correo electrónico o UPN cadena extraída Atributos de la extensión 1-15 o cualquier otra extensión de directorio que almacene un valor de UPN o de dirección de correo electrónico para el usuario. Por ejemplo, johndoe@contoso.com. Extrae la parte local de una dirección de correo electrónico. Por ejemplo, mail: foo@bar.com da como resultado la notificación de salida: foo. Si no existe ningún signo @, la cadena de entrada original se devuelve.
ToLowercase() cadena cadena de salida Convierte los caracteres del atributo seleccionado en caracteres en minúscula.
ToUppercase() cadena cadena de salida Convierte los caracteres del atributo seleccionado en caracteres en mayúscula.
RegexReplace() La transformación RegexReplace() acepta como parámetros de entrada:
- Parámetro 1: un atributo de usuario como entrada de regex
- Una opción para confiar en el origen como multivalor
- Patrón de regex
- Patrón de reemplazo El patrón de reemplazo puede contener formato de texto estático junto con una referencia que apunte a los grupos de salida de expresión regular y más parámetros de entrada.
  • InputClaims: se usa para pasar los datos de una entrada de esquema de notificación a una transformación. Tiene tres atributos: ClaimTypeReferenceId, TransformationClaimType y TreatAsMultiValue.
    • ClaimTypeReferenceId: se combina con el elemento ID de la entrada de esquema de notificación para buscar la notificación de entrada adecuada.
    • TransformationClaimType: asigna un nombre único a esta entrada. Este nombre debe coincidir con una de las entradas esperadas para el método de transformación.
    • TreatAsMultiValue es una marca booleana que indica si la transformación se debe aplicar a todos los valores o solo al primero. De forma predeterminada, las transformaciones solo se aplican al primer elemento de una notificación de varios valores. Establecer este valor en true garantiza que se aplica a todos. ProxyAddresses y los grupos son dos ejemplos de notificaciones de entrada que es probable que quiera tratar como una notificación de valor múltiple.
  • InputParameters: pasa un valor constante a una transformación. Tiene dos atributos: Valor e ID.
    • Value es el valor constante real que se pasa.
    • ID se usa para asignar un nombre único a esta entrada. Este nombre debe coincidir con una de las entradas esperadas del método de transformación.
  • OutputClaims: contiene los datos generados por una transformación y los vincula a una entrada de esquema de notificación. Tiene dos atributos: ClaimTypeReferenceId y TransformationClaimType.
    • ClaimTypeReferenceId se combina con el elemento ID de la entrada de esquema de notificación para buscar la notificación de salida adecuada.
    • TransformationClaimType se usa para asignar un nombre único a la salida. Este nombre debe coincidir con una de las salidas esperadas del método de transformación.

Excepciones y restricciones

NameID de SAML y UPN: los atributos desde los que se originan los valores de NameID y UPN, y las transformaciones de notificaciones que se permiten, están limitados.

Source ID Descripción
user mail La dirección de correo electrónico del usuario.
user userprincipalname Nombre principal de usuario del usuario.
user onpremisessamaccountname Nombre de cuenta SAM local
user employeeid Id. de empleado del usuario.
user telephonenumber Teléfonos empresariales o de oficina del usuario.
user extensionattribute1 Atributo de extensión 1.
user extensionattribute2 Atributo de extensión 2.
user extensionattribute3 Atributo de extensión 3.
user extensionattribute4 Atributo de extensión 4.
user extensionattribute5 Atributo de extensión 5.
user extensionattribute6 Atributo de extensión 6.
user extensionattribute7 Atributo de extensión 7.
user extensionattribute8 Atributo de extensión 8.
user extensionattribute9 Atributo de extensión 9.
user extensionattribute10 Atributo de extensión 10.
user extensionattribute11 Atributo de extensión 11.
user extensionattribute12 Atributo de extensión 12.
user extensionattribute13 Atributo de extensión 13.
user extensionattribute14 Atributo de extensión 14.
User extensionattribute15 Atributo de extensión 15.

Los métodos de transformación enumerados en la tabla siguiente se permiten para SAML NameID.

TransformationMethod Restricciones
ExtractMailPrefix None
Join El sufijo que se combine debe ser un dominio comprobado del inquilino del recurso.

Emisor con identificador de aplicación

  • Cadena: issuerWithApplicationId
  • Tipo de datos: valor booleano (True o False)
    • Si se establece en True, el identificador de aplicación se agrega a la notificación del emisor en los tokens afectados por la directiva.
    • Si se establece en False, el identificador de aplicación no se agrega a la notificación del emisor en los tokens afectados por la directiva. (predeterminado).
  • Resumen: permite que el id. de aplicación se incluya en la notificación del emisor. Garantiza que varias instancias de la misma aplicación tengan un valor de notificación único para cada instancia. Esta configuración se omite si no hay una clave de firma personalizada configurada para la aplicación.

Invalidación de audiencia

  • Cadena: audienceOverride
  • Tipo de datos: cadena
  • Resumen: permite invalidar la notificación de audiencia enviada a la aplicación. El valor proporcionado debe ser un URI absoluto válido. Esta configuración se omite si no hay una clave de firma personalizada configurada para la aplicación.

Pasos siguientes