Migrando os namespaces ACS para o Google OpenID Connect

Este tópico é para proprietários de namespaces do Access Control Service (ACS) 2.0 que atualmente usam o Google como um provedor de identidade. O ACS fornece esse recurso usando a implementação do OpenID 2.0 do Google. O Google planeja interromper o suporte ao OpenID 2.0 até 20 de abril de 2015. Os namespaces acs continuarão a funcionar com a implementação do OpenID 2.0 do Google até 1º de junho de 2015, quando você deve concluir a migração desses namespaces para usar a implementação do OpenID Conexão do Google ou os usuários não poderão mais entrar no aplicativo com uma conta do Google. Migrando seus namespaces do ACS para OpenID Connect não causará tempo de inatividade do aplicativo. Com uma exceção (consulte a observação abaixo), essa migração é possível sem alterar o código do aplicativo. Depois de migrar seus namespaces do ACS para usar o OpenID Connect, você precisará migrar os identificadores de seus usuários no back-end dos identificadores do OpenID Connect. Essa migração deve ser concluída até 1º de janeiro de 2017. Ele exigirá alterações de código no back-end. Consulte a observação importante abaixo para obter detalhes sobre ambas as fases da migração.

Importante

Observe as seguintes datas importantes e conclua as ações necessárias por cada data para garantir que seus namespaces do ACS que usam o Google como um provedor de identidade continuem a funcionar:

  • 1º de junho de 2015 - os namespaces de ACS pararão de funcionar com a implementação do OpenID 2.0 do Google. Você deve concluir a migração do namespace de ACS para usar o OpenID Connect do Google até essa data. Antes dessa data, você poderá reverter para o OpenID 2.0 se encontrar problemas durante a migração. Para namespaces que não foram migrados até esta data, os usuários não poderão mais entrar com uma conta do Google e serão apresentados com uma página que indica que o OpenID 2.0 para contas do Google desapareceu. Para restaurar a funcionalidade de entrada com contas do Google, você precisará migrar o namespace.

    Na maioria dos casos, nenhuma alteração de código do aplicativo é necessária. Se você tiver a regra "passagem de todas as declarações" para o Google como um provedor de identidade em um grupo de regras associado ao seu aplicativo, então talvez seja necessário fazer alterações de código. Isso ocorre porque, após a migração, um novo tipo de declaração (Assunto) fica disponível para o ACS do Google, e talvez você precise fazer alterações de código para garantir que seu aplicativo possa manipular adequadamente a presença do novo tipo de declaração. Para concluir com êxito a migração, não haverá nenhuma necessidade de processar o novo tipo de declaração em seu aplicativo.

  • 1° de janeiro de 2017 – implementações do OpenID 2.0 e OpenID do Google usam identificadores diferentes para identificar exclusivamente os usuários do Google. Ao migrar seu namespace do ACS, o ACS faz dois identificadores, o identificador de OpenID 2.0 atual e o novo identificador de OpenID Connect, disponível para seu aplicativo. Você deve alternar os identificadores de seus usuários em seu sistema back-end para identificadores OpenID Connect nessa data e começar a usar somente identificadores OpenID Connect no futuro. Isso requer alterações de código do aplicativo.

Você pode postar perguntas sobre migração no Stack Overflow e marcá-las com 'acs-google'. Responderemos o mais breve possível.

Para obter mais informações sobre os planos do Google, consulte o Guia de Migração do OpenID 2.0.

Lista de verificação de migração

A tabela a seguir contém uma lista de verificação que resume as etapas necessárias para migrar seu namespace de ACS para usar a implementação do OpenID Connect do Google:

Etapa Descrição Deve ser concluído por

1

Criar um aplicativo do Google+ no Console de desenvolvedores do Google.

1º de junho de 2015

2

Se você tiver a regra "passagem de todas as declarações" para o Google como um provedor de identidade em um grupo de regras associado ao seu aplicativo, teste seu aplicativo para garantir que está pronto para migração. Caso contrário, esta etapa é opcional.

1º de junho de 2015

3

Use o Portal de Gerenciamento do ACS para mudar seu namespace do ACS para usar a implementação do OpenID Connect do Google ao fornecê-lo com seus parâmetros de aplicativo do Google+ (ID do cliente e Cliente secreto). Se encontrar problemas com sua migração, a reversão para o OpenID 2.0 é possível até 1° de junho de 2015.

1º de junho de 2015

4

Migrar os identificadores de seus usuários no seu sistema de back-end a partir dos identificações do OpenID 2.0 do Google atual para os novos identificações do OpenID Connect do Google. This requires code cIsso requer alterações de código.

1° de janeiro de 2017

Passo a passo da migração

Para criar seu namespace de ACS para usar a implementação do OpenID Connect do Google, conclua as etapas seguintes:

  1. Criar um aplicativo google+

    Para obter instruções detalhadas sobre como fazer isso, consulte a seção Como criar um aplicativo do Google+.

  2. Verifique se seu aplicativo está pronto para migração

    Se você tiver a regra "passar todas as declarações" para o Google como um provedor de identidade em um grupo de regras associado ao seu aplicativo, siga as instruções na seção Como: Garantir a preparação de migração de um aplicativo ACS para testar o aplicativo para preparação de migração. Isto é por que a migração de um novo tipo de afirmação (Assunto) se torna disponível para ACS do Google.

    Observação

    Uma regra "passthrough all claims" é uma regra em que o tipo de declaração de entrada e o valor da declaração de entrada são definidos como Tipo de declaraçãode Saída e Valor de declaração de saída são definidos como Passar o primeiro tipo de declaração de entrada e passar o valor da declaração de entrada, respectivamente. A regra é listada no Portal de gerenciamento do ACS como mostrado abaixo, com o declaração de saída coluna definida como passagem.

    Passthrough rule

    Se anteriormente tiver gerado regras ou adicionadas regras manualmente para o Google como um provedor de identidade em um grupo de regras associado ao seu aplicativo, você pode ignorar esta etapa. Isso ocorre porque, nesses casos, após a migração a nova assunto de declaração de tipo não é enviado para o aplicativo.

    Para saber mais sobre essas opções, consulte Grupos de Regras e Regras.

  3. Mudar o namespace ACS para usar a implementação OpenID Connect do Google

    1. Vá para o Portal de Gerenciamento do Microsoft Azure, entre e clique em Active Directory. Selecione o namespace ACS que precisa ser migraado e clique em Gerenciar para iniciar o Portal de Gerenciamento do ACS.

    2. No Portal de gerenciamento do ACS, clique em Provedores de identidade na árvore na parte esquerda ou clique no link Provedores de identidade abaixo da seção Introdução. Clique em Google.

      Access Control Service Identity Providers Dialog

    3. Na página Editar Provedor de Identidade do Google, verifique Uso do OpenID Connect.

      Edit Google Identity Provider dialog

    4. Nos campos ID do cliente e Cliente secreto (agora habilitado), copie os valores correspondentes do aplicativo do Google+.

      Edit Google Identity Provider dialog

      Observação

      Neste ponto, se você clicar em Salvar, todas as solicitações do provedor de identidade do Google de seu namespace ACS automaticamente usarão a implementação do OpenID Connect do Google. Se precisa reverter, você pode desmarcar a seleção Usar OpenID Connect. A ID do cliente e o Cliente secreto permanecem salvos e podem ser usados novamente posteriormente.

    5. Clique em Salvar.

    6. Tente entrar com uma ID do Google para garantir que o comutador que usa o OpenID Connect foi bem sucedido. Se tiver problemas em entrar, volte para a página Editar Provedor de Identidade do Google e desmarque a opção Usar OpenID Connect para reverter para o OpenID 2.0. Após a reversão, verifique se a ID do cliente e Secreto que você copiou do Console do Desenvolvedor do Google são inseridas corretamente no seu namespace. Por exemplo, verifique erros de digitação.

  4. Migrar os identificadores de seus usuários em seu sistema de back-end do Open ID 2.0 para OpenID Connect

    Você deve migrar os identificadores dos usuários em seu sistema de back-end dos identificadores existentes do Google Open ID 2.0 para os novos identificadores do Google OpenID Conexão antes de 1º de janeiro de 2017. Esta etapa requer alterações de código. Para obter mais informações, consulte Como migrar os identificadores de Open ID 2.0 existentes dos usuários para novos identificadores de usuário do OpenID Conexão

Como criar um aplicativo do Google+

Você precisará de uma conta do Google para executar as seguintes etapas; se você não tem um, você pode obter um em https://accounts.google.com/SignUp.

  1. Em uma janela do navegador, navegue até o Console de Desenvolvedores do Google e entre com suas credenciais de conta do Google.

  2. Clique em Criar Projeto e insira um Nome de projeto e ID do Projeto. Marque a caixa de seleção Termos de Serviço. Em seguida, clique em Criar. Isso registra o aplicativo no Google.

    Google Developer Console New Project dialog

  3. Clique em autenticação de APIs & no painel esquerdo. E, em seguida, clique em Credenciais. Em OAuth, clique em Criar nova ID de cliente. Selecione aplicativo Web e clique em Tela de configuração de consentimento. Forneça um Nome do produto e clique em Salvar.

    Google Developer Console Consent screen

  4. Clique em autenticação de APIs & no painel esquerdo. E, em seguida, clique em APIs. Em Procurar APIs, pesquise e localize API do Google +. Defina o Status para LIGADO.

    Google Developer Console Browse APIs

  5. Na caixa de diálogo Criar ID do cliente, selecione Aplicativo Web como o Tipo de aplicativo.

    No campo Origens javascript autorizadas, especifique a URL do nome de domínio totalmente qualificado (FQDN) do namespace, incluindo o "HTTPS://" à esquerda e o número da porta à direita; por exemplo, https://contoso.accesscontrol.windows.net:443.

    No campo URIs de Redirecionamento Autorizado , especifique um URI que contém a URL de nome de domínio totalmente qualificado (FQDN) do namespace, incluindo o "HTTPS://" à esquerda e o número da porta à direita, seguido por "/v2/openid"; por exemplo, https://contoso.accesscontrol.windows.net:443/v2/openid.

    Clique em criar ID do cliente.

    Google Developer Console Create Client ID screen

  6. Anote os valores de ID do cliente e Segredo do cliente da página ID do cliente para o aplicativo Web. Você precisará deles para configurar a implementação de OpenID Connect do Google no Portal de gerenciamento do ACS.

    Google Developer Console Client ID for Web App

    Importante

    O segredo do cliente é uma credencial de segurança importante. Manter segredo.

Como migrar os identificadores de Open ID 2.0 existentes dos usuários para novos identificadores de usuário do OpenID Conexão

Depois de migrar com êxito o namespace do ACS para usar a implementação do OpenID Conexão do Google, você tem até 1º de janeiro de 2017 (de acordo com o Guia de Migração do OpenID 2.0 do Google) para migrar os identificadores dos usuários em seu sistema de back-end dos identificadores openid 2.0 atuais para os novos identificadores do OpenID Conexão.

A tabela a seguir mostra os tipos de declaração que ficam disponíveis ao ACS do Google quando o namespace do ACS foi migrado para usar a implementação de OpenID Connect do Google:

Tipo de declaração URI Descrição Disponibilidade de protocolo

Identificador do Nome

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

Identificador exclusivo da conta de usuário fornecido pelo Google. Esse é o identificador de OpenID 2.0 (existente).

OpenID 2.0, OpenID Connect

Assunto

https://schemas.microsoft.com/identity/claims/subject

Identificador exclusivo da conta de usuário fornecido pelo Google. Esse é o identificador de OpenID Connect (novo).

OpenID Connect

Nome

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

Nome para exibição da conta de usuário fornecido pelo Google.

OpenID 2.0, OpenID Connect

(consulte a observação abaixo)

Endereço de Email

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

Endereço de email da conta de usuário fornecido pelo Google.

OpenID 2.0, OpenID Connect

Provedor de identidade

https://schemas.microsoft.com/accesscontrolservice/2010/07/claims/IdentityProvider

Uma declaração fornecida pelo ACS que informa o aplicativo de terceira parte confiável que o usuário autenticou usando o provedor de identidade padrão do Google. O valor da declaração fica visível no Portal de Gerenciamento do ACS, no campo Realm na página Editar Provedor de Identidade.

OpenID 2.0, OpenID Connect

Observação

Para um usuário Google que não têm um perfil do Google+ (registrado), o valor do tipo de declaração Nome é igual ao valor do tipo de declaração Endereço de email no OpenID Connect.

Os tipos de declaração do Identificador de nome e Assunto podem ser usados para rastrear e alternar identificadores exclusivos de usuários existentes no seu back-end, mapeando identificadores OpenID 2.0 (antigos) para identificadores OpenID Connect (novos).

Se você tiver a regra "passagem de todas as declarações" para o Google como um provedor de identidade em um grupo de regras associado a seu aplicativo, o aplicativo será iniciado automaticamente para receber o tipo de declaração de Assunto.

Se anteriormente tiver gerado regras ou adicionad regras manualmente para o Google como um provedor de identidade em um grupo de regras associado ao seu aplicativo, você precisará adicionar o tipo de declaração de Assunto manualmente. Para obter mais informações sobre como fazer isso, consulte Grupos de Regras e Regras.

Input Claim Configuration

Por exemplo, se você tive gerado anteriormente regras para o Google como um provedor de identidade em um grupo de regras e adicionado o novo tipo de declaração de Assunto (conforme mostrado acima), você verá o seguinte.

Google passthrough claims

O aplicativo usando esse grupo de regras receberá o tipo de declaração de Assunto, juntamente com outros tipos de declaração.

Observação

Depois de 1° de janeiro de 2017, quando Google interrompe o seu suporte para mapeamento de identificador, o ACS preencherá ambos os tipos de declaração NameIdentifier e Assunto com o mesmo identificador de usuário OpenID Connect.

Como garantir a preparação de migração de um aplicativo ACS

Com uma exceção, migrar seu namespace do ACS para usar a implementação de OpenID Connect do Google é possível sem alterar o código do aplicativo. O caso de exceção é se você tiver a regra "passagem de todas as declarações" para o Google como um provedor de identidade em um grupo de regras associado ao seu aplicativo. Isso ocorre porque, nesse caso, após a migração uma nova declaração de tipo (Assunto) é automaticamente enviada para o aplicativo.

Esta seção descreve a alteração recomendada e o procedimento de teste que você pode seguir para garantir que todos os aplicativos que serão afetados pela migração estão prontos para lidar com o novo tipo de declaração.

Para fins deste tópico Como fazer, suponha que você é o proprietário de um namespace do ACS chamado ns-contoso e que seu aplicativo na produção é chamado de ProdContosoApp. Suponha também que esse aplicativo usa o Google como um provedor de identidade e tem regra de "passagem de todas as declarações" habilitada para o Google.

Instalação

  1. Para começar, vá para o Portal de gerenciamento do Microsoft Azure, entre e, em seguida, clique em Active Directory. Selecione o namespace do ACS (ns-contoso) e, em seguida, clique em Gerenciar para iniciar o Portal de gerenciamento do ACS.

  2. No Portal de gerenciamento do ACS, clique em Aplicativos de terceira parte confiáveis na árvore na parte esquerda ou clique no link Aplicativos de terceira parte confiáveis abaixo da seção Introdução. Em seguida, clique em seu aplicativo de produção (ProdContosoApp).

  3. Anote a propriedades de ProdContosoApp, pois será necessário mais tarde.

    Edit Relying Party Application dialog

  4. Clique em Grupo de Regras Padrão para ProdContosoApp em Grupos de regras para verificar se ele tem a regra "passagem de todas as declarações" habilitada para o Google.

    Google passthrough claim

Etapa 1: Configurar uma instância de teste do aplicativo no namespace acs de produção

Configurar uma instância de teste do aplicativo, TestContosoApp, em um URI raiz diferente; por exemplo, https://contoso-test.com:7777/. Você precisará registrá-lo como um aplicativo de terceira parte confiável (aplicativos de terceira parte confiável) no namespace ns-contoso.

  1. No Portal de gerenciamento do ACS, clique em Aplicativos de terceira parte confiáveis na árvore na parte esquerda ou clique no link Aplicativos de terceira parte confiáveis abaixo da seção Introdução. Em seguida, clique em Adicionar na página de Aplicativos de terceiros confiáveis.

  2. Na página Adicionar aplicativos de terceiros confiáveis, faça o seguinte:

    • Em Nome, digite o nome do aplicativo de teste. Aqui está o TestContosoApp.

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

    • Em Realm, digite no URI do aplicativo de teste. Aqui está https://contoso-test.com:7777/.

    • Para os fins de Como fazer, você pode deixar URL de erro (opcional) em branco.

    • Para as propriedades formato de Token, política de criptografia de Token e vida útil do Token (s) e a seção configurações de assinatura de Token, use os mesmos valores que você usou para ProdContosoApp.

    • Certifique-se de que você selecionou Google como um Provedor de identidade.

    • Em Grupos de regras, selecione Criar novo grupo de regras.

    Add Relying Party Application dialog

  3. Na parte inferior da página, clique em Salvar .

Etapa 2: Criar um Grupo de Regras que simula o formato do token ACS que o aplicativo receberá depois que o namespace for migrado para usar a implementação do OpenID Conexão do Google

  1. No Portal de gerenciamento do ACS, clique em Grupos de regras na árvore na parte esquerda ou clique no link Grupos de regras abaixo da seção Introdução. Em seguida, clique em Adicionar na página Grupos de regras.

  2. Na página Adicionar grupo de regras, forneça um nome para o novo grupo de regras, digamos ManualGoogleRuleGroup. Clique em Salvar.

    Add Rule Group dialog

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

    Edit Rule Group dialog

  4. Na página Adicionar regra de declaração, certifique-se de que você tenha os seguintes valores no local e clique em Salvar. Isso gera uma regra "passagem de todas as declarações" do Google.

    • Seção If:

      • O Provedor de identidade é Google.

      • A seleção Tipo de declaração de entrada é Qualquer.

      • O Valor de declaração de entrada é Qualquer.

    • Seção Then:

      • O Tipo de declaração de saída é Passar pelo primeiro tipo de declaração.

      • O Valor de declaração de saída é passar pela primeira entrada de valor de declaração.

    • Seção Informações de regras:

      • Deixe o campo Descrição (opcional) vazio.

    Add Claim Rule dialog

  5. Na página Editar Grupo de Regras, clique no link Adicionar novamente.

  6. Na página Adicionar regra de declaração, certifique-se de que você tenha os seguintes valores no local e clique em Salvar. Isso gera uma regra de declaração "static" para Google que simula a adição de um novo tipo de declaração, assunto, que é o novo usuário OpenID Connect identificador Google envia o aplicativo após a migração.

    • Seção If:

      • O Provedor de identidade é Google.

      • A seleção Tipo de declaração de entrada é Qualquer.

      • O Valor de declaração de entrada é Qualquer.

    • Seção Then:

    • Seção Informações de regras:

      • Deixe o campo Descrição (opcional) vazio.

    Add Claim Rull dialog

  7. Clique em Salvar na página Editar grupo de regras.

Etapa 3: Associar o novo Grupo de Regras à instância de teste do aplicativo

  1. No Portal de gerenciamento do ACS, clique em Aplicativos de terceira parte confiáveis na árvore na parte esquerda ou clique no link Aplicativos de terceira parte confiáveis abaixo da seção Introdução. Em seguida, clique em TestContosoApp na página Splicativos de terceiros confiáveis.

  2. Na página Editar terceiro confiável, selecione ManualGoogleRuleGroup na seção Configurações de autenticação e clique em Salvar.

    Authentication Settings

Neste ponto, todas as solicitações de entrada do Google para os aplicativos de teste incluirão o novo tipo de declaração.

Etapa 4: Testar para garantir que seu aplicativo possa lidar com a adição do tipo de declaração assunto

Testar seu aplicativo para garantir que ele pode lidar com a presença do novo tipo de declaração (Assunto) normalmente. Normalmente, um aplicativo bem escrito deve ser robusto para novos tipos de declaração que estão sendo adicionados ao token. Localize e corrija quaisquer problemas. Opcionalmente, você também pode seguir a seção How to: Migrate your users's Open ID 2.0 identifiers to new OpenID Conexão user identifiers section to do user identifier mapping.

Etapa 5: Migrar seu ambiente de produção

Recriar e implantar seu aplicativo de produção (ProdContosoApp). Migre o namespace (ns-contoso) para usar a implementação de Conexão OpenID do Google seguindo as etapas no passo a passo migração. Verificar se ProdContosoApp funciona conforme o esperado.