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:
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:
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.
Debe configurar un nombre de dominio totalmente calificado (FQDN) para acceder a su clúster. Puede establecer este FQDN en el archivo config.yaml durante la instalación de IBM Cloud Private. O bien, siga las instrucciones de Personalización del URL de acceso de clúster para añadir un URL personalizado después de instalar IBM Cloud Private.
El directorio LDAP (Lightweight Directory Access Protocol) que se conecta con el clúster de IBM Cloud Private debe incluir los usuarios que pueden utilizar la solicitud del inicio de sesión único. O bien, puede conectarse a IBM Cloud Private con el mismo servidor LDAP que el que utiliza su servidor de SAML de empresa para la autenticación.
Para configurar el inicio de sesión único, complete la siguiente secuencia de pasos:
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.
Para configurar el inicio de sesión único mediante las API, consulte API de inicio de sesión único.
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.
Habilite el inicio de sesión único.
cloudctl iam saml-enable
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>
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>
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
Inhabilite el inicio de sesión único.
cloudctl iam saml-disable