Configuración del inicio de sesión único

Configure el inicio de sesión único entre IBM® Cloud Private y su origen de entidades empresariales.

SAML (Security Assertion Markup Language), es un lenguaje de marcación basado en XML. Se trata de un estándar abierto para el intercambio de identidades, autenticación e información de autorización entre un proveedor de identidad (su servidor de SAML de empresa) y un proveedor de servicio (su clúster de IBM Cloud Private).

El proveedor de identidad emite aserciones de identificación junto con un perfil de inicio de sesión único de SAML. El proveedor de servicios recibe estas aserciones y el perfil.

El flujo del inicio de sesión único se puede resumir de la forma siguiente:

  1. Un usuario intenta acceder a un servicio en IBM Cloud Private a través de un navegador web.
  2. IBM Cloud Private verifica si está presente una señal de autenticación.
  3. Si no hay ninguna señal de autenticación, IBM Cloud Private redirige la solicitud de autenticación al servidor de SAML de empresa del usuario.
  4. El servidor de SAML de empresa presenta una página de inicio de sesión al usuario.
  5. Si el usuario inicia la sesión correctamente, el servidor de SAML redirecciona al usuario, junto con la respuesta de SAML, a IBM Cloud Private.
  6. IBM Cloud Private genera una señal de autenticación y otorga acceso al servicio que ha solicitado el usuario.

El inicio de sesión único se puede configurar con cualquier solución de IAM (Gestión de acceso e identidades). En primer lugar, debe completar la configuración de inicio de sesión único en el clúster de IBM Cloud Private tal como se indica en Configuración del inicio de sesión único en IBM Cloud Private. A continuación, complete la configuración del inicio de sesión único siguiendo las instrucciones proporcionadas por el proveedor de soluciones de IAM.

Los proveedores de soluciones de IAM siguientes se admiten en IBM Cloud Private para configurar el inicio de sesión único mediante SAML:

Configuración del inicio de sesión único en IBM Cloud Private

Los archivos de metadatos se utilizan para la comunicación entre el clúster de IBM Cloud Private y el servidor de SAML de empresa.

Requisitos previos

Configuración del inicio de sesión único

Para configurar el inicio de sesión único, complete la siguiente secuencia de pasos:

  1. Habilite SAML.
  2. Exporte los metadatos de IBM Cloud Private a su servidor de SAML de empresa. Después de completar esta tarea, se descarga un archivo de metadatos IBM Cloud Private.
  3. Importe los metadatos enviados por el servidor de SAML de empresa.
  4. Verifique que SAML se ha configurado correctamente.

Puede utilizar la interfaz de programación de aplicaciones (API) o la interfaz de línea de mandatos (CLI) para configurar el inicio de sesión único en IBM Cloud Private.

Configuración del inicio de sesión único mediante las API

Para configurar el inicio de sesión único mediante las API, consulte API de inicio de sesión único.

Configuración del inicio de sesión único mediante la CLI

Requisitos previos

Instale la CLI de IBM Cloud Private. Para obtener más información, consulte Instalación de la CLI de IBM Cloud Private.

A continuación se indican los mandatos que están disponibles para configurar y gestionar el inicio de sesión único en su clúster de IBM Cloud Private.

Habilitación de SAML

Habilite el inicio de sesión único.

cloudctl iam saml-enable
Exportación del archivo de metadatos

Cuando se ejecuta el mandato, se descarga un archivo de metadatos de IBM Cloud Private que se guarda con el nombre de archivo que especifique. Este archivo se puede cargar en el servidor de SAML de empresa.

cloudctl iam saml-export-metadata --file <file_name>.xml

Un archivo de metadatos de ejemplo se asemeja al código siguiente:

<?xml version="1.0" encoding="UTF-8"?><md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" \
entityID="https://travistest.rtp.raleigh.ibm.com:8443/ibm/saml20/defaultSP"><md:SPSSODescriptor AuthnRequestsSigned="true" \
WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"> \
<md:KeyDescriptor use="signing"><ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:X509Data> \
<ds:X509Certificate>MIID9zCCAd8CCQDIJbZgmPut9DANBgkqhkiG9w0BAQsFADBjMQswCQYDVQQGEwJVUzERMA8GA1UE
.
.
btEmEMpzbGQy8Lb190tLeLZNW2zrBWbRmxzShn9ekS58aEbeD6PBTzWsKXsgYhZWWXw=</ds:X509Certificate> \
</ds:X509Data></ds:KeyInfo></md:KeyDescriptor><md:KeyDescriptor use="encryption"> \
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:X509Data> \
<ds:X509Certificate>MIID9zCCAd8CCQDIJbZgmPut9DANBgkqhkiG9w0BAQsFADBjMQswCQYDVQQGEwJVUzERMA8GA1UE
.
.
btEmEMpzbGQy8Lb190tLeLZNW2zrBWbRmxzShn9ekS58aEbeD6PBTzWsKXsgYhZWWXw=</ds:X509Certificate></ds:X509Data> \
</ds:KeyInfo></md:KeyDescriptor><md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" \
Location="https://travistest.rtp.raleigh.ibm.com:8443/ibm/saml20/defaultSP/slo"/><md:AssertionConsumerService \
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" \
Location="https://travistest.rtp.raleigh.ibm.com:8443/ibm/saml20/defaultSP/acs" index="0" isDefault="true"/>\
</md:SPSSODescriptor></md:EntityDescriptor>
Importación del archivo de metadatos

Cuando ejecuta el mandato, carga el archivo de metadatos que recibió de su servidor de SAML de empresa a IBM Cloud Private.

cloudctl iam saml-upload-metadata --file <file_name>.xml

Un archivo de metadatos de ejemplo se asemeja al código siguiente:

<?xml version="1.0" encoding="UTF-8"?><md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" entityID="https://w3id.alpha.sso.ibm.com/auth/sps/samlidp2/saml20">
<md:IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<md:KeyDescriptor use="signing">
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<X509Data>
<X509Certificate>MIIDhTCCAm2gAwIBAgIEOxmOOjANBgkqhkiG9w0BAQsFADBzMQswCQYDVQQGEwJVUz\
.
.
3YZ25IwGyzN5KK7XR1avMCk9GG0BbpjpqU29Wx3tWpqsh+Kl016Kc=</X509Certificate>
</X509Data>
</KeyInfo>
</md:KeyDescriptor>
<md:KeyDescriptor use="encryption">
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<X509Data>
<X509Certificate>MIIDhTCCAm2gAwIBAgIEOxmOOjANBgkqhkiG9w0BAQsFADBzMQswCQYDVQQGEwJVUzELMAkGA\
.
.
GyzN5KK7XR1avMCk9GG0BbpjpqU29Wx3tWpqsh+Kl016Kc=</X509Certificate>
</X509Data>
</KeyInfo>
<md:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/>
</md:KeyDescriptor>
<md:ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location="https://w3id.alpha.sso.ibm.com/auth/sps/samlidp2/saml20/soap" index="0" isDefault="true"/>
<md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://w3id.alpha.sso.ibm.com/auth/sps/samlidp2/saml20/slo"/>
<md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://w3id.alpha.sso.ibm.com/auth/sps/samlidp2/saml20/slo"/>
<md:ManageNameIDService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://w3id.alpha.sso.ibm.com/auth/sps/samlidp2/saml20/mnids"/>
<md:ManageNameIDService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://w3id.alpha.sso.ibm.com/auth/sps/samlidp2/saml20/mnids"/>
<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</md:NameIDFormat>
<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</md:NameIDFormat>
<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:encrypted</md:NameIDFormat>
<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat>
<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>
<md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://w3id.alpha.sso.ibm.com/auth/sps/samlidp2/saml20/login"/>
<md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://w3id.alpha.sso.ibm.com/auth/sps/samlidp2/saml20/login"/>
</md:IDPSSODescriptor>
<md:Organization>
<md:OrganizationName xml:lang="en">IBM</md:OrganizationName>
<md:OrganizationDisplayName xml:lang="en">IBM</md:OrganizationDisplayName>
<md:OrganizationURL xml:lang="en"/>
</md:Organization>
<md:ContactPerson contactType="technical">
<md:Company>IBM</md:Company>
<md:GivenName/>
<md:SurName/>
<md:EmailAddress/>
<md:TelephoneNumber/>
</md:ContactPerson>
</md:EntityDescriptor>
Verificación del estado de configuración del inicio de sesión único

Verifique si el inicio de sesión único está configurado correctamente. El mandato devuelve true sólo cuando se habilita SAML y el archivo de metadatos que ha recibido del servidor de SAML de empresa se carga en IBM Cloud Private.

cloudctl iam saml-status
Inhabilitación de SAML

Inhabilite el inicio de sesión único.

cloudctl iam saml-disable