Configurar a Administração Remota e Delegação de Recurso no IIS 7

por Saad Ladki

Introdução

Com o IIS, administradores e desenvolvedores têm um novo sistema de configuração acessível, extensível e distribuível. O novo formato baseado em XML permite configurar com facilidade os módulos e recursos disponíveis no IIS 7 e versões mais recentes. Também permite fazer um controle granular dos locais em que as configurações para recursos individuais podem ser definidas. Por exemplo, no nível do servidor no arquivo applicationHost.config, ou em um site ou aplicativo em um arquivo Web.config.

A nova interface do usuário (IU) de administração do IIS, o Gerenciador do IIS, é totalmente compatível com esse novo sistema e inclui recursos adicionais que disponibilizam um sistema poderoso e granular para configurar o servidor Web. Dois desses recursos adicionais são a administração remota de servidores, sites e aplicativos e a compatibilidade com autenticação e autorização baseadas no usuário.

Este artigo explica como habilitar conexões remotas, configurar usuários e permissões e delegar recursos a um nível de site ou aplicativo. Há muitos cenários em que um administrador do servidor IIS precisa delegar o controle administrativo de um ou vários recursos a alguém, ou em que o administrador pode querer impedir que outras pessoas vejam a configuração existente. Confira o cenário a seguir como exemplo.

Edward é administrador do servidor em um computador que hospeda vários sites. O computador faz parte de um domínio e alguns dos proprietários do site pertencem ao mesmo domínio. No entanto, alguns dos proprietários do site estão fora do domínio, e Edward deve criar contas de usuário do Gerenciador do IIS para essas pessoas, com nome de usuário e senha para cada uma. Depois de criar as contas de usuário necessárias para o Gerenciador do IIS, Edward configura as permissões da ferramenta para cada site a fim de especificar quais dos usuários têm permissão para se conectar a um determinado site. Para fazer isso, Edward abre o recurso Permissões do Gerenciador do IIS em cada site e adiciona usuários do Windows e usuários do Gerenciador do IIS. Essa ação gera duas consequências. Primeiro, o IIS fica configurado para permitir que um usuário se conecte ao site com credenciais válidas. Segundo, os usuários que se conectam com êxito podem configurar os recursos delegados no site.

Edward também quer que os proprietários dos sites configurem determinados recursos por conta própria. Ele confia no julgamento dessas pessoas para fazer isso. Isso elimina a necessidade de um proprietário de site solicitar que Edward configure recursos que variam por site, como documentos padrão. Ele decide delegar a configuração dos recursos a seguir em todos os sites no servidor: Documentos Padrão, Pesquisa no Diretório e Páginas de Erro. Além disso, Edward decide delegar a configuração de um recurso adicional, o Redirecionamento HTTP, ao site Contoso, porque ele sabe que o site geralmente precisa ser redirecionado e confia nos proprietários para definir essas configurações. Ele define todos os outros recursos como somente leitura para que os proprietários de sites possam ver as configurações, mas não defini-las em seus sites.

Julian e Catherine são proprietários do site Contoso no computador de Edward. Julian tem uma conta de usuário do Windows e Catherine tem uma conta de usuário do Gerenciador do IIS para a qual Edward forneceu credenciais. Eles podem abrir o Gerenciador do IIS em seus próprios computadores e se conectarem à Contoso porque Edward permitiu que as contas configurassem o site da Contoso. Cada um deles vê todos os recursos que foram delegados no nível do site. Eles podem configurar Documentos Padrão, Pesquisa no Diretório, Páginas de Erro e Redirecionamento HTTP porque Edward delegou a definição dessas configurações ao site.

Pré-requisitos

Os itens a seguir são necessários para concluir os procedimentos deste artigo:

  • IIS 7.0 no Windows Server® 2008 ou IIS 7.5 no Windows Server 2008 R2
  • Gerenciador do IIS

Configurar conexões remotas no Gerenciador do IIS

No IIS, o Gerenciador do IIS facilita a administração remota. Além de gerenciar o IIS no computador local, o Gerenciador do IIS administra servidores, sites e aplicativos remotos. O administrador do servidor usa recursos de administração remota para adicionar contas de usuário do Gerenciador do IIS e permitir que essas pessoas se conectem a quaisquer sites ou aplicativos para os quais tenham permissão.

Para configurar a administração remota, é necessário habilitar conexões remotas no Gerenciador do IIS e definir o tipo de credenciais necessárias para se conectar ao servidor. Você tem a opção de alterar as configurações padrão de conexão e registro em log, bem como adicionar restrições de conexão com base em endereços IP ou nomes de domínio.

Instalar o Serviço de Gerenciamento

As opções de instalação padrão do IIS não incluem o Serviço de Gerenciamento (também conhecido como WMSVC [Serviço de Gerenciamento da Web]), que é necessário para a administração remota. Se você não tiver instalado o Serviço de Gerenciamento, siga as etapas neste procedimento para fazer isso.

Para instalar o Serviço de Gerenciamento:

  1. Clique em Iniciar, digite Gerenciador do Servidor na caixa Pesquisar e pressione ENTER para abrir o Gerenciador do Servidor.
  2. Na árvore, abaixo de Funções, selecione Servidor Web (IIS).
  3. Clique em Adicionar serviços de função e selecione Serviço de Gerenciamento, conforme mostrado na imagem abaixo.
  4. Clique em Avançar e siga as instruções para concluir a instalação.Screenshot of Role Services menu. Management Service is highlighted.

Habilitar conexões remotas e configurar credenciais de identidade

Habilite conexões remotas para que os usuários do Windows e do Gerenciador do IIS (configurados mais adiante neste artigo) possam se conectar a este computador usando o Gerenciador do IIS em seus próprios computadores. Por padrão, o Serviço de Gerenciamento permite conexões apenas de usuários que têm credenciais do Windows, mas você pode configurá-lo para também permitir conexões de usuários com credenciais do Gerenciador do IIS. Para os fins deste artigo, configure o Serviço de Gerenciamento para permitir ambos os tipos de credenciais, conforme mostrado na imagem abaixo.

Observação

A próxima seção deste artigo explica as credenciais do Gerenciador do IIS.

Para permitir conexões remotas e de usuários do Windows e do Gerenciador do IIS:

  1. No Gerenciador do IIS 7.0, no painel Conexões, clique no nó de servidor na árvore.
  2. Clique duas vezes em Serviço de Gerenciamento para abrir a página do recurso Serviço de Gerenciamento.
  3. Marque a caixa de seleção Habilitar conexões remotas.
  4. Em Credenciais de identidade, selecione Credenciais do Windows ou do Gerenciador do IIS.
  5. No painel Ações, clique em Aplicar para salvar as alterações e em Iniciar para iniciar o Serviço de Gerenciamento.
    Screenshot of Management Service feature page. The option Enable remote connections is highlighted. In the Actions pane, Start is highlighted.

Informações adicionais

Não é necessário habilitar conexões remotas para iniciar o Serviço de Gerenciamento. Se as conexões remotas estiverem desabilitadas e o Serviço de Gerenciamento for iniciado, você poderá se conectar ao Serviço de Gerenciamento no computador local, mas não de um computador remoto. Se não conseguir conectar em computador remoto, verifique se as conexões remotas estão habilitadas.

Você deve verificar as configurações de firewall para garantir que as conexões sejam permitidas com o Serviço de Gerenciamento. Quando o Serviço de Gerenciamento é instalado, o processo de instalação adiciona uma regra de firewall que permite o tráfego para o Serviço de Gerenciamento na porta 8172 (a porta padrão), que está ativada por padrão. Se você alterar a porta que o Serviço de Gerenciamento usa, adicione uma nova regra de firewall para permitir o tráfego para o Serviço de Gerenciamento nessa porta.

Definir configurações de conexão e registro em log para o Serviço de Gerenciamento

Além das configurações do Serviço de Gerenciamento que foram definidas na seção acima, você pode definir as configurações de conexão e especificar onde registrar solicitações. A tabela a seguir descreve cada campo e sua configuração padrão. Se você alterar alguma configuração, clique em Aplicar no painel Ações e reinicie o Serviço de Gerenciamento.

Propriedade Descrição Configuração padrão
Endereço IP Especifica o endereço IP ao qual o serviço está associado. Todos Não atribuídos
Porta Especifica o número da porta que o serviço usa para solicitações. 8172
Certificado SSL Especifica o certificado SSL usado pelo serviço. Todas as solicitações ao serviço usam HTTPS na porta especificada no campo Porta. Esta lista contém os certificados SSL que estão disponíveis para o servidor. Se você quiser adicionar certificados SSL adicionais, use o recurso Certificados do Servidor no nível do servidor. Certificado auto-assinado instalado durante a configuração
Registrar solicitações para Especifica o caminho para os arquivos de log do Serviço de Gerenciamento. %SystemDrive%\Inetpub\logs\WMSVC

Configurar restrições de IP e domínio para o Serviço de Gerenciamento

Por padrão, o Serviço de Gerenciamento aceita todas as solicitações feitas ao seu endereço IP e porta configurados, e os usuários têm permissão para se conectar quando são adicionados ao Gerenciador do IIS (conforme explicado na próxima seção). No entanto, você pode configurar o serviço para negar acesso a solicitações não especificadas e, em vez disso, adicionar regras de permissão específicas para que apenas solicitações feitas de um endereço IP ou domínio específico sejam aceitas. Para saber mais sobre como permitir ou negar solicitações de endereços IP ou domínios, confira os procedimentos em "Configurar o gerenciamento remoto" no Microsoft TechNet.

Configurar usuários e permissões para o Gerenciador do IIS

Ao configurar o Serviço de Gerenciamento na seção acima, você selecionou a opção Credenciais do Windows ou do Gerenciador do IIS. Essa opção permite que pessoas com contas de usuário do Windows ou do Gerenciador do IIS se conectem a um site ou aplicativo no computador remoto usando o Gerenciador do IIS. Ambos os tipos de usuários devem apresentar credenciais válidas (nome de usuário e senha) quando se conectam remotamente. Um usuário do Windows deve inserir credenciais válidas do Windows para uma conta de usuário no computador remoto (ou no domínio se o computador for membro de um domínio). Um usuário do Gerenciador do IIS deve inserir credenciais válidas do Gerenciador do IIS, que são configuradas no Gerenciador do IIS por um administrador do servidor no computador remoto. Em ambos os casos, uma pessoa pode usar o Gerenciador do IIS para se conectar a sites ou aplicativos para os quais o administrador do servidor concedeu permissão ao usuário.

Adicionar um usuário do Gerenciador do IIS

Os procedimentos a seguir explicam como abrir o recurso Usuários do Gerenciador do IIS e adicionar um usuário. Quando a página do recurso Usuários do Gerenciador do IIS é aberta, a lista exibe cada nome de usuário do Gerenciador do IIS e se a conta está habilitada ou desabilitada. Apenas contas habilitadas têm permissão para se conectar a sites ou aplicativos para os quais receberam permissão.

Para adicionar um usuário do Gerenciador do IIS:

  1. No Gerenciador do IIS, no painel Conexões, clique no nó de servidor na árvore.
  2. Na página inicial do servidor, clique duas vezes em Usuários do Gerenciador do IIS.
    Screenshot of B D E L A P C one dash I I S server home page. In the Connections pane the B D E L A P C one dash I I S server node is highlighted. I I S Manager Users Icon is highlighted.
  3. Na página Usuários do Gerenciador do IIS, no painel Ações, clique em AdicionarUsuário.
  4. Na caixa de nome Usuário, digite um nome de usuário.
  5. Na caixa Senha, digite uma senha. Depois, em Confirmar, digite-a novamente.
  6. Clique em OK.
    Screenshot of I I S Manager Users page. In the Actions pane, Add User is highlighted. An arrow is leading from Add User to the User name box.

Configurar permissões do Gerenciador do IIS para um site ou aplicativo

Para que um usuário se conecte remotamente a um site ou aplicativo no servidor, é necessário ter a permissão do administrador do servidor. Depois de receber a permissão, será possível usar o Gerenciador do IIS para se conectar ao site ou aplicativo usando as credenciais do Windows (se for usuário do Windows) ou as credenciais de usuário do Gerenciador do IIS (se for usuário do Gerenciador do IIS).

Para permitir que um usuário do Gerenciador do IIS se conecte a um site ou aplicativo:

  1. No Gerenciador do IIS, no painel Conexões, selecione o site ou aplicativo no qual você quer configurar permissões.
  2. Na página inicial do site ou aplicativo, clique duas vezes em Permissões do Gerenciador do IIS.
    Screenshot of Connections pane. Default Web Site is selected. On the Default Web Site Home pane, I I S Manager Permissions is highlighted.
  3. Na página Permissões do Gerenciador do IIS, no painel Ações, clique em Permitir usuário.
  4. Na caixa de diálogo Permitir usuário, selecione Gerenciador do IIS e clique em Selecionar.
    Screenshot of I I S Manager Permissions page and Actions pane. Allow User option is highlighted. The Allow User dialog box is shown. I I S Manager is selected.
  5. Na caixa de diálogo Usuários, selecione um ou mais usuários do Gerenciador do IIS na lista e clique em OK.
    Screenshot of Users dialog box. TestAdmin is shown in the list under Name and Select User.
  6. Clique em OK para ignorar a caixa de diálogo Permitir usuário.

Para permitir que um usuário do Windows se conecte a um site ou aplicativo:

  1. Na página Permissões do Gerenciador do IIS, no painel Ações, clique em Permitir usuário.
  2. Na caixa de diálogo Permitir usuário, selecione Windows e clique em Selecionar.
  3. Na caixa de diálogo Selecionar usuário ou grupo, digite um nome de usuário ou pesquise uma conta de usuário. Depois, clique em OK.
    Screenshot of Select User or Group dialog box. Under the text Select this object type, User is written. Under the text From this location, B D E L A P C one dash I I S is written.
  4. Clique em OK para ignorar a caixa de diálogo Permitir usuário.

Configurar ACLs (listas de controle de acesso) para diretórios de conteúdo

Para que o Gerenciador do IIS funcione corretamente quando um usuário se conecta a um site ou aplicativo, as ACLs devem ser configuradas corretamente no diretório físico do site ou aplicativo. No caso dos usuários do Windows, você deve configurar ACLs de diretório e arquivo para cada usuário ou grupo do Windows que precisa acessar os diretórios e arquivos. No caso dos usuários do Gerenciador do IIS, você deve configurar ACLs de diretório e arquivo para o usuário do WMSVC (NT Service\WMSVC por padrão).

Para o diretório físico de um site ou aplicativo, configure permissões de leitura, gravação e execução para o usuário do WMSVC (se você estiver permitindo que os usuários do Gerenciador do IIS se conectem) e para qualquer usuário do Windows que precise se conectar a esse site ou aplicativo.

Se o diretório físico do site ou aplicativo estiver em um computador diferente (ou seja, em um compartilhamento UNC), você precisará configurar o WMSVC para ser executado como um usuário que tenha permissões de leitura, gravação e execução para o conteúdo nesse compartilhamento UNC (o usuário padrão, NT Service\WMSVC, não pode acessar itens em um computador diferente).

Conectar a um site ou aplicativo no Gerenciador do IIS

Depois de configurar o Serviço de Gerenciamento, usuários e permissões, um usuário pode se conectar a um site ou aplicativo.

Para se conectar a um site ou aplicativo

  1. No Gerenciador do IIS, clique em Arquivo e em Conectar a um site(ou Conectar a um aplicativo).
  2. No assistente Conectar a um site ou Conectar a um aplicativo, digite o nome do servidor e o nome do site ao qual você quer se conectar. Se você estiver se conectando a um aplicativo, digite o nome do aplicativo também. Em seguida, clique em Próximo.
    Screenshot of Connect to Site wizard. Under the text Server name, localhost is written. Under the text Site name, contoso dot com is written. The option Next is highlighted.
  3. Na página Fornecer credenciais do assistente Conectar a um site ou Conectar a um aplicativo, selecione se você quer usar as credenciais atuais ou especificá-las para se conectar ao site. Quando você especifica credenciais, o padrão são as credenciais do Windows, a menos que você marque a caixa de seleção Usar credenciais do Gerenciador do IIS. Depois de especificar as credenciais, clique em Avançar para se conectar ao servidor.
    Screenshot of Connect to Site wizard. The Provide Credentials page is shown. Under the text Connecting to
  4. Se a conexão for feita com êxito, o Gerenciador do IIS exibirá a página final no assistente Conectar a um site ou Conectar a um aplicativo para nomear a conexão. Como mostrado na imagem abaixo, o usuário TestAdmin criou uma conexão com o site Contoso.com.
    Screenshot of Connect to Site wizard. The Internet Information Services ( I I S) Manager page is shown. The site name contoso dot com is highlighted and selected.

Informações adicionais

Na próxima seção, veremos a Delegação de Recurso. No entanto, antes disso, e para explicar melhor a Delegação de Recurso e o que essa funcionalidade faz, vamos analisar um recurso do site ao qual acabamos de nos conectar. O site deve ser destacado e a página inicial do site deve ser exibida. Na página inicial, clique duas vezes em Páginas de Erro.

Conforme mostrado na imagem abaixo, no lado direito da página há um alerta que diz "Este recurso foi bloqueado e é somente leitura". Esse alerta é exibido quando um recurso é bloqueado. A próxima seção explica a Delegação de Recurso e o bloqueio em mais detalhes.

Screenshot of Error Pages is shown. On the right side of the page there is an alert saying, This feature has been locked and is read only, which is highlighted.

Delegar recursos no Gerenciador do IIS

A página Delegação de Recurso permite que um administrador do servidor configure o estado de delegação de recursos configuráveis em arquivos Web.config nos níveis de site e aplicativo no Gerenciador do IIS. Uma pessoa pode querer delegar a configuração de determinados recursos, como Documentos Padrão e Pesquisa no Diretório, a um proprietário de site individual.

Ou um administrador do servidor pode delegar um recurso como somente leitura para que o proprietário do site confira as configurações de um recurso, mas não possa alterá-las. O administrador do servidor pode até impedir que os recursos apareçam no Gerenciador do IIS nos níveis de site e aplicativo.

Há vários estados de delegação diferentes, cada um dos quais determina se um recurso é delegado a níveis inferiores no sistema de configuração e se o recurso é exibido no Gerenciador do IIS quando os usuários estão conectados em níveis inferiores. A tabela a seguir descreve cada estado de delegação.

Tipo de delegação Descrição
Não Delegado A configuração está bloqueada e qualquer configuração do recurso em um arquivo Web.config causará um erro de runtime. O recurso não é visível ou configurável no Gerenciador do IIS quando um usuário está conectado em níveis abaixo de onde esse estado está definido. Por exemplo, se um recurso estiver configurado para ser Não Delegado no nível de site, os usuários conectados a aplicativos nesse site não verão o recurso e não poderão configurá-lo no Gerenciador do IIS.
Somente leitura A configuração está bloqueada e qualquer configuração do recurso em um arquivo Web.config causará um erro de runtime. O recurso fica visível no Gerenciador do IIS quando um usuário está conectado em níveis inferiores, mas a configuração é bloqueada para que alterações não possam ser feitas.
Leitura/Gravação O recurso pode ser configurado em Web.config. O recurso aparece no Gerenciador do IIS e pode ser configurado quando um usuário está conectado em níveis inferiores (nível de site ou aplicativo).
Somente leitura da configuração O significado é o mesmo de Somente leitura. No entanto, há configurações ou dados do recurso que são armazenados e gerenciados fora do IIS, como em um banco de dados.
Leitura/Gravação de Configuração O significado é o mesmo de Leitura/Gravação. No entanto, há configurações ou dados do recurso que são armazenados e gerenciados fora do IIS, como em um banco de dados.

Observação

Os administradores de servidor podem modificar a configuração de todos os recursos. Portanto, se estiverem conectados ao servidor, verão todos os recursos em todos os níveis, mesmo que um recurso tenha sido configurado para não ser exibido em níveis inferiores.

Configurar estados de delegação padrão para recursos no Gerenciador do IIS

Ao abrir pela primeira vez a página da Delegação de Recurso, você pode configurar o estado de delegação padrão dos recursos no Gerenciador do IIS. Esses estados de delegação são as configurações padrão usadas pelo Gerenciador do IIS para todos os sites e aplicativos no servidor.

Para configurar estados de delegação padrão dos recursos no Gerenciador do IIS

  1. No Gerenciador do IIS, no painel Conexões, clique no nó de servidor na árvore.
  2. Na página inicial do servidor, clique duas vezes em Delegação de Recurso. Screenshot of connections pane in server home page showing B D E L A P C 1 dash I I S home selected and Feature Delegation icon highlighted.
  3. Selecione Delegação na lista Agrupar por para organizar a lista de recursos por estado de delegação atual.
    Screenshot of Feature Delegation list in the action pane with delegation from the group list highlighted.
  4. Selecione Páginas de Erro na lista Delegação de Recurso e analise os estados de delegação disponíveis no painel Ações. O recurso Páginas de Erro é selecionado e as opções disponíveis em Definir delegação de recurso são Leitura/Gravação, Remover Delegação e Redefinir para Herdado.
    Screenshot of Feature Delegation list with Error Pages selected showing available options under Set Feature Delegations.
  5. Selecione Páginas de Erro. No painel Ações, clique em Leitura/Gravação para desbloquear a seção de configuração relacionada ao recurso Páginas de Erro. Isso torna o recurso configurável em arquivos Web.config e no Gerenciador do IIS nos níveis de site e aplicativo.

Informações Adicionais

O trecho a seguir dos arquivos de configuração do IIS mostra que os valores podem ser substituídos em todos os locais (também conhecidos como "caminho"):

<location path="" overrideMode="Allow">
    <system.webServer>
        <httpErrors>
            ...
            ...
        </httpErrors>
    </system.webServer>
</location>

Para demonstrar melhor o que essa ação faz, examine o recurso Páginas de Erro no nível do site. No painel Conexões, conecte-se a um site e clique duas vezes em Páginas de Erro na página inicial do site. Como mostrado na imagem abaixo, o recurso Páginas de Erro agora pode ser configurado pelo usuário conectado ao nível do site.

Screenshot of error pages with actions such as Add, Exit Feature Setting, Help, and Online Help highlighted.

Configurar estados de delegação personalizados para recursos em um site ou aplicativo

As etapas acima configuraram o estado de delegação padrão para o recurso Páginas de Erro em todos os sites no servidor. Também pode haver um momento em que você não deseja que o estado de delegação configurado seja aplicável a todos os sites. Nesse caso, você pode configurar um estado de delegação personalizado para um site específico. Também é possível copiar estados de delegação personalizados de todos os recursos de um site para outro.

Para configurar estados de delegação personalizados para recursos em um site específico

  1. No Gerenciador do IIS, clique duas vezes em Delegação de Recurso.
  2. Na página Delegação de Recurso, no painel Ações, clique em Delegação Personalizada de Site.
  3. Na lista Sites, selecione o site para o qual você deseja definir configurações de delegação personalizadas.
    Screenshot of Custom Website Delegation pane with sites list highlighted.
  4. Selecione um recurso e clique em um estado de delegação no painel Ações.

Para copiar estados de delegação personalizados de um site para outro

  1. Na página Delegação Personalizada de Site, na lista Sites, selecione o site cuja delegação você quer copiar para outro.
  2. Clique em Copiar delegação.
  3. Na caixa de diálogo Copiar delegação, selecione o site (ou sites) cujo estado de delegação você quer copiar e clique em OK.

Redefinir estados de delegação de recurso

Pode haver um momento em que seja necessário desfazer as alterações realizadas nos estados de delegação de recurso. Talvez as alterações tenham sido feitas em um determinado site ou aplicativo por acidente, ou alguma "experiência" com o recurso tenha dado errado. Nesse caso, redefina os estados de delegação de todos os recursos de volta para seus estados padrão. Ou redefina apenas um recurso de volta ao seu estado padrão.

Para redefinir os estados de delegação de recurso

  1. Abra a página Delegação de Recurso.
  2. Para redefinir todos os estados de delegação de recurso, no painel Ações, clique em Redefinir todas as delegações.

Para redefinir o estado de delegação de um recurso específico, selecione-o na lista e, no painel Ações, clique em Redefinir para Herdado.