Compartilhar via


Como Adicionar Autorização de Segurança <add>

Visão geral

O elemento <add> da coleção <authorization> define uma regra de autorização que permitirá ou negará acesso a usuários, grupos, usuários anônimos ou todos os usuários especificados.

O atributo accessType especifica um dos dois tipos de regras de autorização:

  • As regras de permissão permitem definir as contas de usuário ou grupos de usuários que podem acessar um site, um aplicativo ou todos os sites em um servidor.
  • As regras de negação permitem definir as contas de usuário ou grupos de usuários que não podem acessar um site, um aplicativo ou todos os sites em um servidor.

As regras de autorização podem ser direcionadas ainda mais para uma lista de verbos HTTP e usuários ou grupos específicos.

Compatibilidade

Versão Observações
IIS 10.0 O elemento <add> não foi modificado no IIS 10.0.
IIS 8.5 O elemento <add> não foi modificado no IIS 8.5.
IIS 8.0 O elemento <add> não foi modificado no IIS 8.0.
IIS 7.5 O elemento <add> não foi modificado no IIS 7.5.
IIS 7.0 O elemento <add> da coleção <authorization> foi introduzido no IIS 7.0.
IIS 6,0 A coleção <authorization> substitui as propriedades de metabase AzEnable, AzStoreName, AzScopeName e AzImpersonationLevel dos IIS 6.0.

Instalação

Para dar suporte e configurar a autorização para sites e aplicativos em seu servidor Web, você deve instalar o módulo de autorização de URL. Para fazer isso, execute as etapas a seguir.

Windows Server 2012 R2 ou Windows Server 2012

  1. Na barra de tarefas, clique em Gerenciador do Servidor. – No Gerenciador do Servidor, clique no menu Gerenciar e clique em Adicionar Funções e Recursos. – No assistente Adicionar Funções e Recursos, clique em Avançar. Selecione o tipo de instalação e clique em Avançar. Selecione o servidor de destino e clique em Avançar. Na página Funções de Servidor, expanda Servidor Web (IIS), Servidor Web, expanda Segurança e selecione Autorização de URL. Clique em Avançar.
    Screenshot that shows U R L Authorization selected for Windows Server 2012. . – Na página Selecionar recursos, clique em Avançar. – Na página Confirmar seleções de instalação, clique em Instalar. – Na página Resultados, clique em Fechar.

Windows 8 ou Windows 8.1

  1. Na tela Iniciar, mova o ponteiro até o canto inferior esquerdo, clique com o botão direito do mouse no botão Iniciar e clique em Painel de Controle. Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar Recursos do Windows. Expanda Serviços de Informações da Internet, expanda Serviços da World Wide Web, expanda Segurança e, em seguida, selecione Autorização de URL.
    Screenshot that shows U R L Authorization selected for Windows 8.– Clique em OK.
  2. Clique em Fechar.

Windows Server 2008 R2 ou Windows Server 2008

  1. Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador do Servidor. – No painel de hierarquia do Gerenciador do Servidor, expanda Funções e clique em Servidor Web (IIS). – No painel Servidor Web (IIS), role até a seção Serviços de Função e clique em Adicionar Serviços de Função. – Na página Selecionar Serviços de Função do Assistente para Adicionar Serviços de Função, selecione Autorização de URL e clique em Avançar.
    Screenshot that shows U R L Authorization selected for Windows Server 2008.– Na página Confirmar Seleções de Instalação, clique em Instalar. – Na página Resultados, clique em Fechar.

Windows Vista ou Windows 7

  1. Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle. – Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou Desativar Recursos do Windows. – Expanda Serviços de Informações da Internet, selecione Autorização de URL e, em seguida, clique em OK.
    Screenshot that shows U R L Authorization selected for Windows Windows Vista or Windows 7.

Instruções

Como adicionar uma regra de autorização

  1. Abra o Gerenciador do IIS (Serviços de Informações da Internet):

    • Caso você esteja usando o Windows Server 2012 ou o Windows Server 2012 R2:

      • Na barra de tarefas, clique em Gerenciador do Servidor, em Ferramentas e em Gerenciador do IIS (Serviços de Informações da Internet).
    • Se você estiver usando o Windows 8 ou Windows 8.1:

      • Mantenha pressionada a tecla Windows, pressione a letra X e clique em Painel de Controle.
      • Clique em Ferramentas Administrativas e clique duas vezes em Gerenciador do IIS (Serviços de Informações da Internet).
    • Caso você esteja usando o Windows Server 2008 ou o Windows Server 2008 R2:

      • Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador do IIS (Serviços de Informações da Internet).
    • Se você estiver usando o Windows Vista ou Windows 7:

      • Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
      • Clique duas vezes em Ferramentas Administrativas e clique duas vezes em Gerenciador do IIS (Serviços de Informações da Internet).
  2. No painel Conexões, expanda o nome do servidor, expanda Sites e navegue até o site ou aplicativo no qual deseja configurar a autorização.

  3. No painel Página Inicial, clique duas vezes em Regras de Autorização.
    Screenshot that shows the Default Web Site Home pane, with Authorization Rules selected.

  4. Para adicionar uma nova regra de autorização, no painel Ações, clique em Adicionar Regra de Permissão... ou Adicionar Regra de Negação...

  5. Aplique as configurações de autorização necessárias para seu site ou aplicativo e clique em OK. Por exemplo:

    • Exemplo nº 1: adicionar uma regra de permissão para todos os usuários para verbos HTTP específicos:
      Screenshot that shows the Add Deny Authorization Rule dialog box, with Apply this rule to specific verbs selected.

    • Exemplo nº 2: adicionar uma regra de negação para um usuário específico para todos os verbos HTTP:
      Screenshot that shows the Add Deny Authorization Rule dialog box, with Specified rules selected.

      Observação

      Para editar ou excluir uma regra existente, selecione a regra no painel Regras de autorização e clique em Editar ou Remover no painel Ações. Se você clicar em Editar, será exibida uma caixa de diálogo que permite editar a regra. Essa caixa de diálogo é semelhante às caixas de diálogo Adicionar Regra de Autorização de Permissão e Adicionar Regra de Autorização de Negação.

Configuração

Atributos

Atributo Descrição
accessType Atributo de enumeração necessário.

O atributo accessType pode ser um dos valores possíveis a seguir.
Valor Descrição
Allow Especifica uma regra que permite a autorização.

O valor numérico é 0.
Deny Especifica uma regra que nega a autorização.

O valor numérico é 1.
roles Atributo de cadeia de caracteres opcional.

Especifica as funções de uma regra de autorização.
users Atributo de cadeia de caracteres opcional.

Especifica os usuários de uma regra de autorização. Vários usuários podem ser adicionados a uma lista separada por vírgulas. Além disso, os identificadores especiais a seguir foram definidos.
Valor Descrição
* Especifica que a regra se aplicará a todos os usuários.
? Especifica que a regra se aplicará a usuários anônimos.
verbs Atributo de cadeia de caracteres opcional.

Especifica os verbos HTTP para uma regra de autorização.

Se esse valor for deixado em branco ou não for especificado, a regra será aplicada a todos os verbos HTTP.

Elementos filho

Nenhum.

Exemplo de configuração

O exemplo de configuração a seguir, quando incluído em um arquivo Web.config, remove as configurações de autorização padrão dos IIS, o que permite que todos os usuários acessem o conteúdo do site ou do aplicativo. Em seguida, ele configura uma regra de autorização que permite que apenas usuários com privilégios de administrador acessem o conteúdo.

<configuration>
   <system.webServer>
      <security>
         <authorization>
            <remove users="*" roles="" verbs="" />
            <add accessType="Allow" users="" roles="Administrators" />
         </authorization>
      </security>
   </system.webServer>
</configuration>

Exemplo de código

Os exemplos a seguir adicionam uma regra de autorização de permissão que permite que os usuários do grupo de administradores acessem um site chamado Contoso.

AppCmd.exe

appcmd.exe set config "Contoso" -section:system.webServer/security/authorization /+"[accessType='Allow',roles='administrators']"

Observação

Opcionalmente, você pode definir o parâmetro commit como apphost ao usar o AppCmd.exe para definir essas configurações. Isso confirma as definições de configuração para a seção de local apropriado no arquivo ApplicationHost.config. em vez de no arquivo Web.config.

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetWebConfiguration("Contoso");
         ConfigurationSection authorizationSection = config.GetSection("system.webServer/security/authorization");
         ConfigurationElementCollection authorizationCollection = authorizationSection.GetCollection();

         ConfigurationElement addElement = authorizationCollection.CreateElement("add");
         addElement["accessType"] = @"Allow";
         addElement["roles"] = @"administrators";
         authorizationCollection.Add(addElement);

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample
   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetWebConfiguration("Contoso")
      Dim authorizationSection As ConfigurationSection = config.GetSection("system.webServer/security/authorization")
      Dim authorizationCollection As ConfigurationElementCollection = authorizationSection.GetCollection
      Dim addElement As ConfigurationElement = authorizationCollection.CreateElement("add")
      addElement("accessType") = "Allow"
      addElement("roles") = "administrators"
      authorizationCollection.Add(addElement)
      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Contoso";
var authorizationSection = adminManager.GetAdminSection("system.webServer/security/authorization", "MACHINE/WEBROOT/APPHOST/Contoso");
var authorizationCollection = authorizationSection.Collection;

var addElement = authorizationCollection.CreateNewElement("add");
addElement.Properties.Item("accessType").Value = "Allow";
addElement.Properties.Item("roles").Value = "administrators";
authorizationCollection.AddElement(addElement);

adminManager.CommitChanges();

VBScript

Set adminManager = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Contoso"
Set authorizationSection = adminManager.GetAdminSection("system.webServer/security/authorization", "MACHINE/WEBROOT/APPHOST/Contoso")
Set authorizationCollection = authorizationSection.Collection

Set addElement = authorizationCollection.CreateNewElement("add")
addElement.Properties.Item("accessType").Value = "Allow"
addElement.Properties.Item("roles").Value = "administrators"
authorizationCollection.AddElement(addElement)

adminManager.CommitChanges()