Skip to end of banner
Go to start of banner

Connecting to Slack

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Current »

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

Email

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:

  1. Your organization must have either a Slack Plus or Slack Enterprise Grid account.

  2. You must register EmpowerID as an application in Slack.

  3. You must supply the credentials for the Slack administrator account. EmpowerID uses this account as a connection proxy to manage Slack on your behalf.

Register EmpowerID as an application in Slack

  1. Log in to Slack and navigate to https://api.slack.com/apps.

  2. Click Create New App.

  3. Name the app and select the workspace where you want to create the app.

  4. Click Create App.

  5. Expand Add features and functionality and click Permissions.

  6. Scroll to Scopes.

  7. Under User Token Scopes, add the admin scope.

  8. Under OAuth Tokens & Redirect URLs, click Install App to Workspace.

  9. In the <App Name> is requesting permission dialog that appears, click Allow.

  10. Copy the OAuth Access Token generated for the app.

  11. Save the token. The EmpowerID Slack connector uses it to authenticate to Slack on your behalf.

Create a Slack account store in EmpowerID

  1. On the navbar, expand Admin > Applications and Directories and then click Account Stores and Systems.

  2. On the Account Stores page, click Create Account Store.

  3. Under System Types, search for Slack.

  4. Click Slack to select the type and then click Submit.

  5. On the Slack Settings page enter a name for the account store in the Name field and the OAuth token you copied from Slack in the Service Token field.

  6. Click Submit.

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

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 ( Red Circle) — When this option is selected, no information flows between EmpowerID and the native system.

  • Bidirectional Flow (Bidirectional Green Arrow) — 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 (Left Pointing Arrow) — When this option is selected, changes can only be made in the native system and are then passed to EmpowerID.

  • EmpowerID Changes Only (Right Pointing Arrow) — 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.

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

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

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

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

attributeflowrules.mp4


Now that the attribute flow has been set, the next steps include configuring the account store and enabling EmpowerID to inventory it.

Configure account store settings

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

    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.

    Use Secure LDAPS Binding

    Specifies whether you are using Secure LDAP to encrypt LDAP data when establishing a directory bind.

    Inventoried Directory Server

    Allows you to select a connected server as the directory server for the account store.

    Is Remote (Cloud Gateway Connection Required)

    This setting appears for account stores with local directories, such as Active Directory, LDAP, SAP, etc. When enabled, this tells EmpowerID to use the Cloud Gateway Connection for that account store. The Cloud Gateway Connection must be installed on an on-premise machine. For installation information, please see Installing the EmpowerID Cloud Gateway Client.

    Authentication and Password Settings

    Use for Authentication

    Specifies whether user credentials in the external system can be used to authenticate to EmpowerID.

    Allow Search for User Name in Authentication

    This setting works in conjunction with pass-through authentication to allow users to log in without specifying a domain name. When this is enabled, EmpowerID first checks to see if the user name entered exists within its Identity Warehouse and if so attempts to authenticate as that user. If a matching logon name exists but the login fails, EmpowerID then searches through all Accounts Stores where simple username search is enabled to find the correct user name and password combination. 

    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 EmpowerID and the account store.

    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.

    Max Accounts per Person

    This specifies the maximum number of user accounts from this domain that an EmpowerID Person can have linked to them. This prevents the possibility of a runaway error caused by a wrongly configured Join rule. It is recommended that this value be set to 1 unless users will have more than 1 account and you wish them to be joined to the same person.

    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 All Group Changes as Detected

    Specifies whether detected group changes should trigger recertification.

    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.

    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 OU 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,

    OU to Move Stale Accounts

    Specifies the external directory in which to move accounts marked for termination.

    Special Use Settings

    RBAC Assign Group Members On First Inventory

    Converts each user account in an group to a Access Level assignment for the EmpowerID Person who owns the user account. Enabling this function is not recommended in most cases as it removes the ability to manage groups in the account store. A consequence of this is that if a user account is removed from a native system, EmpowerID puts the account back in the group.

    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.

    Show in Location Tree

    Specifies whether the account store shows in the Location Tree within the EmpowerID UI.

    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 Schedule Interval

    Specifies the time span that occurs before EmpowerID performs a complete inventory of the account store. The default value is 10 minutes.

    Inventory Enabled

    Allows EmpowerID to inventory the user information in the account store.

    Membership Settings

    Membership Schedule Interval

    Specifies the time span that occurs before EmpowerID runs the Group Membership Reconciliation job. The default value is 10 minutes.

    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.

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

  1. On the navbar, expand Infrastructure Admin > EmpowerID Server and Settings and select Permanent Workflows.

  2. On the Permanent Workflows page, click the Display Name link for Account Inbox.

  3. On the Permanent Workflow Details page that appears, click the pencil icon to put the workflow in edit mode.

  4. Check Enabled.

  5. Click Save to save your changes.

AccountInboxPW.mp4

Monitor inventory

  1. On the navbar, expand System Logs > Policy Inbox Logs and click 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.

    • Dashboard — This tab provides a quick summary of account inbox activity.

    • Not Processed — This tab displays a grid view of all inventoried user accounts not yet used to provision a new EmpowerID Person or joined to an existing Person. Any accounts that fail to meet the Join and Provision rules are displayed here as well.

    • Failed — This tab displays a grid view of any account joining or provisioning failures.

    • Ignored — This tab displays a grid view of all accounts ignored by the account inbox. Accounts are ignored if they do not qualify as user accounts.

    • Joined — This tab displays a grid view of all accounts joined to an EmpowerID Person. Joins occur based on the Join rules applied to the account store.

    • Processed — This tab displays a grid view of all accounts that have been used to either provision a new EmpowerID Person or joined to an existing EmpowerID Person.

    • Provisioned — This tab displays a grid view of all accounts that have been used to provision an EmpowerID Person. Provisioning occurs based on the Provision rules applied to the account store.

    • Orphans — This tab displays a grid view of all user accounts without an EmpowerID Person.

    • All — This tab displays a grid view of all user accounts and the status of those accounts in relation to the Account Inbox.

IN THIS ARTICLE

  • No labels