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
1901

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
1176
  • 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
1196
  • 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
1115
  • Cela développera la section API (Enable OAuth Settings)
  • 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)
886
  • Faites défiler vers le bas de la page et cliquez sur le bouton Save

  • Cliquez sur le bouton Continue

910

Cela vous montre la nouvelle Connected App.

  • Cliquez sur le bouton Manage
1537
  • 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
888
  • 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
891
  • Naviguez de retour à la page principale de l'application : allez au menu de gauche et cliquez sur PLATFORM TOOLS > Apps > App Manager
1542
  • Trouvez votre nouvelle application et utilisez la liste déroulante à droite pour cliquer sur View
1482

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
1135
  • 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
1137
  • Sur la page Name and description, donnez à l'Attribute un nom comme sf-chatter-profileid et une description
874
  • 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
878
  • Cliquez sur le bouton Next
  • Sur la page Source and value, supprimez les traits d'union de l'identifiant d'attribut
874
  • 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

875
  • 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
1200
  • 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

1812

📘

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

1553
  • 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
1563
  • 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)
1507

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é).
699
  • 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-----

835
  • Échappez le texte dans l'outil (par exemple bouton ESCAPE dans l'outil ci-dessus)
824
  • Copiez le texte échappé dans le champ Private key (il sera obfusqué mais cliquez sur l'icône Œil pour le voir)
755
  • 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.

659
  • 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.

1050
  • 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
933
  • 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
851
  • 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

738

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
1403

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 :

    1. Salesforce Chatter
    2. Salesforce Sales Cloud
    3. 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.

1178
  • 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
1920
  • Cliquez sur Start account synchronization
1857
  • Pour surveiller la synchronisation des comptes, naviguez vers le menu Governance et Cliquez sur l'onglet Account sync
1848
  • 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
1899

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
930
  • Cliquez sur le bouton Save pour créer l'utilisateur
737

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éé
793
  • 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.
1199

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
1186
  • 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
571
  • 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
739

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
746

Il y a deux choses à vérifier :

  1. L'utilisateur a été créé dans Salesforce et le nom d'utilisateur est correct, et
  2. 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.
1199

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
1199
  • 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
639
  • Cliquez sur le bouton Save
  • Comme avant, vérifiez votre nouvel utilisateur dans l'onglet Users – vous devriez voir qu'ils ont "no groups"
1171
  • 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
1542

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.
1199

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

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

💎

Nilesh Atal, IBM Security