Loading
Identificar sus usuarios y gestionar el acceso
Integrar un proveedor de servicio de SSO de SAML como una aplicación cliente externa

Integrar un proveedor de servicio de SSO de SAML como una aplicación cliente externa

Para utilizar Salesforce como proveedor de identidad de inicio de sesión único (SSO) de SAML para un proveedor de servicio externo, integre su proveedor de servicio utilizando el marco de trabajo de aplicaciones cliente externas. Cree una aplicación cliente externa activada por SAML y especifique información de configuración de su proveedor de servicio. Puede configurar una aplicación cliente externa activada por SAML solo a través de la API de metadatos. Las aplicaciones cliente externas con configuraciones SAML no se pueden empaquetar o distribuir.

Ediciones necesarias

Disponible en: Developer Edition, Performance Edition y Unlimited Edition
Permisos de usuario necesarios
Para crear y modificar aplicaciones cliente externas: Crear, modificar y eliminar aplicaciones cliente externas
Para modificar las políticas de la aplicación cliente externa: Vea todas las aplicaciones cliente externas, vea su configuración y modifique sus políticas

Antes de empezar, complete estos pasos.

Una aplicación cliente externa activada por SAML consta de tres componentes de metadatos principales.

Puede utilizar cualquier método de implementación de metadatos que prefiera. Estos pasos le muestran cómo crear e implementar estos componentes utilizando Salesforce CLI.

Crear la aplicación cliente externa principal

Para completar este paso, consulte Crear una aplicación cliente externa local con la API de metadatos.

Como no puede empaquetar una aplicación cliente externa con una configuración SAML, distributionState debe establecerse como Local. Este es un archivo <nombre de aplicación cliente externa>.eca-meta.xml de ejemplo.

<?xml version="1.0" encoding="UTF-8"?>
<ExternalClientApplication xmlns="http://soap.sforce.com/2006/04/metadata">
    <contactEmail>johndoe@example.com</contactEmail>
    <description>SAML external client app to integrate third-party service provider</description>
    <distributionState>Local</distributionState>
    <isProtected>false</isProtected>
    <label>mysamleca</label>
</ExternalClientApplication>

Crear la configuración de políticas de aplicación cliente externa

  1. En el directorio <directorio de proyecto>/force-app/main/default/, cree un directorio denominado extlClntAppPolicies.
  2. En extlClntAppPolicies, cree un archivo denominado <nombre de polĆ­tica de CEPA>.ecaPlcy-meta.xml.
  3. Configure el archivo <ECA policy name>.ecaPlcy-meta.xml con estos campos.
    Campo Descripción
    externalClientApplication El nombre de la aplicación cliente externa principal como se especifica en su campo de etiqueta.
    isEnabled Define si la aplicación cliente externa puede utilizar complementos. Establezca este campo como true.
    isOauthPluginEnabled Define si la aplicación cliente externa puede utilizar el complemento de OAuth. Como el complemento isEnabled activa automÔticamente todos los complementos y esta aplicación solo es para SAML, establezca este campo en false.
    isSamlPluginEnabled Determina si la aplicación cliente externa puede utilizar el complemento SAML. Establezca este campo como true.
    label El nombre de las polĆ­ticas configurables.
    Este es un archivo de ejemplo <nombre de polĆ­tica de ECA>.ecaPlcy-meta.xml.
    <?xml version="1.0" encoding="UTF-8"?>
           <ExtlClntAppConfigurablePolicies xmlns="http://soap.sforce.com/2006/04/metadata">
            <externalClientApplication>mysamleca</externalClientApplication>
            <isEnabled>true</isEnabled>
            <isSamlPluginEnabled>true</isSamlPluginEnabled>
            <isOauthPluginEnabled>false</isOauthPluginEnabled>
            <label>myecapolicy</label>
           </ExtlClntAppConfigurablePolicies>

Crear la configuración de políticas SAML de la aplicación cliente externa

  1. En su directorio <directorio project>/force-app/main/default/, cree un directorio denominado extlClntAppSamlConfigurablePolicies.
  2. En extlClntAppSamlConfigurablePolicies, cree un archivo denominado <nombre de polĆ­tica SAML de ECA>.ecaSamlPlcy-meta.xml.
  3. Configure los campos para el archivo <ECA SAML policy name>.ecaSamlPlcy-meta.xml.
    Para obtener información detallada acerca de qué campos incluir, consulte el tipo de metadatos ExtlClntAppSamlConfigurablePolicies en la Guía de referencia de API de metadatos.
    Este es un archivo de ejemplo <nombre de política SAML de ECA>.ecaSamlPlcy-meta.xml. Esta definición incluye atributos personalizados, que se especifican en los subtipos ExtlClntAppSamlConfigurablePoliciesAttribute.
    <?xml version="1.0" encoding="UTF-8"?>
    <ExtlClntAppSamlConfigurablePolicies xmlns="http://soap.sforce.com/2006/04/metadata">
        <acsUrl>https://www.<serviceprovideracsurl>.com</acsUrl>
        <entityUrl>https://www.<serviceproviderentityid>.com</entityUrl>
        <externalClientApplication>mysamleca</externalClientApplication>
        <issuer>https://mydomainname.my.salesforce.com</issuer>
        <label>myeca_samlpolicies</label>
        <nameIdFormat>Unspecified</nameIdFormat>
        <singleLogoutUrl>https://www.<serviceprovidersinglelogouturl>.com</singleLogoutUrl>
        <singleLogoutBindingType>RedirectBinding</singleLogoutBindingType>
        <subjectType>CustomAttribute</subjectType>
        <subjectCustomAttribute>MyCustomField</subjectCustomAttribute>
        <certificate>MIIDzDCCArQCCQCFaZKGsGqZ...</certificate>
        <encryptionCertificate>MIIDzDCCArQCCQCFaZKGsGqZ...</encryptionCertificate>
        <encryptionType>AES_128</encryptionType>
        <signingAlgorithmType>SHA1</signingAlgorithmType>
        <customAttributes>
            <key>User Firstname</key>
            <formula>$User.FirstName</formula>
        </customAttributes>
        <customAttributes>
            <key>User Country</key>
            <formula>$User.Country</formula>
        </customAttributes>
    </ExtlClntAppSamlConfigurablePolicies>

Crear el archivo package.xml

Antes de implementar los componentes de metadatos, empaquƩtelos en un archivo de package.xml.

  1. En su <directorio de proyectos>, cree un archivo denominado package.xml. No cree una subcarpeta para este archivo. Esta es la estructura del archivo.
    Explorador de archivos de Visual Studio Code mostrando la ubicación del archivo package.xml en el directorio del proyecto
  2. Agregue referencias a los tipos de metadatos ExternalClientApplication, ExtlClntAppConfigurablePolicies y ExtlClntAppSamlConfigurablePolicies al archivo package.xml.
    A continuación se incluye un ejemplo del archivo package.xml.
    <?xml version="1.0" encoding="UTF-8"?>
    <Package xmlns="http://soap.sforce.com/2006/04/metadata">
        <types>
            <members>*</members>
            <name>ExternalClientApplication</name>
        </types>
        <types>
            <members>*</members>
            <name>ExtlClntAppConfigurablePolicies</name>
        </types>
        <types>
            <members>*</members>
            <name>ExtlClntAppSamlConfigurablePolicies</name>
        </types>
        <version>63.0</version>
    </Package>

Implementar la aplicación cliente externa activada por SAML

EnvĆ­e los cambios desde su directorio de proyecto local a Salesforce.

  1. Abra una nueva ventana Terminal.
  2. Vaya al <directorio de proyectos>.
  3. Para implementar el archivo package.xml, ejecute este comando.
    sf project deploy start --manifest package.xml -o <username@targetorg.com>
  4. Para verificar que los metadatos se implementaron correctamente, ejecute este comando.
    sf project retrieve start --source-dir force-app -o <username@targetorg.com>
    Después de implementar la aplicación cliente externa, puede verla en el Gestor de aplicación cliente externa en Configuración. Pero no puede ver o modificar su información de configuración de SAML desde Configuración.

Para solucionar errores con la implementación y recuperación de metadatos, consulte Depurar errores al implementar o recuperar origen en la Guía de configuración Salesforce CLI.

Después de implementar la aplicación activada por SAML y verificar su información, complete su configuración de SSO con un paso final: Asigne Usuarios de Salesforce al proveedor de servicio SAML.

Modificar la aplicación cliente externa activada por SAML

Si es necesario, realice modificaciones en la configuración SAML de su aplicación cliente externa.

  1. Actualice los archivos de componentes de metadatos correspondientes en su directorio <directorio de proyecto>/force-app/main/default/.
    • Para actualizar información general sobre la aplicación cliente externa, como su descripción o correo electrónico de contacto, modifique el archivo <nombre de aplicación cliente externa>.eca-meta.xml.
    • Para actualizar las polĆ­ticas de la aplicación cliente externa, como la etiqueta para el componente de polĆ­ticas, modifique el archivo <nombre de polĆ­tica de ECA>.ecaPlcy-meta.xml.
    • Para actualizar la información de configuración de SAML, modifique el archivo <ECA SAML policy name>.ecaSamlPlcy-meta.xml.
  2. Para enviar los cambios a Salesforce, implemente el archivo package.xml de nuevo ejecutando este comando.
    sf project deploy start --manifest package.xml -o <username@targetorg.com>
    Complete este paso incluso si modifica solo uno de los componentes. No puede implementar un Ćŗnico componente.
  3. Para verificar que los metadatos se implementaron correctamente, ejecute este comando.
    sf project retrieve start --source-dir force-app -o <username@targetorg.com>
 
Cargando
Salesforce Help | Article