Como criar meu primeiro serviço de ASP.NET com reconhecimento de declarações usando o ACS

Atualizado em: 19 de junho de 2015

Aplica-se ao Azure

Aplica-se A

  • Access Control do Active Directory do Microsoft Azure (também conhecido como Access Control Service ou ACS)

Visão geral

Observação

Este tópico pertence a uma tecnologia herdada. Para criar serviços Web XML e clientes de serviço Web XML, consulte https://go.microsoft.com/fwlink/?LinkID=220304.

Este tópico descreve como integrar um serviço Web ASP.NET simples ao ACS. Ao integrar seu serviço Web ao ACS, você fatora os recursos de autenticação e autorização fora do código. O ACS fornece o mecanismo para autenticar e autorizar clientes em seu serviço Web. Para obter mais informações, consulte Serviços Web e ACS

Em um cenário de serviço Web, é assumido que um cliente de serviço Web não tem acesso a um navegador e que está atuando de modo autônomo (sem a participação de um usuário). Além disso, em um cenário de serviço Web, um cliente pode obter acesso a um serviço Web usando uma identidade de serviço ou uma identidade corporativa. No exercício descrito neste tópico, um cliente obtém acesso a um exemplo ASP.NET serviço Web usando um tipo de credencial de identidade de serviço configurado no ACS.

Para realizar as etapas neste tópico, você deve baixar um serviço ASP.NET de exemplo. Para obter mais informações, consulte Exemplo de código: ASP.NET Serviço Web.

Etapas para integrar o ACS com um Serviço Web ASP.NET

Importante

Antes de executar as etapas a seguir, verifique se o sistema atende a todos os requisitos de estrutura e plataforma do .NET que são resumidos nos pré-requisitos do ACS.

Para integrar o ACS a este exemplo ASP.NET serviço Web, conclua as seguintes etapas:

  • Etapa 1 - Criar um Namespace do Access Control

  • Etapa 2 - Inicie o portal de gerenciamento do ACS

  • Etapa 3 – Adicionar um aplicativo de terceira parte confiável

  • Etapa 4 - Criar regras

  • Etapa 5 - Configurar uma identidade de serviço

  • Etapa 6 - Configurar a confiança entre o ACS e seu Serviço Web ASP.NET

  • Etapa 7 - Testar a Integração entre o ACS e seu Serviço Web ASP.NET

Etapa 1 - Criar um Namespace do Access Control

Para obter instruções detalhadas, consulte Como criar um namespace Controle de Acesso.

Etapa 2 - Inicie o portal de gerenciamento do ACS

O Portal de Gerenciamento do ACS permite que você configure seu namespace Controle de Acesso adicionando provedores de identidade, configurando aplicativos de terceira parte confiável, definindo regras e grupos de regras e estabelecendo as credenciais que seu aplicativo de terceira parte confiável confia.

Para lançar o Portal de Gerenciamento ACS

  1. Vá para o Portal de Gerenciamento do Microsoft Azure (https://manage.WindowsAzure.com), entre e clique em Active Directory. (Dica de solução de problemas: o item "Active Directory" está ausente ou não está disponível)

  2. Para gerenciar um namespace do Access Control, selecione o namespace e clique em Gerenciar. (Or, clique em Namespaces do Access Control, selecione o namespace e clique em Gerenciar.)

Etapa 3 – Adicionar um aplicativo de terceira parte confiável

Esta seção descreve como adicionar um aplicativo de terceira parte confiável. Para obter mais informações sobre aplicativos de terceira parte confiável, consulte Aplicativos de Terceira Parte Confiável.

Para configurar um aplicativo de terceira parte confiável

  1. No Portal de Gerenciamento do ACS, clique em Aplicativos de Terceira Parte Confiável na árvore no lado esquerdo ou clique no link Aplicativos de Terceira Parte Confiável na seção Introdução.

  2. Na página Aplicativos de terceira parte confiáveis, clique em Adicionar.

  3. Na página Adicionar aplicativos de terceira parte confiáveis, proceda da seguinte maneira:

    • Em Nome, digite o nome do aplicativo de terceira parte confiável. Para este exercício, digite Serviço simples ASPNET.

    • Em Modo, selecione Inserir configurações manualmente.

    • No Realm, digite o URI ao qual o token de segurança emitido pelo ACS se aplica. Para este exercício, digite https://localhost:8000/Service.

    • Na URL de Retorno, digite a URL para a qual o ACS retorna o token de segurança. Para este exercício, digite https://localhost:8000/Service.

    • Na URL de Erro (opcional), insira a URL para a qual o ACS pode postar se ocorrer um erro durante a entrada. Para este exercício, deixe este campo em branco.

    • No formato token, selecione um formato de token para o ACS usar ao emitir tokens de segurança para esse aplicativo de terceira parte confiável. Para este tutorial, selecione SWT. Para obter mais informações sobre tokens e formatos de token, consulte Formatos de token com suporte em ACS e "Formato de token" em aplicativos de terceira parte confiável.

    • Em Tempo de vida do token (segs), especificar a quantidade de tempo para que um token de segurança emitido pelo ACS permaneça válido. Para este exercício, aceite o valor padrão de 600. Para obter mais informações sobre o tempo de vida do token, consulte "Política de Criptografia de Token" em aplicativos de terceira parte confiável.

    • Em Provedores de identidade, você pode selecionar os provedores de identidade a serem usados com este aplicativo de terceira parte confiável.

      Para este exercício, no entanto, nenhum provedor de identidade é usado, o cliente obtém acesso ao serviço Web com uma identidade de serviço, portanto, certifique-se de limpar a caixa de seleção ao lado de Windows ID dinâmica.

      Para obter mais informações sobre identidades de serviço, consulte Identidades de Serviço.

    • Em Grupos de regras, selecione os grupos de regras a serem usados para este aplicativo de terceira parte confiável ao processar declarações. Para este exercício, aceite Criar um novo grupo de regras que está marcado por padrão. Para obter mais informações sobre grupos de regras, consulte Grupos de Regras e Regras.

    • Em Configurações de Assinatura de token, em Chave de assinatura do token, clique no botão Gerar para gerar uma chave simétrica de 256-bit para esta terceira parte confiável.

  4. Clique em Salvar.

Etapa 4 - Criar regras

As regras determinam como as declarações são passadas de provedores de identidade ou ACS (se o ACS for o emissor de declarações) para seu aplicativo de terceira parte confiável. Para obter mais informações sobre regras e grupos de regras, consulte Grupos de Regras e Regras.

Para criar regras

  1. Na página Inicial do Portal de Gerenciamento do ACS, clique em Grupos de Regras na árvore no lado esquerdo ou clique no link Grupos de Regras na seção Introdução.

  2. Na página Grupos de regras, clique em Grupo de regras padrão para serviço simples ASPNET (pois você nomeou seu aplicativo de terceira parte confiável Serviço simples ASPNET).

  3. Na página Editar Grupo de Regras, clique em Adicionar.

  4. Na página Adicionar regras de declaração, proceda da seguinte maneira:

    • Na seção Se, em Emissor da declaração, selecione Serviço de controle de acesso.

    • Na seção Se, em Tipo de declaração de entrada, deixe a seleção por padrão de Qualquer.

    • Na seção Se, em Valor de declaração de entrada, deixe a seleção por padrão de Qualquer.

    • Na seção Em Seguida, em Tipo de declaração de saída, selecione Digite o tipo e digite a ação, pois esse é o tipo de declaração especificado no código do ASP.NET exemplo de serviço Web que você está usando neste exercício: requiredClaimType = “action”. Você pode encontrar essa cadeia de caracteres no código de exemplo, em Default.aspx.cs, em acs\WebServices\ASPNETSimpleService\Service.

    • Na seção Em Seguida, no valor da declaração de saída, selecione o valor Enter e digite inverso, pois esse é o tipo de declaração especificado no código do ASP.NET exemplo de serviço Web que você está usando neste exercício: requiredClaimValue = “reverse”. Você pode encontrar essa cadeia de caracteres no código de exemplo, em Default.aspx.cs, em acs\WebServices\ASPNETSimpleService\Service.

    • Clique em Salvar.

  5. Na página Editar Grupo de Regras, clique em Salvar.

Etapa 5 - Configurar uma identidade de serviço

No exercício descrito neste tópico, o cliente solicita um SWT (Token Web Simples) emitido pelo ACS com um nome de usuário e senha registrados e gerenciados pelo ACS, em outras palavras, uma identidade de serviço ACS. Esta seção descreve como configurar uma identidade de serviço acs ou como configurar credenciais hospedadas pelo ACS que o cliente pode usar para solicitar um token do ACS. Para obter mais informações, consulte Identidades de Serviço. Para este exercício, defina o nome da identidade do serviço como acssample (o cliente de serviço ASP.NET usa esse valor como um nome de usuário ao solicitar um token do ACS) e a senha para pass@word1.

Para configurar uma identidade de serviço

  1. Na página Inicial do Portal de Gerenciamento do ACS , clique em Identidades de Serviço na árvore no lado esquerdo.

  2. Na página Identidades de serviço, clique em Adicionar.

  3. Na página Adicionar identidade de serviço, faça o seguinte e, em seguida, clique em Salvar:

    1. Em Nome, digite acssample.

    2. Para Tipo, selecione Senha.

    3. Em Senha, digite pass@word1.

    4. Deixe os valores padrão inalterados em Data efetiva e Data de expiração.

  4. Na página Editar identidade de serviço, clique em Salvar.

Etapa 6 - Configurar a confiança entre o ACS e seu Serviço Web ASP.NET

Esta seção descreve como integrar o ACS ao serviço de ASP.NET de exemplo. Para obter mais informações, consulte Exemplo de código: ASP.NET Serviço Web.

Para configurar a confiança entre o ACS e o serviço Web ASP.NET

  1. Localize o ASPNETSimpleService.sln no exemplo que você baixou e abra-o no Visual Studio® 2010.

  2. No Visual Studio 2010, em Gerenciador de soluções, sob Solução 'ASPNETSimpleService', clique duas vezes em web.config.

  3. Em web.config, insira o nome do namespace Controle de Acesso e a chave de assinatura de token configurada no ACS nas etapas anteriores acima. Para exibir a chave de assinatura do token, clique em Certificados e Chaves no Portal de Gerenciamento do ACS.

    O seguinte snippet de código mostra os elementos do arquivo web.config que você precisa para atualizar.

    <appSettings>
        <add key="AccessControlHostName" value="accesscontrol.windows.net"/>
        <add key="AccessControlNamespace" value="...enter your Access Control namespace name..."/>
        <add key="IssuerSigningKey" value="...enter your signing key..."/>
      </appSettings>
    
  4. Salve o arquivo web.config atualizado.

  5. No Visual Studio 2010, em Gerenciador de soluções, sob Solução 'ASPNETSimpleService', clique duas vezes no arquivo app.config.

  6. No arquivo app.config, insira o nome do namespace Controle de Acesso e o nome de usuário e a senha da identidade de serviço configurada no ACS nas etapas anteriores. Para exibir o nome de usuário e a senha, clique em Identidades de Serviço no Portal de Gerenciamento do ACS.

    O seguinte snippet de código mostra os elementos do arquivo app.config que você precisa para alterar.

    <appSettings>
        <add key="AccessControlHostName" value="accesscontrol.windows.net"/>
        <add key="AccessControlNamespace" value="...enter your Access Control namespace name..."/>
        <add key="WrapPassword" value="...update to your password..."/>
        <add key="WrapUsername" value="...update to your username..."/>
        <add key="ServiceAddress" value="https://localhost:8000/Service/Default.aspx" />
      </appSettings>
    
  7. Salve o arquivo app.config atualizado.

Etapa 7 - Testar a Integração entre o ACS e seu Serviço Web ASP.NET

Esta seção descreve como você pode testar a integração entre o serviço Web ASP.NET e o ACS.

Para testar a integração entre o ACS e seu serviço web ASP.NET

  1. Para executar o serviço ASP.NET, no Visual Studio 2010, pressione F5.

  2. Para executar o cliente de serviço web ASP.NET, clique com o botão direito em Cliente, no Gerenciador de soluções, em seguida em Depurar e depois selecione Iniciar uma nova instância.

    Uma janela de linha de comando é aberta com a seguinte mensagem: insira uma cadeia de caracteres para reverter e pressione <ENTER>.

  3. Insira uma cadeia de caracteres, por exemplo, Olá mundo! e pressione enter.

    Se sua entrada foi hello world!, você deverá ver a seguinte resposta no aplicativo de console: !dlrow olleh.

Consulte Também

Conceitos

Instruções do ACS