Compartir a través de


Configuración de las directivas de vigencia de tokens (versión preliminar)

En este artículo se explica cómo configurar directivas de vigencia de tokens para los tokens de acceso, SAML o identificador emitidos por la plataforma de identidad de Microsoft. Obtenga información sobre cómo establecer las duraciones de tokens para todas las aplicaciones de la organización, aplicaciones específicas o aplicaciones multiinquilino para mejorar la administración de la seguridad y la autenticación. 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.

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.

  1. 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
    }
    
  2. 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"
    }
    
  3. Enumerar las directivas de la entidad de servicio.

    GET https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444/tokenLifetimePolicies
    
  4. 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.

  1. Ejecute Get-MgPolicyTokenLifetimePolicy para ver todas las directivas que se han creado en su organización.

    Get-MgPolicyTokenLifetimePolicy
    
  2. 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
    

Paso siguiente