Migración de espacios de nombres de ACS a Google OpenID Connect
Este tema es para los propietarios de espacios de nombres de Access Control Service (ACS) 2.0 que actualmente usan Google como proveedor de identidades. ACS proporciona esta funcionalidad mediante la implementación de OpenID 2.0 de Google. Google planea interrumpir la compatibilidad con OpenID 2.0 el 20 de abril de 2015. Los espacios de nombres de ACS seguirán funcionando con la implementación de OpenID 2.0 de Google hasta el 1 de junio de 2015, en cuyo momento debe completar la migración de estos espacios de nombres para usar la implementación de OpenID Connect de Google o los usuarios ya no podrán iniciar sesión en la aplicación con una cuenta de Google. La migración de los espacios de nombres de ACS a OpenID Connect no provocará tiempo de inactividad de la aplicación. Con una excepción (consulte la nota siguiente), esta migración es posible sin cambiar el código de la aplicación. Después de migrar los espacios de nombres de ACS para usar OpenID Connect, deberá migrar los identificadores de los usuarios en el back-end a los identificadores de OpenID Connect. Esta migración debe completarse el 1 de enero de 2017. Requerirá cambios de código en el back-end. Consulte la nota importante siguiente para obtener más información sobre ambas fases de migración.
Importante
Tenga en cuenta las siguientes fechas importantes y complete las acciones necesarias para cada fecha para asegurarse de que los espacios de nombres de ACS que usan Google como proveedor de identidades siguen funcionando:
-
1 de junio de 2015: los espacios de nombres de ACS dejarán de funcionar con la implementación de OpenID 2.0 de Google. Debe completar la migración del espacio de nombres de ACS para usar Google OpenID Connect en esta fecha. Antes de esta fecha, puede revertir a OpenID 2.0 si encuentra problemas durante la migración. En el caso de los espacios de nombres que no se han migrado en esta fecha, los usuarios ya no podrán iniciar sesión con una cuenta de Google y se mostrarán con una página que indique que OpenID 2.0 para cuentas de Google ha desaparecido. Para restaurar la funcionalidad de inicio de sesión con cuentas de Google, deberá migrar el espacio de nombres.
En la mayoría de los casos, no se debe requerir ningún cambio en el código de la aplicación. Sin embargo, si tiene la regla "paso a través de todas las notificaciones" para Google como proveedor de identidades en un grupo de reglas asociado a la aplicación, es posible que tenga que realizar cambios en el código. Esto se debe a que, tras la migración, un nuevo tipo de notificación (Subject) está disponible para ACS desde Google y es posible que tenga que realizar cambios de código para asegurarse de que la aplicación pueda controlar correctamente la presencia del nuevo tipo de notificación. Para completar correctamente la migración, no será necesario procesar el nuevo tipo de notificación en la aplicación.
-
1 de enero de 2017: las implementaciones de OpenID 2.0 y OpenID Connect de Google usan diferentes identificadores para identificar de forma única a los usuarios de Google. Al migrar el espacio de nombres de ACS, ACS realiza dos identificadores, tanto el identificador de OpenID 2.0 actual como el nuevo identificador de OpenID Connect, disponible para la aplicación. Debe cambiar los identificadores de los usuarios en el sistema back-end a los identificadores de OpenID Connect por esta fecha y empezar a usar solo identificadores de OpenID Connect en el futuro. Esto requiere cambios en el código de la aplicación.
Puede publicar preguntas sobre la migración en Stack Overflow y etiquetarlas con "acs-google". Responderemos lo más rápido posible.
Para obtener más información sobre los planes de Google, consulta su guía de migración de OpenID 2.0 de .
Lista de comprobación de migración
La tabla siguiente contiene una lista de comprobación que resume los pasos necesarios para migrar el espacio de nombres de ACS para usar la implementación de OpenID Connect de Google:
Paso | Descripción | Debe ser Completado por |
---|---|---|
1 |
Cree una aplicación de Google+ en Google Developers Console. |
1 de junio de 2015 |
2 |
Si tiene la regla "paso a través de todas las notificaciones" para Google como proveedor de identidades en un grupo de reglas asociado a la aplicación, pruebe la aplicación para asegurarse de que está lista para la migración; de lo contrario, este paso es opcional. |
1 de junio de 2015 |
3 |
Use el del Portal de administración de ACS de |
1 de junio de 2015 |
4 |
Migre los identificadores de los usuarios en el sistema back-end desde los identificadores actuales de Google OpenID 2.0 a los nuevos identificadores de Google OpenID Connect. Esto requiere cambios de código. |
1 de enero de 2017 |
Tutorial de migración
Para migrar el espacio de nombres de ACS para usar la implementación de OpenID Connect de Google, complete los pasos siguientes:
Crear una aplicación de Google+
Para obtener instrucciones detalladas sobre cómo hacerlo, consulte la sección How to: Create a Google+ application (Cómo: Crear una aplicación de Google+).
Asegúrese de que la aplicación esté lista para la migración
Si tiene la regla "paso a través de todas las notificaciones" para Google como proveedor de identidades en un grupo de reglas asociado a la aplicación, siga las instrucciones de la sección How to: Ensure an ACS application's migration readiness (Cómo: Asegurarse de que una aplicación de ACS está preparada para probar la preparación de la migración de la aplicación). Esto se debe a que al migrar un nuevo tipo de notificación (Subject) está disponible para ACS desde Google.
Nota
Una regla "
paso a través de todas las notificaciones " es una regla en la quetipo de notificación Input yValor de notificación de entrada se establecen enCualquier yde tipo de notificación output y valor de notificación output se establecen ende primer tipo de notificación de entrada y de notificación de entrada de paso a través, respectivamente. La regla aparece en la del Portal de administración de ACS de tal como se muestra a continuación, con la columna notificación de salida establecida en de paso a través. Si ha generado previamente reglas o ha agregado reglas manualmente para Google como proveedor de identidades en un grupo de reglas asociado a la aplicación, puede omitir este paso. Esto se debe a que, en estos casos, al migrar el nuevo tipo de notificación Subject no se envía a la aplicación.
Para obtener más información sobre estas opciones, consulte grupos de reglas y reglas.
Cambiar el espacio de nombres de ACS para usar la implementación de OpenID Connect de Google
Vaya al Portal de administración de Microsoft Azure , inicie sesión y haga clic en Active Directory. Seleccione el espacio de nombres de ACS que debe migrarse y haga clic en Administrar para iniciar el Portal de administración de ACS de .
En eldel Portal de administración de ACS de
, haga clic en proveedores de identidades en el árbol del lado izquierdo o haga clic en el vínculo proveedores de identidades deen la sección Introducción . Haga clic en google.Cuadro de diálogo proveedores de identidades de Access Control Service
En la página editar proveedor de identidades de Google
, active Usar OpenID Connect .En los campos id. de cliente y secreto de cliente (habilitado ahora), copie los valores correspondientes de la aplicación de Google+.
Nota
En este momento, si hace clic en Guardar, todas las solicitudes del proveedor de identidades de Google del espacio de nombres de ACS usarán automáticamente la implementación de OpenID Connect de Google. Si necesita revertir, puede desactivar Usar OpenID Connect. El identificador de cliente y el secreto de cliente permanecen guardados y se pueden volver a usar más adelante.
Haga clic en Guardar.
Intente iniciar sesión con un identificador de Google para asegurarse de que el cambio al uso de OpenID Connect se realizó correctamente. Si tiene problemas para iniciar sesión, vuelva a la página de Editar proveedor de identidades de Google y desactive Use OpenID Connect para revertir a OpenID 2.0. Después de revertir, compruebe que el de identificador de cliente de
y Secreto que copió de laConsola para desarrolladores de Google se escribe correctamente para el espacio de nombres; por ejemplo, compruebe si hay errores tipográficos.
Migrar los identificadores de los usuarios en el sistema back-end de Open ID 2.0 a OpenID Connect
Debe migrar los identificadores de los usuarios en el sistema back-end desde los identificadores existentes de Google Open ID 2.0 a los nuevos identificadores de Google OpenID Connect antes del 1 de enero de 2017. Este paso requiere cambios de código. Para obtener más información, consulte How to: Migrate your users's existing Open ID 2.0 identifiers to new OpenID Connect user identifiers (Migración de identificadores de open ID 2.0 existentes de los usuarios a nuevos identificadores de usuario de OpenID Connect).
Cómo: Crear una aplicación de Google+
Necesitará una cuenta de Google para realizar los pasos siguientes; si no tiene una, puede obtener una en https://accounts.google.com/SignUp.
En una ventana del explorador, vaya a la
Google Developers Console e inicie sesión con sus credenciales de cuenta de Google. Haga clic en
Crear proyecto y escriba un nombre del proyectoy id. de proyecto . Active la casilla Términos de servicio. A continuación, haga clic en Crear. Esto registra la aplicación con Google.Haga clic en API & de autenticación en el panel izquierdo. A continuación, haga clic en credenciales de . En OAuth, haga clic en Crear nuevo identificador de cliente. Seleccione aplicación web y haga clic en pantalla Configurar consentimiento. Proporcione un nombre de producto
y haga clic en Guardar .Haga clic en API & de autenticación en el panel izquierdo. A continuación, haga clic en API. En Examinar API, busque y busque API de Google+. Active el estado de
para ON .En el cuadro de diálogo Crear identificador de cliente
, seleccione aplicación web comotipo de aplicación de. En el campo Orígenes de Javascript autorizados, especifique la dirección URL del nombre de dominio completo (FQDN) del espacio de nombres, incluido el "HTTPS://" inicial y el número de puerto final; por ejemplo, https://contoso.accesscontrol.windows.net:443.
En el campo URI de redirección autorizados, especifique un URI que contenga la dirección URL del nombre de dominio completo (FQDN) del espacio de nombres, incluido el "HTTPS://" inicial y el número de puerto final, seguido de "/v2/openid"; por ejemplo, https://contoso.accesscontrol.windows.net:443/v2/openid.
Haga clic en Crear identificador de cliente.
Anote los valores de
id. de cliente ysecreto de cliente de la página de de cliente de. Los necesitará para configurar la implementación de OpenID Connect de Google en el Portal de administración de ACS de . Importante
secreto de cliente es una credencial de seguridad importante. Manténgalo secreto.
Cómo: Migrar los identificadores de Open ID 2.0 existentes de los usuarios a nuevos identificadores de usuario de OpenID Connect
Después de migrar correctamente el espacio de nombres de ACS para usar la implementación de OpenID Connect de Google, tiene hasta el 1 de enero de 2017 (según la Guía de migración de OpenID 2.0 de Google) para migrar los identificadores de los usuarios en el sistema back-end desde los identificadores actuales de OpenID 2.0 a los nuevos identificadores de OpenID Connect.
En la tabla siguiente se muestran los tipos de notificaciones que están disponibles para ACS desde Google una vez que se ha migrado el espacio de nombres de ACS para usar la implementación de OpenID Connect de Google:
Tipo de notificación | URI | Descripción | Disponibilidad del protocolo |
---|---|---|---|
Identificador de nombre |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier |
Identificador único de la cuenta de usuario, proporcionada por Google. Este es el identificador de OpenID 2.0 (existente). |
OpenID 2.0, OpenID Connect |
Asunto |
https://schemas.microsoft.com/identity/claims/subject |
Identificador único de la cuenta de usuario, proporcionada por Google. Este es el identificador de OpenID Connect (nuevo). |
OpenID Connect |
Nombre |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/name |
Nombre para mostrar de la cuenta de usuario, proporcionada por Google. |
OpenID 2.0, OpenID Connect (consulte la nota siguiente) |
Dirección de correo electrónico |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress |
La dirección de correo electrónico de la cuenta de usuario, proporcionada por Google |
OpenID 2.0, OpenID Connect |
Proveedor de identidades |
https://schemas.microsoft.com/accesscontrolservice/2010/07/claims/IdentityProvider |
Una notificación proporcionada por ACS que indica a la aplicación de usuario de confianza que el usuario se autenticó mediante el proveedor de identidades de Google predeterminado. El valor de esta notificación está visible en el Portal de administración de ACS a través del campo Realm (Dominio) en la página Editar proveedor de identidades. |
OpenID 2.0, OpenID Connect |
Nota
Para un usuario de Google que no tenga un perfil de Google+ (registrado), el valor del tipo de notificación Nombre es el mismo que el valor de la dirección de correo electrónico de tipo de notificación en OpenID Connect.
Los identificador de nombre y tipos de notificación subject se pueden usar para realizar un seguimiento y cambiar los identificadores únicos de los usuarios existentes en el back-end mediante la asignación de identificadores openID 2.0 (antiguos) a (nuevos) identificadores de OpenID Connect.
Si tiene la regla "paso a través de todas las notificaciones" para Google como proveedor de identidades en un grupo de reglas asociado a la aplicación, la aplicación comenzará automáticamente a recibir el tipo de notificación Subject.
Si ha generado reglas previamente o ha agregado reglas manualmente para Google como proveedor de identidades en un grupo de reglas asociado a la aplicación, deberá agregar manualmente el tipo de notificación Subject Subject. Para obtener más información sobre cómo hacerlo, consulte grupos de reglas y reglas.
Por ejemplo, si ha generado previamente reglas para Google como proveedor de identidades en un grupo de reglas y, a continuación, agregue el nuevo tipo de notificación Subject (como se muestra anteriormente), verá lo siguiente.
La aplicación que usa este grupo de reglas recibirá el tipo de notificación subject
Nota
Después del 1 de enero de 2017, cuando Google suspende su compatibilidad con la asignación de identificadores, ACS rellenará tanto el NameIdentifier como el Subject tipos de notificación con el mismo identificador de usuario de OpenID Connect.
Cómo: Garantizar la preparación de la migración de una aplicación de ACS
Con una excepción, es posible migrar el espacio de nombres de ACS para usar la implementación de OpenID Connect de Google sin cambiar el código de la aplicación. El caso de excepción es si tiene la regla "paso a través de todas las notificaciones" para Google como proveedor de identidades en un grupo de reglas asociado a la aplicación. Esto se debe a que, en este caso, al migrar un nuevo tipo de notificación (Asunto) se envía automáticamente a la aplicación.
En esta sección se describe el procedimiento de cambio y prueba recomendado que puede seguir para asegurarse de que todas las aplicaciones que se verán afectadas por la migración estén listas para controlar el nuevo tipo de notificación.
Para los fines de este procedimiento, supongamos que es el propietario de un espacio de nombres de ACS denominado ns-contoso y que la aplicación en producción se denomina ProdContosoApp. Suponga también que esta aplicación usa Google como proveedor de identidades y tiene "paso a través de todas las notificaciones" regla habilitada para Google.
Arreglo
Para empezar, vaya al Portal de administración de Microsoft Azure , inicie sesión y, a continuación, haga clic en Active Directory. Seleccione el espacio de nombres de ACS (ns-contoso) y haga clic en Administrar para iniciar el Portal de administración de ACS de .
En ladel Portal de administración de ACS de
, haga clic en aplicaciones de usuario de confianza en el árbol del lado izquierdo o haga clic en el vínculoAplicaciones de usuario autenticado en la secciónIntroducción . A continuación, haga clic en la aplicación de producción (ProdContosoApp).Anote las propiedades de ProdContosoApp, lo necesitará más adelante.
Haga clic en grupo de reglas predeterminado para prodContosoApp en grupos de reglas para comprobar que tiene la regla "paso a través de todas las notificaciones" habilitada para Google.
de notificación de acceso directo de Google
Paso 1: Configuración de una instancia de prueba de la aplicación en el espacio de nombres de ACS de producción
Configure una instancia de prueba de la aplicación, TestContosoApp, en un URI raíz diferente; por ejemplo, https://contoso-test.com:7777/. Tendrá que registrarla como una aplicación de usuario de confianza (aplicaciones de usuario autenticado) en el espacio de nombres ns-contoso.
En ladel Portal de administración de ACS de
, haga clic en aplicaciones de usuario de confianza en el árbol del lado izquierdo o haga clic en el vínculoAplicaciones de usuario autenticado en la secciónIntroducción . A continuación, haga clic enAgregar en la página aplicaciones de usuario de confianza de. En la página Agregar aplicación de usuario de confianza, haga lo siguiente:
En Nombre, escriba el nombre de la aplicación de prueba. Aquí está testContosoApp.
En Modo, seleccione Especificar la configuración manualmente.
En realm, escriba el URI de la aplicación de prueba. Aquí está https://contoso-test.com:7777/.
Para los fines de este procedimiento, puede dejar dirección URL de error (opcional) en blanco.
Para el formato token de
, directiva de cifrado de tokens yduración del token (ss) propiedades y la sección Configuración de firma de tokens de, use los mismos valores que usó para ProdContosoApp .Asegúrese de que ha seleccionado Google como proveedor de identidades de .
En grupos de reglas, seleccione Crear nuevo grupo de reglas.
Haga clic en Guardar en la parte inferior de la página.
Paso 2: Crear un grupo de reglas que simula el formato del token de ACS que la aplicación recibirá una vez que se haya migrado el espacio de nombres para usar la implementación de OpenID Connect de Google
En eldel Portal de administración de ACS de
, haga clic en grupos de reglas en el árbol de la izquierda o haga clic en el vínculo grupo de reglas deen la sección Introducción . A continuación, haga clic enAgregar en la página grupos de reglas de. En la página Agregar grupo de reglas
, proporcione un nombre para el nuevo grupo de reglas, por ejemplo, ManualGoogleRuleGroup . Haga clic en Guardar.En la página editar grupo de reglas de
, haga clic en el vínculo Agregar . En la página Agregar regla de notificaciones, asegúrese de que tiene los siguientes valores en su lugar y haga clic en Guardar. Esto genera una regla "paso a través de todas las notificaciones" para Google.
sección Si:
proveedor de identidades es Google.
Selección de tipo de notificación input es Any.
valor de notificación input es Any.
Sección:
tipo de notificación Output es pasar a través del primer tipo de notificación.
valor de notificación de salida es valor de notificación de primera entrada.
sección información de reglas:
- Deje en blanco el Descripción (opcional) campo.
En la página editar grupo de reglas de
, haga clic de nuevo en el vínculo Agregar . En la página Agregar regla de notificaciones, asegúrese de que tiene los siguientes valores en su lugar y haga clic en Guardar. Esto genera una regla de notificación "estática" para Google que simula la adición de un nuevo tipo de notificación, Subject, que es el nuevo identificador openID Connect de usuario que Google envía la aplicación tras la migración.
sección Si:
proveedor de identidades es Google.
Selección de tipo de notificación input es Any.
valor de notificación input es Any.
Sección:
tipo de notificación Output es Escriba. En el campo , escriba https://schemas.microsoft.com/identity/claims/subject.
valor de notificación output es el valor Enter . En el campo , escriba 123456.
sección información de reglas:
- Deje en blanco el Descripción (opcional) campo.
Haga clic en
Guardar en la página Editar grupo de reglas de.
Paso 3: Asociar el nuevo grupo de reglas a la instancia de prueba de la aplicación
En ladel Portal de administración de ACS de
, haga clic en aplicaciones de usuario de confianza en el árbol del lado izquierdo o haga clic en el vínculoAplicaciones de usuario autenticado en la secciónIntroducción . A continuación, haga clic en TestContosoApp en la página aplicaciones de usuario autenticado.En la página editar usuario de confianza
, seleccione ManualGoogleRuleGroup en la secciónConfiguración de autenticación y haga clic enGuardar .configuración de autenticación de
En este momento, todas las solicitudes de inicio de sesión de Google a las aplicaciones de prueba incluirán el nuevo tipo de notificación.
Paso 4: Probar para asegurarse de que la aplicación puede controlar la adición del tipo de notificación Subject
Pruebe la aplicación para asegurarse de que puede controlar correctamente la presencia del nuevo tipo de notificación (Subject). Normalmente, una aplicación bien escrita debe ser sólida para los nuevos tipos de notificación que se agregan al token. Busque y corrija los problemas. Opcionalmente, también puede seguir la sección How to: Migrate your users's existing Open ID 2.0 identifiers to new OpenID Connect user identifiers (Cómo: Migrar los identificadores de Open ID 2.0 existentes a los nuevos identificadores de usuario de OpenID Connect para realizar la asignación de identificadores de usuario).
Paso 5: Migración del entorno de producción
Vuelva a compilar e implementar la aplicación de producción (ProdContosoApp). Migre el espacio de nombres (ns-contoso) para usar la implementación de OpenID Connect de Google siguiendo los pasos del tutorial de migración. Compruebe que prodContosoApp funciona según lo previsto.