Asignar, actualizar, enumerar o quitar atributos de seguridad personalizados para un usuario
Los atributos de seguridad personalizados de Microsoft Entra ID, parte de Microsoft Entra, son atributos específicos de la empresa (pares clave-valor) que puede definir y asignar a objetos de Microsoft Entra. Por ejemplo, puede asignar un atributo de seguridad personalizado para filtrar a los empleados o para ayudar a determinar quién obtiene acceso a los recursos. En este artículo se describe cómo asignar, actualizar, enumerar o quitar atributos de seguridad personalizados para Microsoft Entra ID.
Requisitos previos
Para asignar o eliminar atributos de seguridad personalizados para un usuario en el inquilino de Microsoft Entra, necesita lo siguiente:
- Administrador de asignaciones de atributos
- Módulo Microsoft.Graph cuando se usa Microsoft Graph PowerShell
- Versión 2.0.2.138 o posterior de AzureADPreview si usa Azure AD PowerShell
Importante
De forma predeterminada, el rol Administrador global y otros roles de administrador no tienen permisos para leer, definir o asignar atributos de seguridad personalizados.
Asignación de atributos de seguridad personalizados a un usuario
Sugerencia
Los pasos de este artículo podrían variar ligeramente en función del portal desde donde comienza.
Inicie sesión en el Centro de administración de Microsoft Entra como administrador de asignaciones de atributos.
Asegúrese de que ha definido atributos de seguridad personalizados. Para obtener más información, consulte Agregar o desactivar definiciones de atributos de seguridad personalizados en Microsoft Entra ID.
Vaya aIdentidad>Usuarios>Todos los usuarios.
Busque y seleccione el usuario al que desea asignar atributos de seguridad personalizados.
En la sección Administrar, seleccione Atributos de seguridad personalizados.
Seleccione Agregar asignación.
En Conjunto de atributos, seleccione un conjunto de atributos de la lista.
En Nombre del atributo, seleccione un atributo de seguridad personalizado de la lista.
En función de las propiedades del atributo de seguridad personalizado seleccionado, puede escribir un valor único, seleccionar un valor de una lista predefinida o agregar varios valores.
- Para los atributos de seguridad personalizados de formato libre y con un solo valor, escriba un valor en el cuadro Valores asignados.
- Para los valores de los atributos de seguridad personalizados predefinidos, seleccione un valor de la lista Valores asignados.
- Para los atributos de seguridad personalizados con varios valores, seleccione Agregar valores para abrir el panel Valores del atributo y agregue los valores. Cuando termine de agregar los valores pertinentes, seleccione Listo.
Cuando termine, seleccione Guardar para asignar los atributos de seguridad personalizados al usuario.
Actualización de los valores de asignación de atributos de seguridad personalizados para un usuario
Inicie sesión en el Centro de administración de Microsoft Entra como Administrador de asignaciones de atributos.
Vaya aIdentidad>Usuarios>Todos los usuarios.
Busque y seleccione el usuario que tiene un valor de asignación de atributos de seguridad personalizados que desea actualizar.
En la sección Administrar, seleccione Atributos de seguridad personalizados.
Busque el valor de asignación de atributos de seguridad personalizados que desea actualizar.
Una vez que haya asignado un atributo de seguridad personalizado a un usuario, solo puede cambiar el valor del atributo de seguridad personalizado. No puede cambiar otras propiedades del atributo de seguridad personalizado, como el conjunto de atributos o el nombre del atributo.
En función de las propiedades del atributo de seguridad personalizado seleccionado, puede actualizar un valor único, seleccionar un valor de una lista predefinida o actualizar varios valores.
Cuando termine, seleccione Guardar.
Filtrar usuarios en función de las asignaciones de atributos de seguridad personalizados
Puede filtrar la lista de atributos de seguridad personalizados asignados a los usuarios en la página Todos los usuarios.
Inicie sesión en el Centro de administración de Microsoft Entra como Lector de asignaciones de atributos.
Vaya aIdentidad>Usuarios>Todos los usuarios.
Seleccione Agregar filtro para abrir el panel Agregar filtro.
Seleccione Atributos de seguridad personalizados.
Seleccione el conjunto de atributos y el nombre del atributo.
En Operador, puede seleccionar es igual a (==), no es igual a (!=) o empieza por.
En Valor, escriba o seleccione un valor.
Para aplicar el filtro, seleccione Aplicar.
Quitar asignaciones de atributos de seguridad personalizados de un usuario
Inicie sesión en el Centro de administración de Microsoft Entra como Administrador de asignaciones de atributos.
Vaya aIdentidad>Usuarios>Todos los usuarios.
Busque y seleccione el usuario que tiene las asignaciones de atributos de seguridad personalizados que desea quitar.
En la sección Administrar, seleccione Atributos de seguridad personalizados.
Agregue marcas de verificación junto a todas las asignaciones de atributos de seguridad personalizados que desea eliminar.
Seleccione Quitar asignación.
PowerShell o Microsoft Graph API
Para administrar asignaciones de atributos de seguridad personalizados para los usuarios de la organización de Microsoft Entra, puede usar PowerShell o Microsoft Graph API. Los siguientes ejemplos pueden usarse para administrar asignaciones.
Asignación de un atributo de seguridad personalizado con un valor de cadena a un usuario
En el ejemplo siguiente se asigna un atributo de seguridad personalizado con un valor de cadena a un usuario.
- Conjunto de atributos:
Engineering
- Atributo:
ProjectDate
- Tipo de datos del atributo: cadena
- Valor del atributo:
"2024-11-15"
$customSecurityAttributes = @{
"Engineering" = @{
"@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
"ProjectDate" = "2024-11-15"
}
}
Update-MgUser -UserId $userId -CustomSecurityAttributes $customSecurityAttributes
Asignación de un atributo de seguridad personalizado con un valor de varias cadenas a un usuario
En el ejemplo siguiente se asigna un atributo de seguridad personalizado con un valor de cadena múltiple a un usuario.
- Conjunto de atributos:
Engineering
- Atributo:
Project
- Tipo de datos del atributo: colección de cadenas
- Valor del atributo:
["Baker","Cascade"]
$customSecurityAttributes = @{
"Engineering" = @{
"@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
"Project@odata.type" = "#Collection(String)"
"Project" = @("Baker","Cascade")
}
}
Update-MgUser -UserId $userId -CustomSecurityAttributes $customSecurityAttributes
Asignación de un atributo de seguridad personalizado con un valor de entero a un usuario
En el ejemplo siguiente se asigna un atributo de seguridad personalizado con un valor entero a un usuario.
- Conjunto de atributos:
Engineering
- Atributo:
NumVendors
- Tipo de datos del atributo: entero
- Valor del atributo:
4
$customSecurityAttributes = @{
"Engineering" = @{
"@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
"NumVendors@odata.type" = "#Int32"
"NumVendors" = 4
}
}
Update-MgUser -UserId $userId -CustomSecurityAttributes $customSecurityAttributes
Asignación de un atributo de seguridad personalizado con un valor de varios enteros a un usuario
En el ejemplo siguiente se asigna un atributo de seguridad personalizado con un valor entero múltiple a un usuario.
- Conjunto de atributos:
Engineering
- Atributo:
CostCenter
- Tipo de datos del atributo: colección de enteros
- Valor del atributo:
[1001,1003]
$customSecurityAttributes = @{
"Engineering" = @{
"@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
"CostCenter@odata.type" = "#Collection(Int32)"
"CostCenter" = @(1001,1003)
}
}
Update-MgUser -UserId $userId -CustomSecurityAttributes $customSecurityAttributes
Asignación de un atributo de seguridad personalizado con un valor de booleano a un usuario
En el ejemplo siguiente se asigna un atributo de seguridad personalizado con un valor booleano a un usuario.
- Conjunto de atributos:
Engineering
- Atributo:
Certification
- Tipo de datos del atributo: booleano
- Valor del atributo:
true
$customSecurityAttributes = @{
"Engineering" = @{
"@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
"Certification" = $true
}
}
Update-MgUser -UserId $userId -CustomSecurityAttributes $customSecurityAttributes
Actualización de una asignación de atributos de seguridad personalizados con un valor entero para un usuario
En el ejemplo siguiente se actualiza una asignación de atributos de seguridad personalizados con un valor entero para un usuario.
- Conjunto de atributos:
Engineering
- Atributo:
NumVendors
- Tipo de datos del atributo: entero
- Valor del atributo:
8
$customSecurityAttributes = @{
"Engineering" = @{
"@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
"NumVendors@odata.type" = "#Int32"
"NumVendors" = 8
}
}
Update-MgUser -UserId $userId -CustomSecurityAttributes $customSecurityAttributes
Actualización de una asignación de atributos de seguridad personalizados con un valor booleano para un usuario
En el ejemplo siguiente se actualiza una asignación de atributos de seguridad personalizados con un valor booleano para un usuario.
- Conjunto de atributos:
Engineering
- Atributo:
Certification
- Tipo de datos del atributo: booleano
- Valor del atributo:
false
$customSecurityAttributes = @{
"Engineering" = @{
"@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
"Certification" = $false
}
}
Update-MgUser -UserId $userId -CustomSecurityAttributes $customSecurityAttributes
Actualización de una asignación de atributos de seguridad personalizados con un valor de varias cadenas para un usuario
En el ejemplo siguiente se actualiza una asignación de atributos de seguridad personalizados con un valor de cadena múltiple para un usuario.
- Conjunto de atributos:
Engineering
- Atributo:
Project
- Tipo de datos del atributo: colección de cadenas
- Valor del atributo:
("Alpine","Baker")
$customSecurityAttributes = @{
"Engineering" = @{
"@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
"Project@odata.type" = "#Collection(String)"
"Project" = @("Alpine","Baker")
}
}
Update-MgUser -UserId $userId -CustomSecurityAttributes $customSecurityAttributes
Obtención de asignaciones de atributos de seguridad personalizados de un usuario
En el ejemplo siguiente se obtienen las asignaciones de atributo de seguridad personalizados para un usuario.
$userAttributes = Get-MgUser -UserId $userId -Property "customSecurityAttributes"
$userAttributes.CustomSecurityAttributes.AdditionalProperties | Format-List
$userAttributes.CustomSecurityAttributes.AdditionalProperties.Engineering
$userAttributes.CustomSecurityAttributes.AdditionalProperties.Marketing
Key : Engineering
Value : {[@odata.type, #microsoft.graph.customSecurityAttributeValue], [Project@odata.type, #Collection(String)], [Project, System.Object[]],
[ProjectDate, 2024-11-15]…}
Key : Marketing
Value : {[@odata.type, #microsoft.graph.customSecurityAttributeValue], [EmployeeId, GS45897]}
Key Value
--- -----
@odata.type #microsoft.graph.customSecurityAttributeValue
Project@odata.type #Collection(String)
Project {Baker, Alpine}
ProjectDate 2024-11-15
NumVendors 8
CostCenter@odata.type #Collection(Int32)
CostCenter {1001, 1003}
Certification False
Key Value
--- -----
@odata.type #microsoft.graph.customSecurityAttributeValue
EmployeeId KX45897
Si no hay atributos de seguridad personalizados asignados al usuario o si la entidad de seguridad que realiza la llamada no tiene acceso, la respuesta estará vacía.
Enumeración de todos los usuarios con una asignación de atributos de seguridad personalizados igual a un valor
En el ejemplo siguiente se enumeran todos los usuarios con una asignación de atributos de seguridad personalizados que es igual a un valor. Recupera los usuarios con un atributo de seguridad personalizado denominado AppCountry
con un valor igual a Canada
. El valor de filtro no distingue mayúsculas de minúsculas. Debe agregar ConsistencyLevel=eventual
en la solicitud o el encabezado. También debe incluir $count=true
para asegurarse de que la solicitud se enruta correctamente.
- Conjunto de atributos:
Marketing
- Atributo:
AppCountry
- Filtro: AppCountry eq 'Canada'
$userAttributes = Get-MgUser -CountVariable CountVar -Property "id,displayName,customSecurityAttributes" -Filter "customSecurityAttributes/Marketing/AppCountry eq 'Canada'" -ConsistencyLevel eventual
$userAttributes | select Id,DisplayName,CustomSecurityAttributes
$userAttributes.CustomSecurityAttributes.AdditionalProperties | Format-List
Id DisplayName CustomSecurityAttributes
-- ----------- ------------------------
00aa00aa-bb11-cc22-dd33-44ee44ee44ee Jiya Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
11bb11bb-cc22-dd33-ee44-55ff55ff55ff Jana Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
Key : Engineering
Value : {[@odata.type, #microsoft.graph.customSecurityAttributeValue], [Datacenter@odata.type, #Collection(String)], [Datacenter, System.Object[]]}
Key : Marketing
Value : {[@odata.type, #microsoft.graph.customSecurityAttributeValue], [AppCountry@odata.type, #Collection(String)], [AppCountry, System.Object[]],
[EmployeeId, KX19476]}
Key : Marketing
Value : {[@odata.type, #microsoft.graph.customSecurityAttributeValue], [AppCountry@odata.type, #Collection(String)], [AppCountry, System.Object[]],
[EmployeeId, GS46982]}
Enumeración de todos los usuarios con una asignación de atributos de seguridad personalizados que empieza con un valor
En el ejemplo siguiente se enumeran todos los usuarios con una asignación de atributo de seguridad personalizados que comienza con un valor. Recupera los usuarios con un atributo de seguridad personalizado denominado EmployeeId
, con un valor que empieza por GS
. El valor de filtro no distingue mayúsculas de minúsculas. Debe agregar ConsistencyLevel=eventual
en la solicitud o el encabezado. También debe incluir $count=true
para asegurarse de que la solicitud se enruta correctamente.
- Conjunto de atributos:
Marketing
- Atributo:
EmployeeId
- Filtro: EmployeeId startsWith 'GS'
$userAttributes = Get-MgUser -CountVariable CountVar -Property "id,displayName,customSecurityAttributes" -Filter "startsWith(customSecurityAttributes/Marketing/EmployeeId,'GS')" -ConsistencyLevel eventual
$userAttributes | select Id,DisplayName,CustomSecurityAttributes
$userAttributes.CustomSecurityAttributes.AdditionalProperties | Format-List
Id DisplayName CustomSecurityAttributes
-- ----------- ------------------------
22cc22cc-dd33-ee44-ff55-66aa66aa66aa Chandra Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
11bb11bb-cc22-dd33-ee44-55ff55ff55ff Jana Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
33dd33dd-ee44-ff55-aa66-77bb77bb77bb Joe Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
Key : Marketing
Value : {[@odata.type, #microsoft.graph.customSecurityAttributeValue], [EmployeeId, GS36348]}
Key : Marketing
Value : {[@odata.type, #microsoft.graph.customSecurityAttributeValue], [AppCountry@odata.type, #Collection(String)], [AppCountry, System.Object[]],
[EmployeeId, GS46982]}
Key : Engineering
Value : {[@odata.type, #microsoft.graph.customSecurityAttributeValue], [Project@odata.type, #Collection(String)], [Project, System.Object[]],
[ProjectDate, 2024-11-15]…}
Key : Marketing
Value : {[@odata.type, #microsoft.graph.customSecurityAttributeValue], [EmployeeId, GS45897]}
Enumeración de todos los usuarios con una asignación de atributos de seguridad personalizados que no equivale a un valor
En el siguiente ejemplo se enumeran todos los usuarios con una asignación de atributos de seguridad personalizados que no equivale a un valor. Recupera los usuarios con un atributo de seguridad personalizado denominado AppCountry
, con un valor que no es igual a Canada
. El valor de filtro no distingue mayúsculas de minúsculas. Debe agregar ConsistencyLevel=eventual
en la solicitud o el encabezado. También debe incluir $count=true
para asegurarse de que la solicitud se enruta correctamente.
- Conjunto de atributos:
Marketing
- Atributo:
AppCountry
- Filtro: AppCountry ne 'Canada'
$userAttributes = Get-MgUser -CountVariable CountVar -Property "id,displayName,customSecurityAttributes" -Filter "customSecurityAttributes/Marketing/AppCountry ne 'Canada'" -ConsistencyLevel eventual
$userAttributes | select Id,DisplayName,CustomSecurityAttributes
Id DisplayName CustomSecurityAttributes
-- ----------- ------------------------
22cc22cc-dd33-ee44-ff55-66aa66aa66aa Chandra Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
44ee44ee-ff55-aa66-bb77-88cc88cc88cc Isabella Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
00aa00aa-bb11-cc22-dd33-44ee44ee44ee Alain Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
33dd33dd-ee44-ff55-aa66-77bb77bb77bb Joe Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
00aa00aa-bb11-cc22-dd33-44ee44ee44ee Dara Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
Quitar una asignación de atributos de seguridad personalizados de un solo valor de un usuario
En el siguiente ejemplo se quita una asignación de atributos de seguridad personalizados de un solo valor de un usuario al establecer el valor en NULL.
- Conjunto de atributos:
Engineering
- Atributo:
ProjectDate
- Valor del atributo:
null
$params = @{
"customSecurityAttributes" = @{
"Engineering" = @{
"@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
"ProjectDate" = $null
}
}
}
Invoke-MgGraphRequest -Method PATCH -Uri "https://graph.microsoft.com/v1.0/users/$userId" -Body $params
Quitar una asignación de atributos de seguridad personalizados de varios valores de un usuario
En el siguiente ejemplo se quita una asignación de atributos de seguridad personalizados de varios valores de un usuario al establecer el valor en una colección vacía.
- Conjunto de atributos:
Engineering
- Atributo:
Project
- Valor del atributo:
[]
$customSecurityAttributes = @{
"Engineering" = @{
"@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
"Project" = @()
}
}
Update-MgUser -UserId $userId -CustomSecurityAttributes $customSecurityAttributes
Preguntas más frecuentes
¿Dónde se admiten las asignaciones de atributos de seguridad personalizados para los usuarios?
Las asignaciones de atributos de seguridad personalizados para los usuarios se admiten en el centro de administración de Microsoft Entra, PowerShell y las API de Microsoft Graph. Las asignaciones de atributos de seguridad personalizados no se admiten en Aplicaciones ni en el Centro de administración de Microsoft 365.
Quién puede ver los atributos de seguridad personalizados asignados a un usuario?
Solo los usuarios a los que se han asignado los roles de administrador de asignaciones de atributos o de lector de asignaciones de atributos en el ámbito del inquilino pueden ver los atributos de seguridad personalizados asignados a cualquier usuario del inquilino. Los usuarios no pueden ver los atributos de seguridad personalizados asignados a su propio perfil u otros usuarios. Los invitados no pueden ver los atributos de seguridad personalizados independientemente de los permisos de invitado establecidos en el inquilino.
¿Es necesario crear una aplicación para agregar asignaciones de atributos de seguridad personalizados?
No, los atributos de seguridad personalizados se pueden asignar a objetos de usuario sin necesidad de una aplicación.
¿Por qué se sigue obteniendo un error al intentar guardar asignaciones de atributos de seguridad personalizados?
No tiene permisos para asignar atributos de seguridad personalizados a usuarios. Asegúrese de que tiene asignado el rol Administrador de asignaciones de atributos.
¿Puedo asignar atributos de seguridad personalizados a invitados?
Sí, los atributos de seguridad personalizados se pueden asignar a miembros o invitados del inquilino.
¿Puedo asignar atributos de seguridad personalizados a usuarios sincronizados con directorios?
Sí, a los usuarios sincronizados con directorios de un entorno de Active Directory local se les pueden asignar atributos de seguridad personalizados.
¿Están disponibles las asignaciones de atributos de seguridad personalizados para las reglas de pertenencia dinámica?
No, no se admiten atributos de seguridad personalizados asignados a los usuarios para configurar reglas para grupos de pertenencia dinámica.
¿Los atributos de seguridad personalizados son los mismos que los de los inquilinos B2C?
No, los atributos de seguridad personalizados no se admiten en los inquilinos B2C y no están relacionados con las características de B2C.
Pasos siguientes
- Incorporación o desactivación de definiciones de atributos de seguridad personalizados en Microsoft Entra ID
- Asignación, actualización, enumeración o eliminación de atributos de seguridad personalizados de una aplicación
- Ejemplos: asignación, actualización, enumeración o eliminación de asignaciones de atributos de seguridad personalizados mediante Microsoft Graph API
- Solución de problemas de atributos de seguridad personalizados en Microsoft Entra ID