Editar

Compartir vía


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

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.

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