Salesforce provisionnement
Introduction
IBM® Security Verify prend en charge le provisionnement et la synchronisation des comptes pour de nombreuses applications telles que Salesforce®. Cette section donne un aperçu de la configuration et des opérations prises en charge avec l'instance Salesforce® Developer Edition.
Certaines contraintes liées à Salesforce® Developer Edition et à l'implémentation du provisionnement IBM® Security Verify auront un impact sur les cas d'utilisation du provisionnement et du déprovisionnement :
- La licence Salesforce ne permet qu'à deux utilisateurs actifs d'avoir le profil Force.com – Free User. Vous pouvez avoir un nombre illimité d'utilisateurs dans le profil Chatter Free User.
- Salesforce ne permet pas de supprimer des utilisateurs ; ils peuvent être suspendus (non actifs), ce qui libère les licences détenues.
- Une application Salesforce dans IBM® Security Verify ne peut associer le provisionnement qu'à un seul profil.
- Lorsque IBM® Security Verify déprovisionne un utilisateur, il supprime le drapeau Actif.
- Vous ne pouvez pas reprovisionner un utilisateur avec un profil différent : le provisionnement échoue si l'utilisateur existe déjà dans Salesforce.
- En cas d'échec du provisionnement, la tuile de l'application ne s'affiche pas sur le Launchpad d'IBM® Security Verify.
Nous allons donc configurer l'application Salesforce® pour qu'elle utilise Chatter comme profil d'utilisateur (gratuit et illimité).
Configuration de IBM® Security Verify
Assurez-vous que les utilisateurs suivants sont disponibles dans IBM® Security Verify :
- Jessica Bretton (jessica@.ice.ibmcloud.com) en tant qu'utilisateur final appartenant au groupe Sales
- Jacob Admin (jacob@.ice.ibmcloud.com) en tant qu'administrateur système
L'application Salesforce dispose de droits pour le groupe Sales et l'utilisateur Jacob.
Configurer Salesforce pour le provisionnement
Pour permettre le provisionnement des utilisateurs, il faut créer un certificat auto-signé, puis configurer Salesforce® pour l'accès à distance.
Créer un certificat auto-signé
Nous avons besoin d'un certificat auto-signé pour la connexion entre le locataire IBM® Security Verify et le locataire Salesforce®.
Utilisez n'importe quel outil pour créer le certificat auto-signé. Les étapes suivantes utilisent OpenSSL sous Linux ou macOS ; tout autre outil approprié peut être utilisé.
- Ouvrez une session de terminal
- Exécutez la commande OpenSSL suivante pour créer un certificat auto-signé
xxxxx-host@localhost ~ % openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out certificate.crt
Generating a 2048 bit RSA private key
.....................................................................+++
..........................................................+++
writing new private key to 'privateKey.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
Country Name (2 letter code) []:AU
State or Province Name (full name) []:Victoria
Locality Name (eg, city) []:Melbourne
Organization Name (eg, company) []:IBM
Organizational Unit Name (eg, section) []:
Common Name (eg, fully qualified host name) []:
Email Address []:[email protected]
xxxxx-host@localhost ~ % ls -lt
total 448
-rw-r--r-- 1 cubit-host staff 1224 8 Jan 17:17 certificate.crt
-rw-r--r-- 1 cubit-host staff 1704 8 Jan 17:17 privateKey.key
xxxxx-host@localhost ~ %
Création d'une application connectée dans Salesforce®
Salesforce® doit reconnaître IBM® Security Verify comme une application sécurisée. Pour ce faire, il faut définir une Connected App dans l'interface d'administration Salesforce®.
- Connectez-vous à Salesforce® en tant qu'administrateur

L'affichage par défaut doit être l'interface Lightning comme sur la capture d'écran ci-dessus. Si vous avez un locataire Salesforce plus ancien, vous pourriez arriver sur l'interface classique. Les étapes suivantes supposent que vous êtes dans l'interface Lightning. Si vous êtes dans l'interface classique, passez à Lightning.
- Cliquez sur l'icône Configuration, cliquez dessus et cliquez sur Setup

- Regardez le menu à gauche de la page, trouvez le titre PLATFORM TOOLS et développez la section Apps
- Cliquez sur l'élément de menu App Manager
- Cliquez sur le bouton New Connected App en haut à droite

- Sous la section Basic Information pour la nouvelle Connected App, saisissez les informations suivantes :
- Connected App Name : peut être n'importe quoi, quelque chose comme Security Verify Tenant
- API Name : appuyez sur tab et il sera rempli en fonction du nom
- Contact Email : un email valide (comme l'email que vous associez au locataire Verify)
- Sous la section API (Enable OAuth Settings) sélectionnez la case à cocher Enable OAuth Settings

- Cela développera la section API (Enable OAuth Settings)
- Dans la section API (Enable OAuth Settings) développée, définissez Callback URL sur https://login.salesforce.com/services/oauth2/callback
- Sélectionnez la case à cocher Use digital signatures
- Parcourez et sélectionnez le fichier de certificat que vous avez créé plus tôt (par exemple certificate.crt)
- Dans les Selected OAuth Scopes sélectionnez les portées suivantes et Add (bouton flèche droite) :
- Access and manage your data (api)
- Perform requests on your behalf at any time (refresh_token, offline_access)

-
Faites défiler vers le bas de la page et cliquez sur le bouton Save
-
Cliquez sur le bouton Continue

Cela vous montre la nouvelle Connected App.
- Cliquez sur le bouton Manage

- Sur la page suivante, cliquez sur le bouton Edit Policies
- Dans la section OAuth Policies spécifiez les éléments suivants
- Permitted Users : Admin approved users are pre-authorized (et cliquez OK sur le message d'avertissement)
- IP Relaxation : Relax IP restrictions

- Faites défiler vers le bas et cliquez sur le bouton Save pour revenir à la page Connected App Detail
- Faites défiler vers le bas jusqu'à la section Profiles et cliquez sur le bouton Manage Profiles
- Sélectionnez la case à cocher System Administrator et cliquez sur le bouton Save

- Naviguez de retour à la page principale de l'application : allez au menu de gauche et cliquez sur PLATFORM TOOLS > Apps > App Manager

- Trouvez votre nouvelle application et utilisez la liste déroulante à droite pour cliquer sur View

Copiez la Consumer Key (pour client_id) qui sera nécessaire pour configurer l'application Salesforce dans IBM® Security Verify.
Obtenir l'identifiant du profil Chatter Free User de Salesforce®
Un des attributs qui doit être provisionné avec un nouveau compte Salesforce® (utilisateur) est la clé du profil auquel l'utilisateur appartiendra. Comme mentionné précédemment, cela pourrait être Force.com (licence restreinte) ou Chatter (licence gratuite). Nous allons configurer un attribut qui peut être passé avec les nouveaux attributs utilisateur pour représenter le profil.
- Dans l'interface d'administration Salesforce, allez à ADMINISTRATION > Users > Profiles

-
Cliquez sur le profil Chatter Free User
Regardez l'URL dans la barre d'adresse du navigateur (comme https://.lightning.force.com//lightning/setup/EnhancedProfiles/page?address=%2F00e2v000003wJth). La dernière partie après le %2F sera l'identifiant du profil (par exemple 00e2v000003wJth). -
Notez cet identifiant (ou copiez-le dans votre presse-papiers)
Configurer l'application Salesforce
Ajouter un attribut de profil utilisateur
- Connectez-vous à IBM® Security Verify en tant qu'administrateur de locataire (Jacob)
- Naviguez vers l'onglet Configuration > Attributes
- Cliquez sur le bouton Add attribute

- Sur la page Name and description, donnez à l'Attribute un nom comme sf-chatter-profileid et une description

- Cliquez sur le bouton Next
- Sur la page Type and availability, cliquez sur la tuile Custom attribute
- Quand la liste de sélection apparaît, sélectionnez Provisioning

- Cliquez sur le bouton Next
- Sur la page Source and value, supprimez les traits d'union de l'identifiant d'attribut

-
Cliquez sur le lien View additional settings
-
Dans le champ Default value (optional), collez l'identifiant de profil d'en haut (par exemple 00e2v000003wJth)
C'est la chose la plus importante à bien faire. Si vous obtenez une mauvaise valeur, le provisionnement ne fonctionnera pas. -
Dans le champ Apply transformation (optional), sélectionnez None

- Cliquez sur le bouton Add attribute
L'attribut nouvellement créé sera utilisé dans la configuration de provisionnement de l'application.
Créer / Mettre à jour l'application Salesforce
- Connectez-vous à IBM® Security Verify en tant qu'administrateur de locataire (Jacob)
- Naviguez vers la page Applications, cliquez sur le bouton Add application

-
Sur la boîte de dialogue Select Application Type, saisissez salesforce dans la zone de recherche
-
Quand l'application Salesforce s'affiche, sélectionnez-la puis cliquez sur le bouton Add application
-
Sur la page Add Application laissez Salesforce comme Company name et mettez le nom d'hôte de votre Salesforce dans le champ Host Name (par exemple test-dev-ed)
-
Sélectionnez les applications Salesforce Chatter, Salesforce Sales Cloud et Salesforce Services Cloud

Seul Chatter sera utilisé pour le provisionnement car c'est le seul profil qui permet un nombre illimité d'utilisateurs. Cependant, pour garder la possibilité de laisser Jessica accéder aux autres applications Salesforce, vous devez conserver les deux autres comme affichées.
Configurer l'ouverture de session
• Retournez à votre interface d'administration Salesforce (elle devrait encore être ouverte depuis avant)
• Utilisez la barre de menu à gauche pour aller à SETTINGS > Identity > Single Sign-On Settings

- Cliquez sur le nom de SAML Single Sign-On Settings (créé quand Single Sign-On est activé par l'administrateur)
- Faites défiler vers le bas jusqu'à la section Endpoints et copiez l'Login URL

- Retournez à la console d'administration IBM® Security Verify où l'application Salesforce est en cours d'édition
- Cliquez sur l'onglet Sign-on
- Mettez à jour l'Login URL dans le champ Assertion Consumer Service URL (HTTP-POST)

Ne cliquez PAS encore sur Save.
Ensuite, définissons les propriétés du Account lifecycle.
Configurer le cycle de vie du compte
- Allez à l'onglet Account lifecycle de l'application Salesforce
- Activez le provisionnement et le déprovisionnement. Comme Salesforce ne permet pas de supprimer les comptes, la seule action de déprovisionnement est de Suspendre le compte (et le champ Grace Period est désactivé).

-
Faites défiler vers le bas jusqu'à la section API Authentication (notez que l'Organization URL est pré-remplie)
-
Retournez à votre interface Salesforce, trouvez la Managed Connected App nouvellement créée, et copiez la valeur Consumer Key, et collez-la dans le champ Client ID
-
Dans le champ User Name mettez le nom d'utilisateur admin (jacob@.ice.ibmcloud.com)
-
Ouvrez un autre onglet de navigateur et trouvez un outil JSON Escape / Unescape (comme https://www.freeformatter.com/json-escape.html)
-
Retournez à votre fenêtre de terminal et copiez le contenu du fichier privateKey.key (par exemple cat le fichier puis sélectionnez tout et copiez) et collez-les dans l'outil JSON
xxxxx-host@localhost ~ % cat privateKey.key
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCfhjIF2omF+K4D
aV+ux0+SrJXRD+/6s8KpCTu08YU0h0bbsbRiZLxt0FMwzWiuEw8QHeDiRH2sPfu+
+jbPJy/sj46a6avEGQLkFukwe/8OBwFaC8EDNL/RjohIhSPzZMxH9BkYYFUgVCqb
+rY9wn8TOWTq4L3M9M0oz5q110AQfDvn1jmY/6yG/6ZjWgWhyJl6ZzzukIzq1oag
3875uWfpYr66389ZlCrBWUtDWSiL2VTOxPhopU73g/edbNlvh4QybDyMaQ0dkR7H
…
Gi+iQzP9ijg8GuB9OaEWFKfjboeTbbeTqvYCbttC+/SNv9+M8pcFODekLawnKwwG
61RWrRpgIII2xZ2AO7Vfa5NFIUj14EA1pxKl+50CgYAtSfTPYkPzymzWfYrJCdJ0
b4QIXRydhdOvZgcqBJ5MzfQ9IffIQPVFHA0+JafgemX3ULV2dyNPEnBZxarTiqmj
8KErxl/pCxL8ccOtgiKlIu0zp+mOB99rX3srbKhpTdwJHhPAsKhYS2M02Y4F21DM
3ntIioK/UOZ/ibgWBcsIVQ==
-----END PRIVATE KEY-----
xxxxx-host@localhost ~ %
Assurez-vous de sélectionner tout depuis le premier "–" dans -----BEGIN PRIVATE KEY----- jusqu'au dernier "–" dans -----END PRIVATE KEY-----

- Échappez le texte dans l'outil (par exemple bouton ESCAPE dans l'outil ci-dessus)

- Copiez le texte échappé dans le champ Private key (il sera obfusqué mais cliquez sur l'icône Œil pour le voir)

- Cliquez sur le bouton Test Connection pour confirmer les paramètres
Confirmez qu'un message de connexion réussie est affiché. Sinon, revérifiez si le Client ID et la Private Key sont saisis correctement.
- Faites défiler vers le bas jusqu'à la section API Attribute Mappings et définissez les éléments suivants :
- username = preferred_username
- name.givenName = given_name
- name.familyName = family_name
- emails.work = email
- entitlements.Profile = sf-chatter-profileid
Les autres peuvent être laissés tels quels.

- Cliquez sur le bouton Save
Définir la politique d'adoption pour la synchronisation des comptes
Comme nous avons testé avec succès la connexion avec le domaine Salesforce, définissons la politique d'adoption afin de synchroniser les règles de Salesforce avec IBM® Security Verify.
Pour définir la politique d'adoption, cliquez sur l'onglet Account sync depuis les détails de l'application Salesforce.

- Cliquez sur + Attribute pairs pour ajouter la règle d'attribut à utiliser pour faire correspondre les utilisateurs de Salesforce avec les utilisateurs existants dans IBM® Security Verify.
- Définissez les règles comme :
- username = preferred_username
- emails.work = email

- Cliquez sur le bouton Save
Définir le propriétaire, les attributs et les droits pour l'application
Lors de la sauvegarde réussie, un nouvel onglet Entitlements est exposé.
- Sur l'onglet Entitlements cliquez sur le bouton Add
- Sur la boîte de dialogue Select User/Group, recherchez, sélectionnez et Ajoutez le groupe Sales
- Sur la boîte de dialogue Select User/Group, recherchez, sélectionnez et Ajoutez l'utilisateur Jacob
- Cliquez sur OK pour fermer la boîte de dialogue

-
Cliquez sur le bouton Save
-
Allez à l'onglet General pour l'application
-
Faites défiler vers le bas jusqu'à la section Application owners et cliquez sur le bouton Add Owner
-
Recherchez et sélectionnez Jacob, puis cliquez sur le bouton OK

Enfin, nous devons restaurer l'attribut Sign-on pour passer le bon attribut dans l'assertion SAML :
- Allez à l'onglet Sign-on
- Faites défiler vers le bas jusqu'à la section Attribute Mappings et saisissez real_user comme Attribute Name
- Pour le Attribute Name Format, saisissez ur dans le champ et sélectionnez le urn…SAML2.0…basic dans la liste déroulante
- Pour l'Attribute Source sélectionnez preferred_username
- Cliquez sur le bouton Save

Test du SSO pour Jessica
-
Démarrez une nouvelle session de navigateur et ouvrez le locataire IBM® Security Verify (par exemple https://<your_tenant>.ice.ibmcloud.com)
-
Connectez-vous en tant que Jessica
-
Validez que le launchpad de Jessica a les applications Salesforce puisqu'elle est membre du groupe Sales comme :
- Salesforce Chatter
- Salesforce Sales Cloud
- Salesforce Services Cloud
-
Survolez la tuile Salesforce Chatter et cliquez sur le bouton Launch App
-
L'utilisateur devrait être autorisé à accéder à l'onglet Chatter dans la vue utilisateur Salesforce.

- Déconnectez-vous de Jessica Bretton dans Salesforce et fermez l'onglet
Synchronisation des comptes avec Salesforce®
Après que l'application Salesforce® soit configurée avec succès, l'administrateur de locataire peut synchroniser les données de compte Salesforce avec IBM® Security Verify.
- Connectez-vous à IBM® Security Verify en tant qu'administrateur de locataire (Jacob)
- Depuis la console d'administration naviguez vers Applications
- Sélectionnez "Accounts" depuis le menu d'action à trois points contre l'application Salesforce

- Cliquez sur Start account synchronization

- Pour surveiller la synchronisation des comptes, naviguez vers le menu Governance et Cliquez sur l'onglet Account sync

- Cliquez sur la ligne pour laquelle les détails doivent être vus. Le volet de droite montrera le résumé des différents comptes récupérés depuis Salesforce

Notez que les comptes seront mis en correspondance sur la base du mappage d'attributs défini dans la politique d'adoption de l'application. Donc, l'administrateur doit être prudent lors de la définition du mappage d'attributs.
Provisionnement avec Salesforce®
Créer un nouvel utilisateur
- Connectez-vous au locataire IBM® Security Verify en tant qu'utilisateur administratif (Jacob)
- Allez à Users & groups
- Cliquez sur le bouton Add user
- Créez un utilisateur
Vous pouvez créer n'importe quel utilisateur que vous aimez.
Par exemple : - Identity Source = Cloud Directory
- User name = [email protected]
- Given name = Podrick
- Surname = Payne
- Email = une adresse email réelle valide

- Cliquez sur le bouton Save pour créer l'utilisateur

Valider la connexion du nouvel utilisateur
Comme l'utilisateur est créé, un mot de passe temporaire est livré à l'email de l'utilisateur.
- Allez à la boîte de réception email de votre utilisateur et cherchez un email indiquant qu'un utilisateur a été créé

- Ouvrez une nouvelle fenêtre de navigateur ou un navigateur différent, copiez le lien de l'email
- Connectez-vous avec le nom d'utilisateur et le mot de passe dans l'email
- Quand demandé, saisissez un nouveau mot de passe (deux fois) et cliquez sur le bouton Change Password
- Après que le nouvel utilisateur puisse se connecter, validez que le launchpad de l'utilisateur n'a pas de tuile de compte Salesforce.

Cas d'utilisation du provisionnement – Accorder l'accès aux ventes
Notez que nous avons donné droit au groupe "Sales" avec "Accès automatique" pour l'application Salesforce. Maintenant pour provisionner un nouveau compte Salesforce pour l'utilisateur nouvellement créé, nous pouvons faire du nouvel utilisateur un membre du groupe "Sales". Cela déclenchera le provisionnement automatique pour le compte Salesforce.
Ajouter l'utilisateur au groupe Sales
- Retournez à l'interface d'administration IBM® Security Verify en tant qu'utilisateur admin (Jacob) – vous devriez encore avoir la fenêtre ouverte depuis avant
- Toujours dans la fonction Users & groups, cliquez sur l'onglet Groups
- Survolez le groupe Sales et cliquez sur l'icône Edit

- Cliquez sur le bouton Add à côté de Group Members
- Recherchez le nom du nouvel utilisateur qui sera listé dans les Search results.
- Sélectionnez-le et cliquez sur Select, cela déplacera l'utilisateur vers Selected users & groups

- Cliquez sur le bouton OK pour les ajouter, puis Save sur la boîte de dialogue Edit Group
- Retournez à l'onglet Users, survolez votre nouvel utilisateur et cliquez sur l'icône User Details à droite
- Confirmez que le nouvel utilisateur est dans le groupe Sales

Vérifier que l'utilisateur est dans Salesforce
- Allez à l'interface d'administration Salesforce (elle peut encore être ouverte depuis avant)
- Allez au menu de gauche et sélectionnez ADMINISTRATION > Users > Users
- Cherchez votre nouvel utilisateur

Il y a deux choses à vérifier :
- L'utilisateur a été créé dans Salesforce et le nom d'utilisateur est correct, et
- L'utilisateur a été assigné au profil Chatter Free User
Valider la configuration
Si l'utilisateur n'existe pas, vous devriez aller vérifier les paramètres du cycle de vie de l'application. Si vous avez eu un test de connexion réussi, alors le problème est probablement dans le mappage d'attributs. Si vous ne voyez pas le bon profil, vous avez peut-être incorrectement collecté et stocké l'ID de profil
Tester le SSO utilisateur
- Connectez-vous à IBM® Security Verify en tant que nouvel utilisateur (Podrick)
- Validez que l'utilisateur est capable de voir les tuiles Salesforce sur le launchpad puisque le nouvel utilisateur est dans le groupe Sales.

Rappelez-vous que nous ne provisionnons l'accès qu'au profil Chatter. Donc, la seule tuile SSO qui fonctionnera est Salesforce Chatter.
Le SSO vers les autres tuiles ne fonctionnera pas.
- Survolez l'icône Salesforce Chatter et cliquez sur le bouton Launch App
L'utilisateur sera capable d'accéder à Salesforce avec l'onglet Chatter sélectionné.
- Cliquez sur l'icône Profile pour confirmer que vous êtes connecté en tant que nouvel utilisateur

- Déconnectez l'utilisateur de Salesforce et fermez l'onglet du navigateur
Déprovisionnement avec Salesforce®
Nous allons maintenant faire l'inverse pour supprimer l'utilisateur de Salesforce (en fait Salesforce ne permettra pas la suppression des comptes, donc l'utilisateur sera suspendu).
Supprimer l'utilisateur du groupe Sales
- Retournez à la console d'administration IBM® Security Verify en tant qu'utilisateur admin (Jacob)
- Allez à Users & groups
- Allez à l'onglet Groups
- Éditez le groupe Sales
- Sélectionnez le nouvel utilisateur et cliquez sur le bouton Remove

- Cliquez sur le bouton Save
- Comme avant, vérifiez votre nouvel utilisateur dans l'onglet Users – vous devriez voir qu'ils ont "no groups"

- Retournez au menu d'administration Salesforce et allez à la page Users comme avant (ou actualisez si vous y êtes encore)
- Vérifiez votre nouvel utilisateur

L'utilisateur devrait encore être là mais ne sera plus actif (il n'y a pas de coche dans la colonne Active).
Tester le SSO utilisateur
- Connectez-vous à IBM® Security Verify en tant que nouvel utilisateur (Podrick)
- Validez que les tuiles Salesforce devraient être parties puisque l'utilisateur a été supprimé du groupe Sales.

La tâche de déprovisionnement d'utilisateur peut être surveillée par l'administrateur IBM® Security Verify (Jacob) depuis l'onglet Governance > Operation results

- Quand Cliqué dans l'opération Deprovision account, les détails de la tâche sont montrés dans le volet de droite :

Nilesh Atal, IBM Security
Updated 21 days ago