En los pasos siguientes, implementará un escenario de directiva común que impone nuevas reglas para la vigencia del token. Es posible especificar la duración de un token de acceso, SAML o identificador emitido por la plataforma de Microsoft Identity. Esto se puede establecer para todas las aplicaciones de la organización o para una aplicación o entidad de seguridad específicas. También se pueden establecer para varias organizaciones (aplicación multiinquilino). Es posible que desee aumentar la duración del token para que un script se ejecute durante más de una hora. Muchas bibliotecas de Microsoft, como el SDK de PowerShell en Microsoft Graph, amplían la duración del token según sea necesario y no es necesario realizar cambios en la directiva de token de acceso. Para más información, consulte Vigencias de tokens configurables.
Configuración de las directivas de vigencia de tokens (versión preliminar)
Requisitos previos
Para empezar, descargue el SDK de PowerShell de Microsoft Graph más reciente.
Crear una directiva y asignarla a una aplicación
En este ejemplo, creará una directiva que requerirá que los usuarios se autentiquen con menos frecuencia en la aplicación web. Asigne la directiva a una aplicación, que establece la duración de los tokens de acceso o identificador en 4 horas para la aplicación web.
Install-Module Microsoft.Graph
Connect-MgGraph -Scopes "Policy.ReadWrite.ApplicationConfiguration","Policy.Read.All","Application.ReadWrite.All"
# Create a token lifetime policy
$params = @{
Definition = @('{"TokenLifetimePolicy":{"Version":1,"AccessTokenLifetime":"4:00:00"}}')
DisplayName = "WebPolicyScenario"
IsOrganizationDefault = $false
}
$tokenLifetimePolicyId=(New-MgPolicyTokenLifetimePolicy -BodyParameter $params).Id
# Display the policy
Get-MgPolicyTokenLifetimePolicy -TokenLifetimePolicyId $tokenLifetimePolicyId
# Assign the token lifetime policy to an app
$params = @{
"@odata.id" = "https://graph.microsoft.com/v1.0/policies/tokenLifetimePolicies/$tokenLifetimePolicyId"
}
$applicationObjectId="aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
New-MgApplicationTokenLifetimePolicyByRef -ApplicationId $applicationObjectId -BodyParameter $params
# List the token lifetime policy on the app
Get-MgApplicationTokenLifetimePolicy -ApplicationId $applicationObjectId
# Remove the policy from the app
Remove-MgApplicationTokenLifetimePolicyByRef -ApplicationId $applicationObjectId -TokenLifetimePolicyId $tokenLifetimePolicyId
# Delete the policy
Remove-MgPolicyTokenLifetimePolicy -TokenLifetimePolicyId $tokenLifetimePolicyId
Crear una directiva y asignarla a una entidad de servicio
En este ejemplo, creará una directiva que requerirá que los usuarios se autentiquen con menos frecuencia en la aplicación web. Asigne la directiva a la entidad de servicio, que establece la duración de los tokens de acceso o identificador en 8 horas para la aplicación web.
Cree una directiva de vigencia del token.
POST https://graph.microsoft.com/v1.0/policies/tokenLifetimePolicies Content-Type: application/json { "definition": [ "{\"TokenLifetimePolicy\":{\"Version\":1,\"AccessTokenLifetime\":\"8:00:00\"}}" ], "displayName": "Contoso token lifetime policy", "isOrganizationDefault": false }
Asigne la directiva a una entidad de servicio.
POST https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444/tokenLifetimePolicies/$ref Content-Type: application/json { "@odata.id":"https://graph.microsoft.com/v1.0/policies/tokenLifetimePolicies/00aa00aa-bb11-cc22-dd33-44ee44ee44ee" }
Enumerar las directivas de la entidad de servicio.
GET https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444/tokenLifetimePolicies
Eliminar la directiva de la entidad de servicio.
DELETE https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444/tokenLifetimePolicies/00aa00aa-bb11-cc22-dd33-44ee44ee44ee/$ref
Visualización de las directivas existentes en un inquilino
Para ver todas las directivas creadas en la organización, ejecute el cmdlet Get-MgPolicyTokenLifetimePolicy. Los resultados con valores de propiedad definidos que difieren de los valores predeterminados mencionados anteriormente se encuentran en el ámbito de la retirada.
Ejecute
Get-MgPolicyTokenLifetimePolicy
para ver todas las directivas que se han creado en su organización.Get-MgPolicyTokenLifetimePolicy
Ejecute List appliesTo con cualquiera de los identificadores de directiva para ver qué aplicaciones están vinculadas a una directiva específica que identificó.
GET https://graph.microsoft.com/v1.0/policies/tokenLifetimePolicies/4d2f137b-e8a9-46da-a5c3-cc85b2b840a4/appliesTo