Esta documentação foi arquivada e não está sendo atualizada.

Regras e grupos de regras

Publicado: abril de 2011

Atualizado: junho de 2015

Aplica-se a: Azure

No Access Control do Active Directory do Microsoft Azure (também conhecido como Access Control Service ou ACS), um grupo de regras é um conjunto nomeado de regras de declaração que definem quais declarações de identidade são passadas de provedores de identidade para o aplicativo de terceira parte confiável. No ACS, os grupos de regras estão associados a aplicativos de terceira parte confiável. Um grupo de regras pode ser usado por mais de um aplicativo de terceira parte confiável e um aplicativo de terceira parte confiável pode fazer referência a mais de um grupo de regras.

Quando o ACS recebe uma solicitação de token ou um token de um provedor de identidade, ele é executado por todos os grupos de regras associados ao aplicativo de terceira parte confiável para processar as declarações no token. Todos os grupos de regras são executados simultaneamente, assim como todas as regras em cada grupo de regras (a ordem não importa). Se as regras fizerem com que qualquer nova declaração seja emitida após o término da execução, os grupos de regras associados ao aplicativo de terceira parte confiável serão executados novamente. O processo de execução de regra e de grupo de regras é interrompido quando nenhuma declaração for emitida após a conclusão do processo de execução ou depois que o ACS concluir dez execuções (o que ocorrer primeiro).

É possível criar e editar regras e grupos de regras, seja manualmente usando o Portal de Gerenciamento ACS ou programaticamente usando o Serviço de Gerenciamento ACS.

Ao adicionar e configurar as propriedades de um novo aplicativo de terceira parte confiável no Portal de Gerenciamento ACS, você também pode criar um grupo de regras associado a este aplicativo de terceira parte confiável, porque, por padrão, a opção Criar Novo Grupo de Regras vem selecionada na página Adicionar Aplicativos de Terceira Parte Confiável do Portal de Gerenciamento ACS. É altamente recomendável que você mantenha essa opção selecionada e, consequentemente, crie um grupo de regras padrão para seu novo aplicativo de terceira parte confiável. (Para obter mais informações, consulte “Grupos de regras” em Aplicativos de terceira parte confiável.) Você também pode adicionar grupos de regras usando a seção Grupos de regras do Portal de Gerenciamento ACS. Depois, à medida que adiciona aplicativos de terceira parte confiável usando a página Adicionar Aplicativo de Terceira Parte Confiável, você pode associá-los a um ou mais grupos de regras existentes.

Após a criação de um grupo de regras, você pode usar a página Editar Grupo de Regras do Portal de Gerenciamento ACS para gerar regras automaticamente. Se optar por gerar regras automaticamente, você precisará selecionar os provedores de identidade para os quais deseja gerar as regras. Quando o grupo de regras estiver vinculado a um ou mais aplicativos de terceira parte confiável, os provedores de identidade usados por esses aplicativos confiáveis são selecionados por padrão.

noteObservação
Para provedores de identidade do WS-Federation, uma regra é criada para cada tipo de declaração que é oferecida nos metadados do WS-Federation do provedor de identidade e essa regra passa o tipo de declaração e o valor. Para outros provedores de identidade, as regras de passagem são geradas com base em uma lista de tipos predeterminados de declaração.

A página Editar Grupo de Regras do Portal de Gerenciamento ACS exibe todas as regras em uma tabela, onde as colunas incluem a Declaração de Saída da regra, o Emissor de Declaração (pode ser um provedor de identidade ou o ACS) e uma Descrição.

Se clicar em uma determinada regra na tabela, você será redirecionado para a página Editar Regra de Declaração, onde a regra pode ser editada. Para adicionar uma nova regra manualmente, é possível clicar em Adicionar.

As regras de declaração descrevem a lógica de como o ACS transforma declarações de entrada em declarações de saída. As regras estão contidas em grupos de regras, que estão associados a aplicativos confiáveis e são executados sempre que um token é emitido pelo ACS para um aplicativo. Se um grupo de regras não contiver regras, nenhum token é emitido para o aplicativo de terceira parte confiável. Normalmente, uma regra é necessária para cada tipo de declaração que deseja emitir para seu aplicativo de terceira parte confiável. É possível criar e usar apenas uma regra para passar por todos os tipos de declaração e valores. No entanto, usando uma regra por cada tipo de declaração melhora a segurança e proporciona maior controle sobre os dados que são passados para o seu aplicativo.

No ACS, é possível configurar uma regra para passar uma declaração recebida de um provedor de identidade ou cliente por meio do aplicativo da terceira parte confiável sem alterar o tipo, o emissor ou o valor da declaração. Essas regras são chamadas regras de passagem. Por exemplo, tokens emitidos pelo Windows Live ID (conta da Microsoft). contêm um tipo de declaração nameidentifier. Para passar essa declaração inalterada para o aplicativo de terceira parte confiável, você precisa configurar uma regra de passagem que processe o tipo de declaração de entrada nameidentifier do emissor de declaração, o Windows Live ID e crie uma declaração de saída idêntica.

A tabela a seguir ilustra as declarações sendo passadas por meio de um provedor de identidade fictício AD FS 2.0 chamado Contoso.com.

 

Declarações de entrada Declarações de saída

Emissor

Tipo

Valor

Emissor

Tipo

Valor

Contoso.com

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

123456789

Serviço de Controle de Acesso

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

123456789

Contoso.com

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

john@contoso.com

Serviço de Controle de Acesso

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

john@contoso.com

Contoso.com

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name

John Doe

Serviço de Controle de Acesso

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name

John Doe

O mecanismo de regras do ACS também fornece a capacidade de transformar declarações de entrada em declarações de saída totalmente diferentes, com base no emissor da declaração, no tipo de declaração de entrada e no valor. Em outras palavras, o mecanismo de regras do ACS permite transformar tokens de entrada em tokens de saída diferentes adicionando, removendo ou alterando as declarações que os tokens contêm. Essa forma de transformação de declarações torna o ACS capaz de implementar a autorização básica com base nos valores de entrada da declaração. O exemplo a seguir mostra um tipo de declaração de “função” com um valor de “administrador” sendo extraído se a declaração de entrada “nameidentifier” corresponder a um valor específico.

 

Declarações de entrada Declarações de saída

Emissor

Tipo

Valor

Emissor

Tipo

Valor

Contoso.com

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

123456789

Serviço de Controle de Acesso

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

administrador

O mecanismo de regras do ACS também fornece a capacidade de criar declarações de saída com base em um conjunto de duas declarações de entrada. No exemplo abaixo, a declaração de saída é do tipo “ação” com um valor de “gravação” se as declarações de entrada “nameidentifier” e “função” de Contoso.com corresponderem a valores específicos. Quando duas declarações de entrada são especificadas em uma regra, os dois valores devem corresponder para gerar a declaração de saída.

 

Declarações de entrada Declarações de saída

Emissor

Tipo

Valor

Emissor

Tipo

Valor

Contoso.com

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

123456789

Serviço de Controle de Acesso

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/action

gravação

Contoso.com

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/role

administrador

Para obter mais informações e etapas sobre como implementar a transformação de token usando regras, consulte Como: Implementar a lógica de transformação de token usando regras.

Ao adicionar novas regras de declaração ou editar as existentes com o Portal de Gerenciamento ACS, você deve configurar as seguintes definições:

Esta seção contém as condições que devem ser verdadeiras para a regra emitir uma declaração de saída. A saber:

  • Emissor de declaração – refere-se à entidade que emitiu a declaração de entrada. Isso pode ser um provedor de identidade configurado (por exemplo, ) ou ACS. O ACS é o emissor se a declaração de entrada for proveniente de uma identidade de serviço ou de outra regra de declaração. Para obter mais informações, consulte Identidades de serviço.

  • Tipo de declaração de entrada – refere-se ao tipo de declaração de entrada recebida do emissor de declaração. Por exemplo, o tipo de declaração completa para “nameidentifier” é http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier. As opções para esse campo incluem:

    • Qualquer – retorna true se o tipo de declaração for recebido do emissor.

    • Selecionar tipo – retorna true se o tipo de declaração de entrada corresponder ao tipo selecionado no menu suspenso. Esse menu é preenchido com os tipos de declaração disponíveis para o emissor de declaração selecionado.

    • Inserir tipo – retorna true se o tipo de declaração de entrada coincidir com o valor exato inserido no campo.

      ImportantImportante
      Esse campo diferencia maiúsculas de minúsculas.

  • Valor da declaração de entrada – refere-se ao valor da declaração de entrada recebido. Por exemplo, o tipo de declaração “nameidentifier” usa um endereço de email como seu valor e esse campo pode ser usado para verificar um endereço de email específico. As opções para esse campo incluem:

    • Qualquer – retorna true se algum valor de declaração for recebido do emissor.

    • Inserir valor – retorna true se o tipo de declaração de entrada coincidir com o valor exato inserido no campo. Essa opção exige que um tipo de declaração de entrada específica seja selecionada ou inserida no campo Tipo de Declaração de Entrada.

      ImportantImportante
      Esse campo diferencia maiúsculas de minúsculas.

Para adicionar uma segunda declaração à regra, clique em Adicionar uma segunda declaração de entrada. Isso permite que você especifique as condições adicionais mostradas abaixo. Observe que, em uma regra com duas declarações de entrada, todas as condições devem ser verdadeiras para gerar uma declaração de saída.

  • Emissor de declaração – refere-se à entidade que emitiu a segunda declaração de entrada. Esse pode ser o mesmo provedor de identidade selecionado para a primeira declaração ou pode ser o ACS. Selecione ACS para especificar declarações geradas de outras regras de declaração durante o processamento de regras.

    ImportantImportante
    Dois provedores de identidade diferentes não podem ser selecionados para a primeira e a segunda declarações, pois o processamento de regras só ocorre para um token emitido de um provedor de identidade por vez.

  • Tipo de declaração de entrada – refere-se ao tipo de declaração de entrada recebida do emissor de declaração. Por exemplo, o tipo de declaração completa para “nameidentifier” é http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier. As opções para esse campo incluem:

    • Selecionar tipo – retorna true se o tipo de declaração de entrada corresponder ao tipo selecionado no menu suspenso. Esse menu é preenchido com os tipos de declaração disponíveis para o emissor de declaração selecionado.

    • Inserir tipo – retorna true se o tipo de declaração de entrada coincidir com o valor exato inserido no campo.

      ImportantImportante
      Esse campo diferencia maiúsculas de minúsculas.

  • Valor da declaração de entrada – refere-se ao valor da declaração de entrada recebido. Por exemplo, o tipo de declaração “nameidentifier” usa um endereço de email como seu valor e esse campo pode ser usado para verificar um endereço de email específico. Isso retorna true se o tipo de declaração de entrada coincidir com o valor exato inserido no campo.

    ImportantImportante
    Esse campo diferencia maiúsculas de minúsculas.

Esta seção especifica a declaração de saída que é emitida pelo ACS se as condições da seção Se da regra forem verdadeiras. As opções de declaração de saída incluem o seguinte:

  • Tipo de declaração de saída – o tipo de declaração que é emitido pelo ACS. As opções para esse campo incluem o seguinte:

    • Tipo de declaração de entrada de passagem – emite uma declaração de saída que é do mesmo tipo que a declaração de entrada.

    • Selecionar tipo – emite uma declaração de saída do tipo especificado. O menu suspenso contém uma lista dos tipos comuns de declaração.

    • Inserir tipo – emite uma declaração do tipo inserido. Se a declaração de saída estiver presente em um token SAML, esse valor deve ser um URI (por exemplo, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier).

      ImportantImportante
      Esse campo diferencia maiúsculas de minúsculas.

  • Valor da declaração de saída – se refere ao valor da declaração de saída emitida pelo ACS. As opções para esse campo incluem o seguinte:

    • Valor de declaração de entrada de passagem – emite uma declaração de saída com o valor idêntico ao valor de declaração de entrada.

    • Inserir valor – emite uma declaração que tem o valor inserido neste campo. Essa opção exige que um tipo de declaração de entrada específica seja selecionada ou inserida no campo Tipo de Declaração de Saída.

      ImportantImportante
      Esse campo diferencia maiúsculas de minúsculas.

Você pode usar esta seção para criar uma descrição para uma regra.

noteObservação
No ACS, as descrições de regras não são criadas automaticamente para as regras geradas.

As regras em um Namespace do Access Control podem ser configuradas por meio de programação usando o Serviço de Gerenciamento ACS. Para obter um exemplo de como configurar regras usando o ASP.NET, consulte Exemplo de código: Gerenciamento de serviço. Veja a seguir os itens importantes a considerar ao usar o Serviço de Gerenciamento ACS para configurar regras:

  • Quando editar e excluir regras em um grupo de regras, é recomendável que você primeiro consulte o ACS em relação a todas as regras dentro desse grupo de regras e use as IDs de regra que a consulta retorna para executar as operações de edição ou exclusão. Não é recomendável que você armazene as IDs retornadas pelo serviço de gerenciamento para operações futuras, pois não há garantia de que essas IDs irão persistir.

  • Se estiver escrevendo uma lógica de repetição automática para a criação de regras (como no caso de um tempo limite), é recomendável que você primeiro consulte a existência de uma regra idêntica no grupo de regras atual antes de tentar adicioná-la novamente.

Consulte também

Mostrar: