Políticas de Controle de Acesso para Cliente do AD FS 2.0

As políticas de acesso de um cliente nos Serviços de Federação do Active Directory 2.0 permitem restringir ou permitir aos usuários acesso aos recursos. Este documento descreve como habilitar políticas de acesso para cliente no AD FS 2.0 e como configurar os cenários mais comuns.

Como habilitar a política de acesso para cliente no AD FS 2.0

Para habilitar a política de acesso para cliente, siga as etapas abaixo.

Etapa 1: Instalar o pacote cumulativo de atualizações 2 para o AD FS 2.0 nos servidores do AD FS

Baixe o Pacote cumulativo de atualizações 2 para o AD FS (Serviços de Federação do Active Directory) 2.0 e instale-o em todos os servidores de federação e proxies do servidor de federação.

Etapa 2: Adicionar cinco regras de declaração à relação de confiança do Provedor de Declarações do Active Directory

Depois que o pacote cumulativo de atualizações 2 for instalado em todos os servidores e proxies do AD FS, use o procedimento a seguir para adicionar um conjunto de regras de declarações que disponibiliza os novos tipos de declaração para o mecanismo de política.

Para fazer isso, você adicionará cinco regras de transformação de aceitação para cada um dos novos tipos de declaração de contexto de solicitação usando o procedimento a seguir.

Na relação de confiança do provedor de declarações do Active Directory, crie uma regra de transformação de aceitação para passar em cada um dos novos tipos de declaração de contexto de solicitação.

Para adicionar uma regra de declaração à relação de confiança do provedor de declarações do Active Directory para cada um dos cinco tipos de declaração de contexto:

  1. Clique em Iniciar, aponte para Programas, aponte para Ferramentas Administrativas e clique em Gerenciamento do AD FS 2.0.

  2. Na árvore do console, em AD FS 2.0\Relações de Confiança, clique em Relações de Confiança do Provedor de Declarações, clique com o botão direito do mouse em Active Directory e clique em Editar Regras de Declaração.

  3. Na caixa de diálogo Editar Regras de Declaração, selecione a guia Regras de Transformação de Aceitação e clique em Adicionar Regra para iniciar o Assistente de regra.

  4. Na página Selecionar Modelo de Regra, em Modelo de regra de declaração, escolha Passar ou Filtrar uma Declaração de Entrada na lista e clique em Avançar.

  5. Na página Configurar Regra, em Nome da regra de declaração, digite o nome de exibição dessa regra. Em Tipo de declaração de entrada, digite a URL do tipo de declaração a seguir e selecione Passar todos os valores de declaração.
    https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-forwarded-client-ip

  6. Para verificar a regra, selecione-a na lista e clique em Editar Regra e em Exibir Linguagem da Regra. A linguagem da regra de declaração será exibida da seguinte maneira: c:[Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-forwarded-client-ip"] => issue(claim = c);

  7. Clique em Concluir.

  8. Na caixa de diálogo Editar Regras de Declaração, clique em OK para salvar as regras.

  9. Repita as etapas 2 a 6 para criar uma regra de declaração adicional para cada um dos quatro tipos de declaração restantes mostrados abaixo até que todas as cinco regras tenham sido criadas.

    https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-client-application

    https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-client-user-agent

    https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-proxy

    https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-endpoint-absolute-path

Etapa 3: Atualizar a relação de confiança de terceira parte confiável da Plataforma de Identidade do Microsoft Office 365

Escolha um dos cenários de exemplo abaixo para configurar as regras de declaração na relação de confiança de terceira parte confiável da Plataforma de Identidade do Microsoft Office 365 que melhor atenda às necessidades da sua organização.

Cenários da política de acesso para cliente do AD FS 2.0

As seções a seguir descreverão os cenários existentes para o AD FS 2.0

Cenário 1: Bloquear todo o acesso externo ao Office 365

Este cenário de política de acesso para cliente permite o acesso de todos os clientes internos e bloqueia todos os clientes externos com base no endereço IP do cliente externo. O conjunto de regras se baseia na regra de Autorização de Emissão padrão Permitir Acesso a Todos os Usuários. Use o procedimento a seguir para adicionar uma regra de Autorização de Emissão ao objeto de confiança de terceira parte confiável do Office 365.

Para criar uma regra que bloqueará todo o acesso externo ao Office 365

  1. Clique em Iniciar, aponte para Programas, aponte para Ferramentas Administrativas e clique em Gerenciamento do AD FS 2.0.
  2. Na árvore do console, em AD FS 2.0\Relações de Confiança, clique em Objetos de Confiança de Terceira Parte Confiável, clique com o botão direito do mouse na relação de confiança Plataforma de Identidade do Microsoft Office 365 e clique em Editar Regras de Declaração.
  3. Na caixa de diálogo Editar Regras de Declaração, selecione a guia Regras de Autorização de Emissão e clique em Adicionar Regra para iniciar o Assistente de Regra de Declaração.
  4. Na página Selecionar Modelo de Regra, em Modelo de regra de declaração, selecione Enviar Declarações Usando uma Regra Personalizada e clique em Avançar.
  5. Na página Configurar Regra, em Nome da regra de declaração, digite o nome de exibição dessa regra. Em Regra personalizada, digite ou cole a seguinte sintaxe de linguagem de regra de declaração: exists([Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-proxy"]) && NOT exists([Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-forwarded-client-ip", Value=~"customer-provided public ip address regex"]) => issue(Type = "https://schemas.microsoft.com/authorization/claims/deny", Value = "true");
  6. Clique em Concluir. Verifique se a nova regra é exibida imediatamente abaixo da regra Permitir Acesso a Todos os Usuários na lista Regras de Autorização de Emissão.
  7. Para salvar a regra, na caixa de diálogo Editar Regras de Declaração, clique em OK.

Observação

Você precisará substituir o valor acima de “regex de endereço IP público” por uma expressão IP válida. Confira Como criar a expressão de intervalo de endereços IP para obter mais informações.

Cenário 2: Bloquear todo o acesso externo ao Office 365, exceto o Exchange ActiveSync

O exemplo a seguir permite o acesso a todos os aplicativos do Office 365, incluindo o Exchange Online, em clientes internos, incluindo o Outlook. Ele bloqueia o acesso para clientes que residem fora da rede corporativa, conforme indicado pelo endereço IP do cliente, exceto os clientes do Exchange ActiveSync, como telefones inteligentes. O conjunto de regras se baseia na regra de Autorização de Emissão padrão intitulada Permitir Acesso a Todos os Usuários. Use as seguintes etapas para adicionar uma regra de Autorização de Emissão ao objeto de confiança de terceira parte confiável do Office 365 usando o Assistente de Regra de Declaração:

Para criar uma regra que bloqueará todo o acesso externo ao Office 365

  1. Clique em Iniciar, aponte para Programas, aponte para Ferramentas Administrativas e clique em Gerenciamento do AD FS 2.0.
  2. Na árvore do console, em AD FS 2.0\Relações de Confiança, clique em Objetos de Confiança de Terceira Parte Confiável, clique com o botão direito do mouse na relação de confiança Plataforma de Identidade do Microsoft Office 365 e clique em Editar Regras de Declaração.
  3. Na caixa de diálogo Editar Regras de Declaração, selecione a guia Regras de Autorização de Emissão e clique em Adicionar Regra para iniciar o Assistente de Regra de Declaração.
  4. Na página Selecionar Modelo de Regra, em Modelo de regra de declaração, selecione Enviar Declarações Usando uma Regra Personalizada e clique em Avançar.
  5. Na página Configurar Regra, em Nome da regra de declaração, digite o nome de exibição dessa regra. Em Regra personalizada, digite ou cole a seguinte sintaxe de linguagem de regra de declaração: exists([Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-proxy"]) && NOT exists([Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-client-application", Value=="Microsoft.Exchange.Autodiscover"]) && NOT exists([Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-client-application", Value=="Microsoft.Exchange.ActiveSync"]) && NOT exists([Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-forwarded-client-ip", Value=~"customer-provided public ip address regex"]) => issue(Type = "https://schemas.microsoft.com/authorization/claims/deny", Value = "true");
  6. Clique em Concluir. Verifique se a nova regra é exibida imediatamente abaixo da regra Permitir Acesso a Todos os Usuários na lista Regras de Autorização de Emissão.
  7. Para salvar a regra, na caixa de diálogo Editar Regras de Declaração, clique em OK.

Observação

Você precisará substituir o valor acima de “regex de endereço IP público” por uma expressão IP válida. Confira Como criar a expressão de intervalo de endereços IP para obter mais informações.

Cenário 3: Bloquear todo o acesso externo ao Office 365, exceto os aplicativos baseados em navegador

O conjunto de regras se baseia na regra de Autorização de Emissão padrão intitulada Permitir Acesso a Todos os Usuários. Use as etapas a seguir para adicionar uma regra de Autorização de Emissão ao objeto de confiança de terceira parte confiável Plataforma de Identidade do Microsoft Office 365 usando o Assistente de Regra de Declaração:

Observação

Não há suporte para esse cenário com um proxy de terceiros devido às limitações em cabeçalhos da política de acesso para cliente com solicitações passivas (baseadas na Web).

Para criar uma regra para bloquear todo o acesso externo ao Office 365, exceto os aplicativos baseados em navegador

  1. Clique em Iniciar, aponte para Programas, aponte para Ferramentas Administrativas e clique em Gerenciamento do AD FS 2.0.
  2. Na árvore do console, em AD FS 2.0\Relações de Confiança, clique em Objetos de Confiança de Terceira Parte Confiável, clique com o botão direito do mouse na relação de confiança Plataforma de Identidade do Microsoft Office 365 e clique em Editar Regras de Declaração.
  3. Na caixa de diálogo Editar Regras de Declaração, selecione a guia Regras de Autorização de Emissão e clique em Adicionar Regra para iniciar o Assistente de Regra de Declaração.
  4. Na página Selecionar Modelo de Regra, em Modelo de regra de declaração, selecione Enviar Declarações Usando uma Regra Personalizada e clique em Avançar.
  5. Na página Configurar Regra, em Nome da regra de declaração, digite o nome de exibição dessa regra. Em Regra personalizada, digite ou cole a seguinte sintaxe de linguagem de regra de declaração: exists([Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-proxy"]) && NOT exists([Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-forwarded-client-ip", Value=~"customer-provided public ip address regex"]) && NOT exists([Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-endpoint-absolute-path", Value == "/adfs/ls/"]) => issue(Type = "https://schemas.microsoft.com/authorization/claims/deny", Value = "true");
  6. Clique em Concluir. Verifique se a nova regra é exibida imediatamente abaixo da regra Permitir Acesso a Todos os Usuários na lista Regras de Autorização de Emissão.
  7. Para salvar a regra, na caixa de diálogo Editar Regras de Declaração, clique em OK.

Cenário 4: Bloquear todo o acesso externo ao Office 365 em grupos designados do Active Directory

O exemplo a seguir permite o acesso em clientes internos com base no endereço IP. Ele bloqueia o acesso para clientes que residem fora da rede corporativa que têm um endereço IP do cliente externo, exceto aqueles indivíduos em um grupo especificado do Active Directory. O conjunto de regras se baseia na regra de Autorização de Emissão padrão intitulada Permitir Acesso a Todos os Usuários. Use as etapas a seguir para adicionar uma regra de Autorização de Emissão ao objeto de confiança de terceira parte confiável Plataforma de Identidade do Microsoft Office 365 usando o Assistente de Regra de Declaração:

Para criar uma regra para bloquear todo o acesso externo ao Office 365 em grupos designados do Active Directory

  1. Clique em Iniciar, aponte para Programas, aponte para Ferramentas Administrativas e clique em Gerenciamento do AD FS 2.0.
  2. Na árvore do console, em AD FS 2.0\Relações de Confiança, clique em Objetos de Confiança de Terceira Parte Confiável, clique com o botão direito do mouse na relação de confiança Plataforma de Identidade do Microsoft Office 365 e clique em Editar Regras de Declaração.
  3. Na caixa de diálogo Editar Regras de Declaração, selecione a guia Regras de Autorização de Emissão e clique em Adicionar Regra para iniciar o Assistente de Regra de Declaração.
  4. Na página Selecionar Modelo de Regra, em Modelo de regra de declaração, selecione Enviar Declarações Usando uma Regra Personalizada e clique em Avançar.
  5. Na página Configurar Regra, em Nome da regra de declaração, digite o nome de exibição dessa regra. Em Regra personalizada, digite ou cole a seguinte sintaxe de linguagem de regra de declaração: exists([Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-proxy"]) && exists([Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value =~ "Group SID value of allowed AD group"]) && NOT exists([Type == "https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-forwarded-client-ip", Value=~"customer-provided public ip address regex"]) => issue(Type = "https://schemas.microsoft.com/authorization/claims/deny", Value = "true");
  6. Clique em Concluir. Verifique se a nova regra é exibida imediatamente abaixo da regra Permitir Acesso a Todos os Usuários na lista Regras de Autorização de Emissão.
  7. Para salvar a regra, na caixa de diálogo Editar Regras de Declaração, clique em OK.

Descrições da sintaxe da linguagem de regra de declaração usada nos cenários acima

Descrição Sintaxe da linguagem de regra de declaração
Regra padrão do AD FS para Permitir o Acesso a Todos os Usuários. Essa regra já deve existir na lista Regras de Autorização de Emissão de terceira parte confiável da Plataforma de Identidade do Microsoft Office 365. => issue(Type = "<https://schemas.microsoft.com/authorization/claims/permit>", Value = "true");
A adição dessa cláusula a uma nova regra personalizada especifica que a solicitação é proveniente do proxy do servidor de federação (ou seja, ela tem o cabeçalho x-ms-proxy)
Recomendamos que todas as regras incluam isso. exists([Type == "<https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-proxy>"])
Usado para estabelecer que a solicitação é de um cliente com um IP no intervalo aceitável definido. NOT exists([Type == "<https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-forwarded-client-ip>", Value=~"customer-provided public ip address regex"])
Essa cláusula é usada para especificar que, se o aplicativo que está sendo acessado não for o Microsoft.Exchange.ActiveSync, a solicitação deverá ser negada. NOT exists([Type == "<https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-client-application>", Value=="Microsoft.Exchange.ActiveSync"])
Essa regra permite determinar se a chamada foi feita por meio de um navegador da Web e não será negada. NOT exists([Type == "<https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-endpoint-absolute-path>", Value == "/adfs/ls/"])
Essa regra afirma que os únicos usuários em determinado grupo do Active Directory (com base no valor do SID) devem ser negados. A adição de NOT a essa instrução significa que um grupo de usuários terá permissão, independentemente da localização. exists([Type == "<https://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid>", Value =~ "{Group SID value of allowed AD group}"])
Essa é uma cláusula obrigatória usada para emitir uma negação quando todas as condições anteriores forem atendidas. => issue(Type = "<https://schemas.microsoft.com/authorization/claims/deny>", Value = "true");

Como criar a expressão de intervalo de endereços IP

A declaração x-ms-forwarded-client-ip é preenchida com base em um cabeçalho HTTP que atualmente é definido apenas pelo Exchange Online, que preenche o cabeçalho ao transmitir a solicitação de autenticação para o AD FS. O valor da declaração pode ser um dos seguintes:

Observação

Atualmente, o Exchange Online só dá suporte a endereços IPv4 e não IPv6.

Um endereço IP individual: o endereço IP do cliente conectado diretamente ao Exchange Online

Observação

O endereço IP de um cliente na rede corporativa será exibido como o endereço IP da interface externa do proxy ou do gateway de saída da organização.

Os clientes conectados à rede corporativa por uma VPN ou pelo Microsoft DA (DirectAccess) podem ser exibidos como clientes corporativos internos ou como clientes externos, dependendo da configuração de VPN ou do DA.

Um ou mais endereços IP: quando o Exchange Online não puder determinar o endereço IP do cliente de conexão, ele definirá o valor com base no valor do cabeçalho x-forwarded-for, um cabeçalho não padrão que pode ser incluído em solicitações baseadas em HTTP e que é compatível com vários clientes, balanceadores de carga e proxies no mercado.

Observação

Endereços IP múltiplos, indicando o endereço IP do cliente e o endereço de cada proxy que transmitiu a solicitação, serão separados por uma vírgula.

Os endereços IP relacionados à infraestrutura do Exchange Online não serão exibidos na lista.

Expressões regulares

Quando você precisa encontrar uma correspondência para um intervalo de endereços IP, torna-se necessário construir uma expressão regular para fazer a comparação. Na próxima série de etapas, forneceremos exemplos de como construir essa expressão para corresponder aos seguintes intervalos de endereços (observe que você precisará alterar esses exemplos para correspondê-los ao intervalo de IP público):

  • 192.168.1.1 – 192.168.1.25
  • 10.0.0.1 – 10.0.0.14

Primeiro, o padrão básico que corresponderá a um endereço IP individual é o seguinte: \b###.###.###.###\b

Estendendo isso, podemos corresponder dois endereços IP diferentes com uma expressão OR da seguinte maneira: \b###.###.###.###\b|\b###.###.###.###\b

Portanto, um exemplo usado para correspondência de apenas dois endereços (como 192.168.1.1 ou 10.0.0.1) será: \b192.168.1.1\b|\b10.0.0.1\b

Isso fornece a técnica pela qual você pode inserir qualquer número de endereços. Quando um intervalo de endereços precisa ser permitido, por exemplo, 192.168.1.1 – 192.168.1.25, a correspondência precisa ser feita caractere por caractere: \b192.168.1.([1-9]|1[0-9]|2[0-5])\b

Observação

O endereço IP é tratado como uma cadeia de caracteres e não como um número.

A regra é dividida da seguinte maneira: \b192.168.1.

Isso corresponde a qualquer valor a partir de 192.168.1.

O seguinte exemplo corresponde aos intervalos necessários para a parte do endereço após o ponto decimal final:

  • ([1-9] Corresponde aos endereços que terminam em 1-9
  • |1[0-9] Corresponde aos endereços que terminam em 19-10
  • |2[0-5]) Corresponde aos endereços que terminam em 20-25

Observação

Os parênteses precisam estar posicionados corretamente para que você não comece a correspondência com outras partes de endereços IP.

Com o bloco 192 correspondente, podemos escrever uma expressão semelhante para o bloco 10: \b10.0.0.([1-9]|1[0-4])\b

Juntando tudo, a seguinte expressão encontrará a correspondência de todos os endereços de “192.168.1.1~25” e “10.0.0.1~14”: \b192.168.1.([1-9]|1[0-9]|2[0-5])\b|\b10.0.0.([1-9]|1[0-4])\b

Como testar a expressão

As expressões regex podem se tornar bastante complicadas. Portanto, recomendamos fortemente o uso de uma ferramenta de verificação regex. Se você fizer uma pesquisa na Internet por “construtor de expressões regex online”, encontrará vários bons utilitários online que permitirão que você teste suas expressões nos dados de exemplo.

Ao testar a expressão, é importante que você entenda o que é esperado que precise encontrar a correspondência. O sistema online do Exchange poderá enviar muitos endereços IP, separados por vírgulas. As expressões fornecidas acima funcionarão para isso. No entanto, é importante pensar nisso ao testar suas expressões regex. Por exemplo, é possível usar o seguinte exemplo de entrada para verificar os exemplos acima:

192.168.1.1, 192.168.1.2, 192.169.1.1. 192.168.12.1, 192.168.1.10, 192.168.1.25, 192.168.1.26, 192.168.1.30, 1192.168.1.20

10.0.0.1, 10.0.0.5, 10.0.0.10, 10.0.1.0, 10.0.1.1, 110.0.0.1, 10.0.0.14, 10.0.0.15, 10.0.0.10, 10,0.0.1

Como validar a implantação

Logs de auditoria de segurança

Para verificar se as novas declarações de contexto de solicitação estão sendo enviadas e se estão disponíveis para o pipeline de processamento de declarações do AD FS, habilite o log de auditoria no servidor do AD FS. Em seguida, envie algumas solicitações de autenticação e verifique os valores de declaração nas entradas do log de auditoria de segurança padrão.

Para habilitar o log de eventos de auditoria no log de segurança em um servidor do AD FS, siga as etapas descritas em Configurar a auditoria para o AD FS 2.0.

Log de eventos

Por padrão, as solicitações com falha são registradas no log de eventos do aplicativo localizado em Logs de Aplicativos e Serviços \ AD FS 2.0 \ Administração. Para obter mais informações sobre o log de eventos do AD FS, confira Configurar o log de eventos do AD FS 2.0.

Como configurar logs de rastreamento detalhados do AD FS

Os eventos de rastreamento do AD FS são registrados no log de depuração do AD FS 2.0. Para habilitar o rastreamento, confira Configurar o rastreamento de depuração para o AD FS 2.0.

Depois de habilitar o rastreamento, use a seguinte sintaxe de linha de comando para habilitar o nível de registros em log detalhado: wevtutil.exe sl “Rastreamento/Depuração do AD FS 2.0” /l:5

Para obter mais informações sobre os novos tipos de declarações, confira Tipos de declarações do AD FS.