Configurar políticas de tempo de vida do token (versão prévia)

Nas etapas a seguir, você implementará um cenário de política comum que impõe novas regras para o tempo de vida do token. É possível especificar o tempo de vida de um token de ID, de SAML ou de acesso emitido pela plataforma de identidade da Microsoft. Isso pode ser definido para todos os aplicativos em sua organização ou para um aplicativo ou entidade de segurança específico. Eles também podem ser definidos para várias organizações (aplicativo multilocatário). Talvez você queira aumentar o tempo de vida do token para que um script seja executado por mais de uma hora. Muitas bibliotecas da Microsoft, como o SDK do Microsoft Graph PowerShell, estendem o tempo de vida do token conforme necessário, e você não precisa fazer alterações na política de token de acesso. Para obter mais informações, leia Tempos de vida configuráveis.

Pré-requisitos

Para começar, baixe o SDK do PowerShell do Microsoft Graph mais recente.

Criar uma política e atribuí-la a um aplicativo

Nas etapas a seguir, você criará uma política que exige que os usuários se autentiquem com menos frequência no seu aplicativo da Web. Atribua a política a um aplicativo, que define o tempo de vida dos tokens de acesso/ID como 4 horas para seu aplicativo 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

Criar uma política e atribuí-la a uma entidade de serviço

Nas etapas a seguir, você criará uma política que exige que os usuários se autentiquem com menos frequência no seu aplicativo da Web. Atribua a política à entidade de serviço, que define o tempo de vida dos tokens de acesso/ID como 8 horas para seu aplicativo Web.

  1. Crie uma política de tempo de vida de 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. Atribuir a política a uma entidade de serviço.

    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. Liste as políticas na entidade de serviço.

    GET https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444/tokenLifetimePolicies
    
  4. Remover a política da entidade de serviço.

    DELETE https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444/tokenLifetimePolicies/00aa00aa-bb11-cc22-dd33-44ee44ee44ee/$ref
    

Exibir políticas existentes em um locatário

Para ver todas as políticas criadas na sua organização, execute o cmdlet Get-MgPolicyTokenLifetimePolicy. Todos os resultados com valores de propriedade definidos que diferem dos padrões listados acima estão no escopo da desativação.

  1. Execute o Get-MgPolicyTokenLifetimePolicy para ver todas as políticas que foram criadas na organização.

    Get-MgPolicyTokenLifetimePolicy
    
  2. Execute List appliesTo com qualquer uma de suas IDs de política para ver quais aplicativos estão vinculados a uma política específica que você identificou.

    GET https://graph.microsoft.com/v1.0/policies/tokenLifetimePolicies/4d2f137b-e8a9-46da-a5c3-cc85b2b840a4/appliesTo
    

Próxima etapa