- Created by Phillip Hanegan, last modified on Apr 26, 2021
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 4 Next »
EmpowerID Slack connector supports the following Slack versions:
Slack Plus
Slack Enterprise Gold
EmpowerID Slack connector integrates with the Slack SCIM API to allow organizations to bring the user and group data in their Slack system to EmpowerID, where it can be managed and synchronized with data in any connected back-end user directories. Once connected, you can manage this data from EmpowerID in the following ways:
Account Management
Inventory Slack user accounts as EmpowerID accounts
Create Slack user accounts — Calls HTTP POST /Users containing new user information. Requires username and email. You may provide an email address in the userName field, but it will be automatically converted to a Slack-appropriate username.
Update Slack user accounts — Calls HTTP PATCH /Users/{id} with new user information in JSON format.
Enable Slack user accounts — Calls HTTP PATCH /Users/{id} sending JSON with the active attribute set to True
Disable Slack user accounts — Calls HTTP DELETE /Users/{id}, which will set the active attribute of the user to False
Reset and change Slack passwords — Calls HTTP PATCH /Users/{id} sending JSON with a password attribute set to the new password
Group Management
Inventory Slack groups as EmpowerID groups
Inventory Slack group memberships as EmpowerID group accounts
Add members to Slack groups — Calls HTTP PATCH /Groups/{id} sending JSON with a complex attribute Members a list of members with value attribute set to user id.
Remove members from Slack groups — Calls HTTP PATCH /Groups/{id} sending JSON with a complex attribute Members A list of members with value attribute set to user id and operation attribute set to “delete”.
User Account Attribute Flow
Users in Slack are inventoried as accounts in EmpowerID. The below table shows the attribute mappings of Slack user attributes to EmpowerID Person attributes.
Slack Attribute | Slack Table | Corresponding EmpowerID Attribute | Description |
---|---|---|---|
Id | User | SystemIdentifier | Unique System Identifier of the user |
UserName | User | LogonName | User name of the user |
familyName | User | LastName | First name of the user |
givenName | User | FirstName | Last name of the user |
honorificPrefix | User | PersonalTitle | The honorific prefix(es) of the User |
User | PrimaryEmail | Primary Email of the user | |
Primary Photo URL | User | PhotoURL | A fully qualified URL to a page representing the User's online profile |
StreetAddress | User | StreetAddress | Street of the user |
Locality | User | City | City of the user |
Region | User | State | State of the user |
PostalCode | User | PostalCode | Postal Code of the user |
Country | User | Country | Country of the user |
phoneNumber | User | Telephone | Phone number of the user |
DisplayName | User | DisplayName | Name displayed to other end-users |
Active | User | Disabled | Status of the user |
Profile URL | User | URLPersonal | A fully qualified URL to a page representing the User's online profile |
userType | User | EmployeeType | Organization to user relationship |
Title | User | CustomAttribute3 | The user’s title |
Locale | User | CustomAttribute4 | Indicates the User's Date, time format |
PreferredLanguage | User | PreferredLanguage | Indicates the User's preferred written or spoken language |
Time Zone | User | CustomAttribute2 | The User's time zone |
Role | User | Title | Role name of the user |
EmployeeNumber | User | PositionID | Employee ID of User |
CostCenter | User | CostCenter | Cost Center of the User |
Organization | User | Company | Company name of the user |
Division | User | Division | Division name of the user |
Department | User | Department | Department name of the user |
ManagerID | User | ManagerPersonID | Unique System Identifier of the users Manager |
Group Attribute Flow
Groups in Slack are inventoried as Groups in EmpowerID. The below table shows the attribute mapping of Slack Group attributes to EmpowerID Group attributes.
Slack Attribute | Slack Table | Corresponding EmpowerID Attribute | Description |
---|---|---|---|
displayName | Group | Name | Name of the group. |
Id | Group | SystemIdentifier | Unique Identifier of the group. |
Inventory
Slack inventory runs on a scheduled basis to get users, groups and group memberships from Slack system.
Additionally, EmpowerID provides Provisioning policies or Resource Entitlements that allow you to automatically provision Slack accounts for any person within your organization based on your policy requirements.
In order to connect EmpowerID to Slack, the following prerequisites need to be met:
Your organization must have either a Slack Plus or Slack Enterprise Grid account.
You must register EmpowerID as an application in Slack.
You must supply the credentials for the Slack administrator account. EmpowerID uses this account as a connection proxy to manage Slack on your behalf.
Step 1 – Register EmpowerID as an application in Slack
Log in to Slack and navigate to https://api.slack.com/apps.
Click Create New App.
Name the app and select the workspace where you want to create the app.
Click Create App.
Expand Add features and functionality and click Permissions.
Scroll to Scopes.
Under User Token Scopes, add the admin scope.
Under OAuth Tokens & Redirect URLs, click Install App to Workspace.
In the <App Name> is requesting permission dialog that appears, click Allow.
Copy the OAuth Access Token generated for the app.
Save the token. The EmpowerID Slack connector uses it to authenticate to Slack on your behalf.
Step 2 – Create a Slack account store in EmpowerID
On the navbar, expand Admin > Applications and Directories and select Account Stores and Systems.
On the Account Stores page, select the Actions tab and click Create Account Store.
Under System Types, search for Slack.
Click Slack to select the type and then click Submit.
On the Slack Settings page that appears, enter the following information:
Name — Enter a name for the account store
Service Token — Enter the token created for the application.
Click Submit.
EmpowerID creates the account store and the associated resource system. The next step is to configure the attribute flow between the account store and EmpowerID.
Step 3 – Configure Attribute Flow
EmpowerID supports the configuration of attribute synchronization rules for flowing attribute changes between directories and the EmpowerID Identity Warehouse. Attribute Flow rules are visually configured and are always relative to the relationship between an attribute in a directory and the corresponding attribute in the EmpowerID Identity Warehouse. Attribute Flow rules define the specific fields and attributes that are synchronized between the EmpowerID Identity Warehouse person objects and the external user accounts to which they are linked. Additionally, Attribute Flow rules can be weighted by account store. For example, if you have connected EmpowerID to an HR system as well as Active Directory, and you want any changes made to an attribute in the HR system to take priority over changes made in Active Directory or EmpowerID (while allowing changes to be made in any system), you would give a higher score for each CRUD operation originating from the HR account store and correspondingly lower scores for the Active Directory account store. The following flow rules are available: No Sync 🔴 – When this option is selected, no information flows between EmpowerID and the native system. Bidirectional Flow – When this option is selected, changes made within EmpowerID update the native system and vice-versa. For most attributes, this is the default setting. Account Store Changes Only – When this option is selected, changes can only be made in the native system and are then passed to EmpowerID. EmpowerID Changes Only – When this option is selected, changes can only be made in EmpowerID and are then passed to the native system. The following CRUD operations are available: Create – This operation is used to create an attribute value for an existing attribute when the value of that attribute is null. Update – This operation is used to update the value of an attribute. Delete – This operation is used to delete the value of an attribute. From the Account Stores tab of the Account Stores and Systems page, search for the account store you just created and click the Account Store link for it. Click the Attribute Flow Rules tab to view the current rules for the account store. Please note that the attributes available depend on the account store. To change the flow for an attribute, click the Attribute Flow drop-down located between the Person Attribute column and the External Directory Attribute column, and select the desired flow direction from the context menu. To change the score for any of the available CRUD operations (Create, Update and Delete), enter the new score in the appropriate field. By default, scores are weighted evenly, which means that a change to an attribute originating in one connected external directory has the same authority as a change to an attribute occurring in another connected external directory. EmpowerID only considers scores for attribute CRUD operations when multiple account stores with the same user records are connected to EmpowerID, such as would be the case if an HR System and this account store were being inventoried by EmpowerID.
Now that the attribute flow has been set, the next steps include configuring the account store and enabling EmpowerID to inventory it.
Step 4 – Configure account store settings
On the Account Store and Resource System page, click the Account Store tab and then click the pencil icon to put the account store in edit mode. This opens the edit page for the account store. This page allows you to specify the account proxy used to connect EmpowerID to your Slack account as well as how you want EmpowerID to handle the user information it discovers in Slack during inventory. Settings that can be edited are described in the below table.
Account Store Settings
Setting
Description
General Settings
IT Environment Type
Allows you to specify the type of environment in which you are creating the account store.
Account Store Type
Allows you to specify the type for the account store.
Option 1 Specify an Account Proxy
Allows you to change the credentials for the account that EmpowerID uses to connect to and manage the account store.
Option 2 Select a Vaulted Credential as Account Proxy
Allows you to use a credential that you have vaulted in EmpowerID as the account that EmpowerID uses to connect to and manage the account store.
Inventoried Directory Server
Allows you to select a connected server as the directory server for the account store.
Is Visible in ITShop
Specifies whether the account store can be used to filter IT Shop resources to show resources, such as groups, contained in the account store.
Authentication and Password Settings
Allow Password Sync
Enables or disables the synchronization of password changes to user accounts in the domain based on password changes for the owning person object or another account owned by the person. This setting does not prevent password changes by users running the reset user account password workflows.
Queue Password Changes
Specifies whether EmpowerID sends password changes to the Account Password Reset Inbox for batch processing.
Password Manager Policy for Accounts without Person
Specifies the Password Manager Policy to be used for user accounts not joined to an EmpowerID Person.
Provisioning Settings
Allow Person Provisioning (Joiner Source)
Specifies whether EmpowerID Persons can be provisioned from user accounts in the account store.
Allow Attribute Flow
Specifies whether attribute changes should flow between the account store and EmpowerID.
Allow Provisioning (By RET)
Allows or disallows the Resource Entitlement (RET) Inbox process to auto-provision accounts for this domain for users who receive RET policy-assigned user accounts, but have not yet had them provisioned.
Allow Deprovisioning (By RET)
Allows or disallows the Resource Entitlement Inbox process to auto de-provision accounts for this domain for users who still have RET policy-assigned user accounts, but no longer receive a policy that grants them a user account in the domain. De-provisioning only occurs if the de-provision action on the Resource Entitlement policy is set to De-Provision.
Business Role Settings
Allow Business Role and Location Re-Evaluation
Specifies whether Business Role and Location re-evaluation should occur for the account store
Business Role and Location Re-Evaluation Order
Specifies the order of the account store for re-evaluating Business Roles and locations
Inventory Auto Provision OUs as IT System Locations
Specifies whether EmpowerID should automatically provision external OUs as IT System locations
Inventory Auto Provision External Roles as Business Roles
Specifies whether EmpowerID should provision Business roles for external account store roles
Default Person Business Role
Specifies the default EmpowerID Business Role to be assigned to each EmpowerID Person provisioned from the user accounts in the account store.
Default Person Location (leave blank to use account container)
Specifies the default EmpowerID Location to be assigned to each EmpowerID Person provisioned from the user accounts in the account store.
Group Settings
Allow Account Creation on Membership Request
Specifies whether EmpowerID creates user accounts in the account store when an EmpowerID Person without one requests membership within a group belonging to the account store.
Recertify External Group Changes as Detected
Specifies whether detected group changes should trigger recertification.
SetGroup of Groups to Monitor for Real-Time Recertification
Specifies the SetGroup to be used for monitoring group membership changes.
Directory Clean Up Enabled
Directory Clean Up Enabled
Specifies whether the SubmitAccountTermination permanent workflow should claim the account store for processing account terminations. When enabled, accounts in the account store that meet the qualifications to be marked for deletion are moved into a special location within the external directory, disabled and finally deleted after going through an automated approval process. This process involves setting a number of system settings in EmpowerID and requires multiple approvals by designated personnel before an account is finally removed from the account store.
Report Only Mode (No Changes)
When enabled, a report of what the Directory Clean Up process would do is written to the log. The process itself is ignored and all accounts are set to Termination Pending,
Special Use Settings
Automatically Join Account to a Person on Inventory (Skip Account Inbox)
Specifies whether EmpowerID should attempt to join user accounts in the account store to an existing EmpowerID Person during the inventory process. When enabled, the Account Inbox is bypassed.
Automatically Create a Person on Inventory (Skip Account Inbox)
Specifies whether EmpowerID should create new EmpowerID Persons from the user accounts discovered in the account store during the inventory process. When enabled, the Account Inbox is bypassed.
Queue Password Changes on Failure
Specifies whether EmpowerID should send password changes to the Account Password Reset Inbox only when the change fails.
Inventory Settings
Inventory Enabled
Allows EmpowerID to inventory the user information in the account store.
Inventory Schedule Interval
Specifies the time span that occurs before EmpowerID performs a complete inventory of the account store. The default value is 10 minutes.
Membership Settings
Enable Group Membership Reconciliation
Allows EmpowerID to manage the membership of the account store’s groups, adding and removing user to and from groups based on policy-based assignment rules.
Membership Schedule Interval
Specifies the time span that occurs before EmpowerID runs the Group Membership Reconciliation job. The default value is 10 minutes.
Edit the account store as needed and then click Save to save your changes.
Next, enable the Account Inbox permanent workflow to allow the Account Inbox to provision or join the user accounts in Box to EmpowerID Persons as demonstrated below.
EmpowerID recommends using the Account Inbox for provisioning and joining.
Step 5 – Enable the Account Store Permanent Workflow
On the navbar, expand Infrastructure Admin > EmpowerID Server and Settings and select Permanent Workflows.
On the Permanent Workflows page, click the Display Name link for Account Inbox.
On the Permanent Workflow Details page that appears, click the pencil icon to put the workflow in edit mode.
Check Enabled.
Click Save to save your changes.
Step 6 – Monitor Inventory
On the navbar, expand Identity Lifecycle and select Account Inbox.
The Account Inbox page appears. This page provides tabbed views of all information related to processing new user accounts discovered in a connected account store during inventory. An explanation of these tabs follows.All — This tab displays a grid view of all user accounts and the status of those accounts in relation to the Account Inbox.
Dashboard — This tab provides a quick summary of account inbox activity.
Orphans — This tab displays a grid view of all user accounts without an EmpowerID Person.
IN THIS ARTICLE
- No labels