Es posible integrar VMware Integrated OpenStack con cualquier solución de proveedor de identidad de terceros que use el protocolo de lenguaje de marcado de asociación de seguridad (Security Association Markup Language, SAML) 2.0. Keystone en VMware Integrated OpenStack funciona como proveedor de servicios para esta configuración.

Importante:
  • VMware no admite proveedores de identidades de terceros. Póngase en contacto con el administrador del proveedor de identidad para obtener la información necesaria para este procedimiento.
  • No conecte VMware Integrated OpenStack con Autenticación LDAP y Federación que tengan el mismo back-end de AD.

Si desea integrar VMware Integrated OpenStack con VMware Identity Manager mediante SAML 2.0, consulte Configurar la federación de VMware Identity Manager.

Requisitos previos

  • Determine la ubicación del archivo de metadatos de los proveedores de identidad y el atributo de entityID en el archivo.
  • Asegúrese de que la implementación de VMware Integrated OpenStack puede acceder al FQDN del proveedor de identidad.
  • Para la asignación de atributos de SAML2, Keystone utiliza Shibboleth como componente de SSO. Shibboleth asigna los atributos de usuario de IdP a los atributos locales utilizados por Keystone. Póngase en contacto con el administrador de IdP para obtener información sobre los atributos de usuario.
  • Para la asignación de reglas SAML2, Keystone requiere reglas para asignar usuarios remotos a los dominios locales, los proyectos y los grupos. Para obtener más información, consulte "Asignación de combinaciones" en la documentación de OpenStack en https://docs.openstack.org/keystone/train/admin/federation/mapping_combinations.html.
  • En el lado del proveedor de identidades, debe configurar correctamente el proveedor de servicios. Se puede acceder a los metadatos del proveedor de servicios con la siguiente URL: https://<vio_public_endpoint>:5000/<your_idp_name>/Shibboleth.sso/Metadata

Procedimiento

  1. Inicie sesión en la interfaz web Integrated OpenStack Manager como el usuario de admin.
  2. En Implementación de OpenStack, haga clic en el nombre de la implementación y abra la pestaña Administrar.
  3. En la pestaña Federación de Keystone, haga clic en Agregar.
  4. En el menú desplegable Tipo de federación, seleccione Instancia genérica de SAML2.
  5. Introduzca los parámetros requeridos.
    Opción Descripción
    Nombre

    Escriba un nombre para el proveedor de identidad. VMware Integrated OpenStack utiliza este nombre para crear el proveedor de identidad de OpenStack.

    Descripción

    Introduzca una descripción para el proveedor de identidades.

    Asignación de atributos

    Introduzca atributos de SAML adicionales en formato JSON o cargue un archivo JSON que contenga los atributos deseados. VMware Integrated OpenStack utiliza los datos JSON para configurar el archivo attribute-map.xml de Shibboleth.

    Instancia genérica de SAML2 no segura

    Anule la selección de la casilla de verificación para poder validar los certificados del proveedor de identidad.

    Identificador de entidad de instancia genérica de SAML2

    Introduzca el atributo entityID para el proveedor de identidad. Puede encontrar este valor en el archivo de metadatos de federación. VMware Integrated OpenStack utiliza este valor para crear un proveedor de identidad de OpenStack.

    URL de metadatos de SAML2

    Introduzca la dirección URL del archivo de metadatos de federación para el proveedor de identidad. El administrador de VIO puede acceder a esta URL para descargar el archivo de metadatos.

    Asignación de SAML2

    Introduzca asignaciones de SAML en formato JSON o cargue un archivo JSON que contenga las asignaciones deseadas. VMware Integrated OpenStack utiliza este valor para crear la asignación de OpenStack y lo establece en el protocolo de federación de este proveedor de identidades.

    Ejemplos y formato de asignación de atributos:
    [
          {
            "name": "urn:oid:0.9.2342.19200300.100.1.1",
            "nameFormat": "urn:oasis:names:tc:SAML:2.0:attrname-format:uri",
            "id": "username"
          },
          {
            "name": "urn:oid:0.9.2342.19200300.100.1.3",
            "nameFormat": "urn:oasis:names:tc:SAML:2.0:attrname-format:uri",
            "id": "email"
          }
        ]
    
    Opción Descripción

    name

    Introduzca el nombre del atributo. Keystone requiere al menos un atributo que se pueda utilizar como identificación única de usuarios. Por ejemplo, username, email, etc. Póngase en contacto con el administrador de IdP para determinar el nombre de atributo, ya que puede ser diferente de los servidores de IdP.

    nameFormat

    Introduzca el formato del nombre de atributo. Póngase en contacto con el administrador de IdP para determinar el valor de formato. Este atributo es opcional.
    id

    Introduzca el valor de cadena para este atributo. No utilice espacio para el valor de cadena. Por ejemplo, no utilice "nombre de usuario", sino "username". Este valor se puede utilizar en reglas de asignación como remote:type.

    Ejemplos y formato de asignación de reglas SAML2:
    [
      {
        "local": [
          {
            "user": {
              "name": "{1}"
            },
            "group": {
              "name": "federated_users",
              "domain": {
                "name": "federated_domain"
              }
            }
          }
        ],
        "remote": [
          {
            "type": "username"
          },	
          {
            "type": "email"
          }
        ]
      }
    ]
    
    Puede encontrar la definición de asignación de reglas en Combinaciones de asignaciones para Keystone en la comunidad OpenStack.
    Opción Descripción

    local

    JSON define los dominios y proyectos locales de OpenStack. Este atributo se puede utilizar para los usuarios asignados desde IdP. Por ejemplo, en la asignación de reglas SAML2, "name": "{1}" es igual que usar "type": "email" como nombre de inicio de sesión de Keystone e iniciar sesión para el dominio y el proyecto especificados.

    remote

    La sección define las reglas y las condiciones para asignar los atributos remotos.

  6. (opcional) Seleccione la casilla de verificación Configuración avanzada para configurar los parámetros de dominio, proyectos y grupos.
    1. En Configuración avanzada común, introduzca federated_domain como dominio OpenStack, federated_project como proyecto y federated_group como grupo.
    2. El dominio de OpenStack, el proyecto y el nombre del grupo deben coincidir con la información proporcionada en Asignación de reglas "local" JSON.
    3. VMware Integrated OpenStack crea el dominio y el proyecto para los usuarios de federación especificados.
      Nota: No introduzca federated como nombre de dominio porque Keystone lo utiliza.
  7. Haga clic en Aceptar.
    Nota: Después de finalizar la configuración de SAML2, puede ver que el servicio Keystone se está reiniciando automáticamente. Antes de descargar los metadatos, asegúrese de que el estado de la implementación haya cambiado a EN EJECUCIÓN ejecutando viocli get deployment.
  8. Asegúrese de que se pueda acceder a https://<vio_public_endpoint>:5000/<your_idp_name>/Shibboleth.sso/Metadata y configure el servicio de IdP para confiar en VMware Integrated OpenStack Keystone como proveedor de servicios.

Resultados

VMware Integrated OpenStack se integra con la solución de proveedor de identidad, y los grupos y los usuarios federados se importan en OpenStack. Cuando acceda al panel de control de VMware Integrated OpenStack, podrá elegir el proveedor de identidad especificado para iniciar sesión como un usuario federado.

Nota: Al utilizar la federación de identidades, debe acceder al panel de control de VMware Integrated OpenStack a través del endpoint de OpenStack público. No utilice el endpoint de OpenStack privado ni una dirección IP de controlador para iniciar sesión como usuario federado.

Ejemplo: Integrar VMware Integrated OpenStack con servicios de federación de Active Directory

En el siguiente procedimiento se implementa la federación de identidades entre VMware Integrated OpenStack y los Servicios de Federación de Active Directory (Active Directory Federation Services, ADFS) en función del Nombre Principal de Usuario (User Principal Name, UPN). El procedimiento de configuración de ADFS es un ejemplo para su referencia, la configuración real de la empresa puede ser diferente. Debe cambiar la configuración SAML de VMware Integrated OpenStack correspondiente.

En este ejemplo, la dirección IP virtual pública de la implementación de VMware Integrated OpenStack es 192.0.2.160 y la función de ADFS se agregó a una máquina virtual de Windows Server ubicada en adfs.example.com. El nombre del proveedor de identidades en VMware Integrated OpenStack es adfsvio.

  1. En ADFS, agregue una relación de confianza para usuario autenticado para VMware Integrated OpenStack.
    1. En Administración de ADFS, seleccione Acción > Agregar relación de confianza para usuario autenticado....
    2. Haga clic en Iniciar.
    3. Seleccione Escribir manualmente los datos sobre el usuario de confianza y haga clic en Siguiente.
    4. Introduzca OpenStack para el nombre para mostrar y haga clic en Siguiente.
    5. Seleccione Perfil de ADFS y haga clic en Siguiente.
    6. Haga clic en Siguiente.
    7. Seleccione Habilitar compatibilidad con el protocolo SAML 2.0 WebSSO.
    8. Introduzca https://192.0.2.160:5000/adfsvio/Shibboleth.sso/SAML2 para la dirección URL del usuario de confianza y haga clic en Siguiente.
    9. Introduzca https://192.0.2.160:5000/adfsvio para el identificador de confianza del usuario de confianza, haga clic en Agregar y luego en Siguiente.
    10. Seleccione No deseo establecer la configuración de autenticación multifactor y haga clic en Siguiente.
    11. Seleccione Permitir que todos los usuarios tengan acceso a este usuario de confianza y haga clic en Siguiente.
    12. Haga clic en Siguiente seleccione Editar reglas de notificación y haga clic en Cerrar.
    13. Haga clic en Agregar regla....
    14. Seleccione Establecer acceso directo de una notificación entrante o filtrarla y haga clic en Siguiente.
    15. Introduzca un Acceso directo de UPN para el nombre de regla y seleccione UPN para el tipo de notificación entrante.
    16. Seleccione Establecer acceso directo de todos los valores de notificaciones y haga clic en Finalizar.
  2. Inicie sesión en la interfaz web Integrated OpenStack Manager como el usuario de admin.
  3. En la Implementación de OpenStack, haga clic en el nombre de la implementación y abra la pestaña Administrar.
  4. En la pestaña Federación de identidades, haga clic en Agregar.
  5. En el menú desplegable Tipo de federación, seleccione Instancia genérica de SAML2.
  6. Introduzca la siguiente configuración:
    Opción Descripción
    Nombre adfsvio
    Descripción Proveedor de identidad de ADFS
    Asignación de atributos
    [
        {
            "name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn",
            "id": "upn"
        }
    ]
    Identificador de entidad de instancia genérica de SAML2 http://adfs.example.com/adfs/services/trust
    URL de metadatos de SAML2 https://adfs.example.com/federationmetadata/2007-06/federationmetadata.xml
    Asignación de SAML2
    [
        {
            "local": [
                {
                    "user": {
                        "name": "{0}"
                    },
                    "group": {
                        "domain": {
                            "name": "adfs-users"
                        },
                        "name": "Federated Users"
                    }
                }
            ],
            "remote": [
                {
                    "type": "upn"
                }
            ]
        }
    ]
  7. Seleccione la casilla de verificación Configuración avanzada.
  8. Seleccione Configuración avanzada común e introduzca la siguiente configuración.
    Opción Descripción
    Dominio adfs-users
    Proyecto

    Deje el cuadro de texto vacío.

    Grupo Usuarios federados

Una vez finalizada la verificación y la actualización de la configuración, abra el panel de control de VMware Integrated OpenStack. Ahora puede seleccionar el proveedor de identidad de ADFS e iniciar sesión como usuario federado.

Qué hacer a continuación

Para eliminar un proveedor de identidades configurado, seleccione la interfaz web de Integrated OpenStack Manager y haga clic en Eliminar. A continuación, inicie sesión en el panel de control de VMware Integrated OpenStack, seleccione Identidad > Federación > Proveedores de identidad, seleccione el proveedor deseado y haga clic en Eliminar del registro los proveedores de identidad.