Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Updated Cymmetri framework to set default IST timezone.
Self-service Mobile App Introduced
External Components using Cymmetri Authentication added:
Windows Credential Provider using Cymmetri 2FA authentication
Cymmetri AD Password Filter
Global Session Management and Login configurations can be configured from a single location in Authentication section
Suspend and Resume Users to ensure appropriate removal of assigned business applications
Auto userId (loginId) generation
User Decommission if inactive for the specified duration
Teams configuration added for distributed access support.
On Behalf of feature introduced to support distributed administration.
On user registration unknown/new department and designation will be added to Cymmetri automatically.
Bulk Import feature introduced, support for the following types of import added:
Bulk Application Assignment
Bulk Application Role Assignment
Bulk Manager Assignment
Bulk Group Assignment
Workflow approver selection.
Workflow configuration support added for setting multiple stages.
Custom workflow configuration added for below events, with rule based workflow execution support.
User Creation
Application Provisioning
Application Deprovisioning
Application Role Setup
Application Update
Workflow Setup
Decommission Device
Workflow Self Approval, configuration support added to set self approver rules, below are the supported workflows
Application Update
Application Provisioning
Application Deprovisioning
FIDO Authentication introduced as a new MFA mechanism
Support for Adaptive MFA added as an Experimental feature
Active Directory Configuration
Scheduled Risk Evaluation
Reports
Password Filter support for Active Directory which is used to intercept password changes on Active Directory, and pass it to Cymmetri for provisioning purposes
Support for uploading of x509 certificate for SAML configurations
Support for configuring protocol binding, relay state of service provider
Support for Policy Mapping
Option to regenerate certificate and keys of SAML and listing of keys added
SAML configuration is separated for centralised control and ease of configuration
CIDR (Classless Inter-Domain Routing) feature for added sso applications
Web hook APIs secured with token based access
Two level encryption support with PKCS standard for authentication
Hook support added for below events
Change Password
Reset Password
Forgot Password
PAM MFA support added
Support added to configure multiple policies.
Added meta tag support for policy rules.
Latest updated policy will be considered if multiple policies matched
To access Cymmetri, users must use a web browser, such as Google Chrome or Safari, and enter the appropriate address in the address bar as shown below:
URL: https://<companyname>.cymmetri.com/login
Example: https://helpdocs.cymmetri.com/login
Once the address is entered it opens a page as shown below, where the users may enter their username and password to access Cymmetri.
The Cymmetri Help Page serves as a vital resource, offering users a comprehensive documentation hub that breaks down all the features and provides step-by-step configurations for various functionalities.
To access this valuable documentation, you can visit https://help.cymmetri.io directly. Alternatively, you can simply click on the help icon located at the bottom left of your Cymmetri tenant screens.
Comprehensive Feature Explanation: The Cymmetri Help Page covers all the features of the platform in a straightforward manner. Whether you are a beginner or an experienced user, you can find detailed explanations of each feature, ensuring you have a clear understanding of its purpose and functionality.
Step-by-Step Configurations: One of the highlights of the Help Page is its provision of step-by-step configurations for various features. This means you can follow a simple, structured guide to set up and customize different aspects of Cymmetri according to your specific needs.
User-Friendly Language: The documentation is crafted in a manner that balances technical precision with user-friendly language. You won't find unnecessary jargon, making it accessible for users with varying levels of technical expertise.
Start by clicking on the link register.cymmetri.io to start the registration of your tenant on the Cymmetri Cloud 2.0 and enter your personal details with your work email. Click on Next.
Enter your country, phone number (mandatory to receive OTP), and enter a domain name for your tenant. In case the domain available message is not shown, choose a different domain name. Click on Start Trial button.
You will receive an OTP on your mobile number from the previous step. Enter the OTP here and wait for a few seconds for your tenant to be created.
You will be redirected to your domain to create the first Organization Admin user. Ensure that your password matches the password policy.
You will receive a message to show that your tenant has been created.
Click on the Login button for proceeding with the onboarding process
Enter your username and press Next
Enter your password and proceed with the setup of your tenant by clicking on the Login button
Choose applications from the application catalogue, click on the application icon for all the applications you wish to add. Then click on the Next button.
Enter details to create a second administrator account. Click on Send Invite button to create an administrator. Click on Next button to proceed.
(Optional) Add users if you wish to. Then click on Finish.
You will be redirected to the Dashboard to proceed with the system.
Next Steps:
Manage your users and groups.
A comprehensive list of all known Cymmetri error codes and their summary understanding:
ERROR CODE | ERROR TEXT |
---|
Masters are key-value pairs that can be defined for the entire tenant. The key(name) in this context refers to the label to be shown on the Cymmetri User Interface, and the value is the backend identifier used to reference this field in various processes, rules, and policies defined in the Cymmetri platform.
Cymmetri platform allows for configuring a number of masters in the system, the major classification among which is Global masters (which allow for creating master key-value pairs that may be used for various situations, such as creating a new department, designation, and other custom attributes for users in the system) and Zone masters (which are network configurations that may be used to whitelist or blacklist user access onto the platform as well as act as a source for adaptive Multi-factor authentication).
These are system-wide key value pairs primarily used to setup key value pairs referring to various masters as given below:
Follow the steps below to Add a New Master:
Click on the "+Add New" button to add a new master of any category mentioned above.
Enter the Name and Value for the new Master, then select the type of master you wish to create and enable the active toggle button to make the master active. Once all values are entered click on Save button
A new Global Master is successfully created in the selected category
Zone masters indicate the network zones that may be used for blacklisting or whitelisting access to the Cymmetri Identity platform deployment. It may also be used for detecting users from certain zone and assign relevant multi-factor authentication policies.
Zone Name: Used to refer to a zone in other configurations on the Cymmetri platform.
Inactive/Active: Toggle button to check whether the zone is active (configurable as a condition for other rules on the Cymmetri platform.)
Gateway IP: Refers to the Gateway IP address for the network zone.
Proxy IPs: Proxy Server IP addresses that may be used to be directed to this network or the IP addresses outside of the zone that would indicate a connection from this zone.
For adding a new Zone Master or for editing an existing one, Fill all the mandatory details in the screen as shown above, click on the enable toggle button and finally click a “Save” button.
Cymmetri is a Converged Identity & Access Management Platform and a well-trusted platform acting as an advisor and an end-to-end partner for Security-aware teams looking to deploy Identity and Access Management Solutions across their organization.
We offer an industry-standard product backed by a strong team that always aims to innovate our solutions to cater to a wide variety of enterprise needs.
Type | Description |
---|
CIDR: Refers to the CIDR notation of the subnet of the network that this zone refers to. .
CONNECTION_ERROR | Unable to connect. Please check your connection and try again. |
USRSRVC.LAST_DATE_REACHED | Application's request end date is greater than the user's end date. |
USRSRVC.MISSING_DATES | Incorrect dates Please ensure selected date range should be proper. |
USRSRVC.EXPIRED_TIME_BOUND | Access request duration has ended |
REGSRVC.UNKNOWN | Error. Please try again later or contact Cymmetri Administrator. |
REGSRVC.USER_NOT_FOUND | User not found. |
REGSRVC.INVALID_TOKEN | Token expired. Try again. |
REGSRVC.OTP_EXPIRED | OTP expired. Please resend and try again. |
REGSRVC.OTP_LIMIT_EXCEED | Otp limit exceeded. |
REGSRVC.INVALID_OTP | OTP does not match. Please check & try again |
REGSRVC.INVALID_ARGUMENTS | Error. Please correct input and try again. |
REGSRVC.INVALID_DOMAIN | Invalid Domain. Please try again. |
REGSRVC.INVALID_CREDENTIALS | Invalid Credentials. Please try again. |
REGSRVC.TERMS_AND_CONDITIONS_NOT_FOUND | Invalid Terms & Conditions. Please try again. |
REGSRVC.INVALID_ACCOUNT_VERIFICATION_TOKEN | Invalid request. Contact Cymmetri administrator. |
REGSRVC.DATA_IS_NOT_VALID | Invalid data. Please try again. |
REGSRVC.PASSWORD_NOT_VALID | Invalid password. Please try again |
REGSRVC.EMAIL_EXISTS | Duplicate Email Address. Please try again. |
REGSRVC.DOMAIN_EXISTS | Duplicate Domain. |
REGSRVC.DB_CONFIG_EXISTS | Database already exists. Contact Cymmetri administrator. |
REGSRVC.USER_ALREADY_ACTIVE | User status is active. Contact Cymmetri administrator. |
USRSRVC.MANAGER_NOT_FOUND | No Manager Found |
USRSRVC.UNSUPPORTED_FILE_TYPE | Unsupported File Type |
USRSRVC.UNKNOWN | Error. Please try again later or contact Cymmetri Administrator. |
USRSRVC.INVALID_ARGUMENTS | Error. Please correct input and try again. |
USRSRVC.NONUNIQUE_GROUPNAME | Group name already exists. Please try again. |
USRSRVC.GROUPTYPE_NOT_FOUND | Group type not found. Contact Cymmetri administrator. |
USRSRVC.OU_NOT_FOUND | Organization Unit not found. Please try again. |
USRSRVC.PARENTGROUP_NOT_FOUND | Parent Group not found. Please try again. |
USRSRVC.GROUP_NOT_FOUND | Group not found. Please try again. |
USRSRVC.USER_NOT_FOUND | User not found. Please try again. |
USRSRVC.CYCLIC_UPDATE | Operation not allowed for current input. |
USRSRVC.INHERITED_GROUP | Operation not allowed for current input. |
USRSRVC.USERTYPE_NOT_FOUND | User type not found. Please try again. |
USRSRVC.EXISTING_MOBILE | User mobile number in use. Please try again. |
USRSRVC.EXISTING_EMAIL | User email address in use. Please try again. |
USRSRVC.DEPARTMENT_NOT_FOUND | Department not found. Please try again. |
USRSRVC.DESIGNATION_NOT_FOUND | Designation not found. Please try again. |
USRSRVC.COUNTRY_NOT_FOUND | Country not found. Please try again. |
USRSRVC.EXISTING_LOGIN | User Login ID in use. Please try again. |
USRSRVC.APPLICATION_NOT_FOUND | Application not found. Please try again. |
USRSRVC.APPLICATION_ROLE_NOT_FOUND | Application role not found. Please try again. |
PROVSRVC.CYMMETRI_LOGIN_FIELD_NOT_CONFIGURED | Please configure Cymmetri Login field for Policy Mapping. |
PROVSRVC.APPLICATION_TEST_FAILED | Provision Configuration failed. |
USRSRVC.USER_NOT_PROVISIONED | User not provisioned. Please try again. |
USRSRVC.CHILD_GROUP_FOUND | Cannot Delete as Child group found. |
USRSRVC.GROUP_HAS_ASSIGNED_APPS | Group has assigned applications. Remove and try again. |
USRSRVC.USER_ASSIGNED_GROUP | Cannot delete as User assigned to group. |
USRSRVC.USER_MUST_PRESENT_IN_TARGET | User must present in target system before assign it to group. |
USRSRVC.INACTIVE_USER | Inactive User cannot perform this action. |
USRSRVC.INVALID_MANAGER | Invalid manager. |
USRSRVC.MIN_ORG_ADMIN_RULE_VIOLATION | Admin role cannot be removed for this user. |
USRSRVC.USER_ROLE_MAPPING_EXISTS | Role Already Exists. |
USRSRVC.APPLICATION_ROLE_ALREADY_ASSIGNED | Application role is already assigned. |
USRSRVC.APPLICATION_ALREADY_ASSIGNED | Application is already assigned. |
USRSRVC.USER_ROLE_MAPPING_NOT_EXISTS | User role mapping does not exists. |
USRSRVC.CANNOT_REMOVE_PROVISIONED_APPLICATION | Cannot remove already provisioned application. |
USRSRVC.EMPTY_FILE | Empty file uploaded. |
USRSRVC.SELF_STATUS_CHANGE_NOT_ALLOWED | This user cannot be deleted. |
USRSRVC.MANAGER_ASSIGNMENT_REJECTED | Error. The manager assignment is invalid. |
USRSRVC.INVALID_ENDDATE | The end date should be greater than start date. |
USRSRVC.SELF_ROLE_CHANGE_NOT_ALLOWED | Self role change is not allowed. |
USRSRVC.CUSTOM_ATTRIBUTE_MASTER_EXIST | Custom attribute already exist. |
USRSRVC.CUSTOM_ATTRIBUTE_MASTER_NOT_FOUND | Custom attribute not found. |
USRSRVC.DUPLICATE_NAME | Duplicate name record already exist. |
USRSRVC.DUPLICATE_LABEL | Duplicate label record already exist. |
USRSRVC.ATTRIBUTE_RIGHTS_NOT_FOUND | Attribute rights not found. |
USRSRVC.REMOTE_GROUP_APPLICATION_NOT_FOUND | Application must present before assign user to remote group. |
USRSRVC.REMOTE_GROUP_NAME_NOT_MODIFIED_EXCEPTION | Remote group name not able to update |
USRSRVC.EMPTY_LOGIN | Something went wrong Please contact the administrator. |
USRSRVC.TOO_LARGE_FILE | File size should not be more than {size} |
USRSRVC.FORM_DEACTIVATED_EXCEPTION | Form is inactive |
USRSRVC.ACTION_NOT_SUPPORTED | This action is not supported |
AUTHSRVC.ACCESS_DENIED | Invalid Credentials. |
AUTHSRVC.TENANT_EXPIRED | Free trial expired. Please contact Cymmetri administrator. |
AUTHSRVC.UNKNOWN | Please contact system administrator. |
AUTHSRVC.INVALID_TOKEN | Token is invalid. |
AUTHSRVC.USER_NOT_FOUND | User not found. |
AUTHSRVC.CANT_SET_FALSE_DEFAULT_PASSWORD_POLICY | Default password policy cannot be false. |
AUTHSRVC.CONNECTION_FAILED | Connection failed. |
AUTHSRVC.CANT_DELETE_DEFAULT_PASSWORD_POLICY | Cannot delete default password policy. |
AUTHSRVC.INVALID_ARGUMENTS | Invalid argument. |
AUTHSRVC.INVALID_AUTH_POLICY_CONFIG | Invalid auth policy config. |
AUTHSRVC.ACCESS_DENIED_TOKEN | Session expired. Please login again |
AUTHSRVC.ADAPTIVE_BLOCK_ACTION | Action blocked. Please contact administrator. |
SESSION_EXPIRED | Session expired. Please refresh and try again |
AUTHSRVC.NON_REMOVABLE_REFERENCED_ENTITY | Cannot modify IDP configuration till active under Authentication Policy. |
AUTHSRVC.PASSWORD_POLICY_NAME_ALRAEDY_EXISTS | Password policy name already exists. |
AUTHSRVC.PASSWORD_POLICY_CONDITION_ALRAEDY_EXISTS | Policy Conditions already exists. |
AUTHSRVC.DEFAULT_POLICY_UPDATE_NOT_ALLOWED | Default password policy update not allowed. |
AUTHSRVC.PASSWORD_COMPOSITION_RULE_VIOLATION | Password provided does not match the required guidelines. |
AUTHSRVC.MOBILE_NOT_FOUND | Mobile number is not registered please contact Cymmetri Administrator. |
AUTHSRVC.ALREADY_EXISTS | Name already exist. Please enter unique name. |
AUTHSRVC.LDAP_ACCESS_DENIED | Access denied. |
AUTHSRVC.CLIENT_EXISTS | API Client with same name already configured. |
AUTHSRVC.USER_NOT_ACTIVE | Delegated user not active |
AUTHSRVC.INVALID_AUTH_CONFIG | Invalid auth config |
AUTHSRVC.PASSWORD_POLICY_NAME_ALREADY_EXISTS | Password policy name already exists. |
AUTHSRVC.TRUST_DEVICE_MAX_DEVICE_EXCEPTION | Exceeded device trust max limit |
AUTHSRVC.TRUST_DEVICE_EXPIRY_EXCEPTION | Exceeded expiration time for trust devices |
AUTHSRVC.MULTIPLE_TRUST_DEVICE_CONFIG | Multiple trust device configuration found |
AUTHSRVC.INVALID_GLOBAL_SESSION_CONFIGURATION | Invalid global auth configuration |
AUTHSRVC.MULTI_SESSION_ACCESS_DENIED | Session(s) already in progress. Logout from all sessions to continue. |
MFASRVC.UNKNOWN | Error. Please try again. |
MFASRVC.USER_NOT_FOUND | User not found. Please try again. |
MFASRVC.ALREADY_SENT_SMS_OTP | SMS OTP already sent. |
MFASRVC.INVALID_SMS_OTP | Invalid SMS OTP provided. |
MFASRVC.RESEND_COUNT_EXCEED | Allowed resend attempt exceed please try after some time |
MFASRVC.PUSH_NOTIFICATION_FAILED | Failed to send the push notification. Please try again later or contact Cymmetri Administrator. |
MFASRVC.MFA_CONFIG_NOT_FOUND | Multi Factor Authentication configuration not found. |
MFASRVC.INVALID_ARGUMENTS | Error. Invalid request. |
MFASRVC.QUESTION_NOT_FOUND | Question not found. |
MFASRVC.DUPLICATE_QUESTION | Question field is duplicate. Please try again. |
MFASRVC.INCORRECT_ANSWER | Answer field is incorrect. Please try again. |
MFASRVC.INVALID_USERID | Invalid User. Please try again. |
MFASRVC.INVALID_QUESTIONID | Question is invalid. Please try again. |
MFASRVC.USER_NOT_REGISTERED | User is not registered for TOTP/Push Authentication |
MFASRVC.EMPTY_QUESTION | Question field is empty. Please try again. |
MFASRVC.FAILED_MINIMUM_CORRECT_ANSWER | Please provide correct answer for each question. |
MFASRVC.INVALID_TOTP | Invalid Time based OTP provided. |
MFASRVC.INVALID_ANSWER | Answer field is invalid. Please try again. |
MFASRVC.QUESTION_NOT_REGISTERED | Question is not registered. |
MFASRVC.NON_REMOVABLE_QUESTION | Question in use and cannot be removed. |
MFASRVC.USER_RESPONSE_PENDING | User response is pending. |
MFASRVC.USER_DENIED_ACCESS | User denied access. |
MFASRVC.NOT_ABLE_TO_MODIFY | Not able to modify. Please try again |
MFASRVC.INVALID_ANSWER_LENGTH | Invalid answer length |
MFASRVC.DISPOSABLE_EMAIL |
|
MFASRVC.FIREHOL_IP_REPUTATION | Ip reputation sync failed |
MFASRVC.SYNC_PROCESS_RUNNING | Sync is in progress. Please wait |
MFASRVC.IMPOSSIBLE_TRAVEL_NOT_FOUND | Config not found |
MFASRVC.DEVICE_TRUST_NOT_FOUND | Config not found |
MFASRVC.BLACKLISTED_LOCATION_NOT_FOUND | Config not found |
MFASRVC.LOCATION_EMPTY |
|
MFASRVC.BLACKLISTED_IP_NOT_FOUND | Blacklisted IP not found |
MFASRVC.IP_ADDRESS_EMPTY |
|
MFASRVC.MFA_NOT_FOUND | MFA not found |
MFASRVC.INVALID_CONFIG | Invalid configuration |
MFASRVC.SERVICE_NOT_SUPPORTED |
|
MFASRVC.PLUGIN_REGISTRY_NOT_REGISTERED |
|
MFASRVC.BLACKLISTED_IPADDRESS_CONFIG_NOT_FOUND | Config not found |
MFASRVC.BLACKLISTED_LOCATION_CONFIG_NOT_FOUND | Config not found |
MFASRVC.IMPOSSIBLE_TRAVEL_CONFIG_NOT_FOUND | Config not found |
MFASRVC.BREACHED_PASSWORD_CONFIG_NOT_FOUND | Config not found |
MFASRVC.COUNTRY_CODE_MISMATCH_CONFIG_NOT_FOUND | Config not found |
MFASRVC.SHORT_LIVED_DOMAIN_CONFIG_NOT_FOUND | Config not found |
MFASRVC.USER_BEHAVIOUR_CONFIG_NOT_FOUND | Config not found |
MFASRVC.MULTIPLE_DEVICE_TRUST_FOUND | Multiple config found |
MFASRVC.COMMON_CREDENTIAL_DOWNLOAD_FAILED |
|
WKFLSRVC.UNKNOWN | Please contact system Administrator |
WKFLSRVC.WORKFLOW_NOT_FOUND | No workflow available |
WKFLSRVC.INVALID_ARGUMENTS | Please check input and try again. |
WKFLSRVC.INVALID_LEVEL | Workflow Config issue |
WKFLSRVC.EXCEEDED_REPORTING_MANAGER | Can not more than reporting manager |
WKFLSRVC.WORKFLOW_SETUP_NOT_FOUND | No workflow config available |
WKFLSRVC.REQUESTOR_NOT_FOUND | Requestor not found in the system. |
WKFLSRVC.WORKFLOW_IN_PROGESS | Request is pending for approval. |
WKFLSRVC.REPORTING_MANAGER_NOT_FOUND | Please assign approver's manager to complete workflow. |
WKFLSRVC.LEVEL_NOT_IN_RANGE | Workflow level is not in range. |
WKFLSRVC.WORKFLOW_SETUP_ALREADY_EXISTS | Workflow setup already exists. |
WKFLSRVC.COMMON_REQ_ASSG_ID | Self-approval is not allowed Please contact the administrator for the reassignment. |
WKFLSRVC.SAME_REQUESTOR_ASSIGNEE | Workflow cannot be assigned to same user. |
WKFLSRVC.WORKFLOW_ALREADY_EXISTS | Workflow with same name already exists. |
WKFLSRVC.DAYS_THRESHOLD_EXCEED_EXCEPTION | Max allowed TAT is {maxAllowedDays} days |
WKFLSRVC.DELEGATE_COMMON_REQ_ASSG_ID | Approver and assignee can't be same. |
WKFLSRVC.APPLICATION_DECOMMISSIONED | This application is decommissioned so the request can not be approved/rejected please refresh the page. |
SSOCONFIGSRVC.UNKNOWN | Error. Please try again. |
SSOCONFIGSRVC.SSO_CONFIG_NOT_FOUND | SSO config not found. |
SSOCONFIGSRVC.SAML_CONFIG_NOT_FOUND | Saml config not found. |
SSOCONFIGSRVC.OPENID_CLIENT_NOT_FOUND | OpenID config not found. |
SSOCONFIGSRVC.DUPLICATE_OPENID_CLIENT_ID | Duplicate OpenID Client ID. |
SSOCONFIGSRVC.API_CONFIG_NOT_FOUND | API config not found. |
SSOCONFIGSRVC.INVALID_ARGUMENTS | Invalid Arguments. |
SSOCONFIGSRVC.INVALID_CIDR | Not all CIDR are valid |
SSOCONFIGSRVC.UNSUPPORTED_FILE_TYPE | Unsupported File Type |
SSOCONFIGSRVC.ERROR_GENERATING_KEYS | Failed to generate keys. |
SSOCONFIGSRVC.CERTIFICATE_PARSING_ERROR | Failed to read certificate. Please try again. |
SSOCONFIGSRVC.ERROR_DEACTIVATING_KEYS | Failed to deactivate key. Please try again. |
SSOCONFIGSRVC.KEY_GENERATION_FAILED | Failed to generate keys. |
SSOCONFIGSRVC.METADATA_GENERATION_FAILED | Could not generate Metadata. |
SSOCONFIGSRVC.ALRAEDY_EXISTS | Configuration for same Entity ID already exists. |
SSOCONFIGSRVC.KEYS_CANNOT_BE_DISABLED | Key is being used in IDP or SP |
SSOCONFIGSRVC.KEY_DOES_NOT_EXISTS | No related key found |
SSOCONFIGSRVC.IDENTITY_PROVIDER_IS_DISABLED | Identity Provider is disabled |
SSOCONFIGSRVC.DUPLICATE_POLICY_MAPPING | Policy mapping already exists |
SSOCONFIGSRVC.USER_DOES_NOT_HAVE_ACCESS | User does not have access |
SSOCONFIGSRVC.KEYS_IS_DISABLED | Keys Disabled |
SSOCONFIGSRVC.IDENTITY_PROVIDER_DOES_NOT_EXISTS | Identity Provider does not exist |
SSOCONFIGSRVC.IDENTITY_PROVIDER_KEY_IS_DISABLED | Identity Provider key disabled |
SSOCONFIGSRVC.SERVICE_PROVIDER_IS_DISABLED | Service Provider disabled |
SSOCONFIGSRVC.IDENTITY_PROVIDER_ALREADY_ENABLED | Identity Provider already enabled |
SSOCONFIGSRVC.IDENTITY_PROVIDER_CANNOT_BE_DISABLED | Identity Provider can not be disabled |
SSOCONFIGSRVC.KEYS_ALREADY_EXISTS | Keys already exists |
SSOCONFIGSRVC.KEY_MINIMUM_EXPIRATION | Key Minimum expiration |
SSOCONFIGSRVC.SERVICE_PROVIDER_ENABLED | Service provider enabled |
SSOCONFIGSRVC.SERVICE_PROVIDER_DISABLED | Service provider disabled |
SSOCONFIGSRVC.KEY_IS_BEING_USED | Key already used |
SSOCONFIGSRVC.SERVICE_PROVIDER_CANNOT_BE_UPDATED | Service provider can not be updated |
SSOCONFIGSRVC.SERVICE_PROVIDER_IS_BEING_USED | Service provider is being used |
SSOCONFIGSRVC.INVALID_SAML_CONFIG | invalid saml configuration |
SSOCONFIGSRVC.NOT_FOUND | SSO cofiguration not found |
SSOCONFIGSRVC.CONNECTION_FAILED | SSO configuration connection failed |
SSOCONFIGSRVC.FORBIDDEN | SSO configuration forbidden |
SSOCONFIGSRVC.UNAUTHORIZED | SSO configuration unauthorized |
SSOCONFIGSRVC.CERTIFICATE_EXPIRED | SSO configuration certificate is expired |
SSOCONFIGSRVC.SAML_APP_CONFIG_NOT_FOUND | SSO configuration saml application configuration not found |
SSOCONFIGSRVC.SAML_ATTR_CONFIG_NOT_FOUND | SSO configuration saml attribute configuration not found |
SSOCONFIGSRVC.OPENID_SCOPE_NOT_FOUND | SSO configuration openid scope not found |
SSOCONFIGSRVC.OPENID_CLAIM_NOT_FOUND | SSO configuration openid claim not found |
SSOCONFIGSRVC.APPLICATION_NOT_FOUND | SSO configuration application not found |
SSOCONFIGSRVC.DUPLICATE_POLICYATTRIBUTE | SSO configuration policy attribute is duplicate |
SSOCONFIGSRVC.INVALID_POLICYATTRIBUTE_ID | SSO configuration policy attribute is invalid |
SSOCONFIGSRVC.INAVLID_POLICYATTRIBUTE_APPLICATION | SSO configuration policy attribute application is invalid |
SSOCONFIGSRVC.MANDATORY_ENTRY | SSO configuration policy field is mandatory |
SSOCONFIGSRVC.INVALID_POLICY_MAP | SSO configuration policy map is invalid |
SSOCONFIGSRVC.NO_MAPPING_FOUND | SSO configuration mapping is not found |
SSOCONFIGSRVC.IDENTITY_PROVIDER_DOES_EXISTS | SSO configuration identity provider does not exist |
SSOCONFIGSRVC.MULTIPLE_IDENTITY_PROVIDER_EXISTS | SSO configuration multiple identity provider exists |
SSOCONFIGSRVC.SERVICE_PROVIDER_EXISTS | SSO configuration service provider already exists |
SSOCONFIGSRVC.SERVICE_PROVIDER_DOES_NOT_EXISTS | Service provider does not exist |
SSOCONFIGSRVC.DOMAIN_EXISTS | Domain doesn't exists |
SAMLSRVC.KEY_DOES_NOT_EXISTS | Key doesn't exists |
SAMLSRVC.INVALID_COOKIE | Invalid session. Re-login and try again |
SAMLSRVC.IDENTITY_PROVIDER_IS_DISABLED | Identity Provider is disabled |
SAMLSRVC.EXPIRED_TOKEN | Session Expired. Please re-login and try again |
SAMLSRVC.KEYS_IS_DISABLED | Key is disabled |
SAMLSRVC.KEYS_IS_EXPIRED | Key is expired |
SAMLSRVC.KEYS_NOT_GENERATED | Public and private key is not generated |
SAMLSRVC.SAML_TYPE_NOT_APPLICABLE | SAML type configured and SAML type received mismatched |
SAMLSRVC.NAMEID_MISMATCH | SAML nameId configured and nameId received mismatched |
SAMLSRVC.INVALID_SAML2_AUTHN_REQUEST_SIGNATURE | SAML authentication request signature is invalid |
SAMLSRVC.ISSUE_INSTANT_MISMATCH | SAML authentication response is invalid with issue instant |
SAMLSRVC.MESSAGE_REPLAY | SAML message is being sent again |
SAMLSRVC.DESITNATION_MISMATCH | SAML destination configured and received mismatched |
SAMLSRVC.VERSION_MISMATCH | SAML version does not match |
SAMLSRVC.PROTOCOL_BINDING_MISMATCH | SAML protocol binding does not match |
SAMLSRVC.REQUEST_ISSUER_URI_MISMATCH | SAML request issuer uri does not match |
SAMLSRVC.ASSERTION_CONSUMER_SERVICE_URI_MISMATCH | SAML request assertion consumer service uri does not match |
SAMLSRVC.INVALID_USER_SESSION | SAML user session is invalid |
SAMLSRVC.USER_DOES_NOT_HAVE_ACCESS | User does not have access |
SAMLSRVC.IDENTITY_PROVIDER_DOES_NOT_EXISTS | Identity Provider does not exist |
SAMLSRVC.IDENTITY_PROVIDER_KEY_IS_DISABLED | Identity Provider key is disabled |
SAMLSRVC.SERVICE_PROVIDER_IS_DISABLED | Service Provider is disabled |
UTILSRVC.UNKNOWN | Error. Please try again. |
UTILSRVC.INVALID_ARGUMENTS | Error. Please correct input and try again. |
UTILSRVC.CONFIGURATION_EXIST | Hook already present. |
UTILSRVC.ALREADY_EXISTS | Hook already present. |
UTILSRVC.META_ATTRIBUTE_EXISTS | Name/Key or Value already exist. |
UTILSRVC.MODULES_ENQUIRY_EXIST | Sales team is working on your request. We will get back to you soon. |
UTILSRVC.LABEL_ALREADY_EXIST | Label Already Exists |
UTILSRVC.EVENT_ALREADY_EXIST | Event Already Exists |
UTILSRVC.BEHALF_CONFIG_NOT_FOUND | On Behalf configuration is not found. |
UTILSRVC.MULTIPLE_BEHALF_CONFIG_FOUND | Multiple Behalf configurations found. |
UTILSRVC.LENGTH_EXCEED_EXCEPTION | Length exceeded |
UTILSRVC.SCRIPT_CUSTOM_ERROR-MOBILEALREADYEXIST | Mobile number already in use Try again with another number. |
UTILSRVC.SCRIPT_CUSTOM_ERROR-EMAILALREADYEXIST | Email already in use Try again with another email. |
USRSRVC.FORM_NOT_FOUND | Form not found |
UTILSRVC.WEBHOOK_CALL_FAILED | Webhook test failed. |
UTILSRVC.BATCH_TASK_EXECUTION_FAILED | Batch process execution failed. |
UTILSRVC.BATCH_TASK_ALREADY_EXIST | Batch task already exists. |
PROVSRVC.UNKNOWN | Error. Please try again later or contact Cymmetri Administrator. |
PROVSRVC.USER_NOT_FOUND | User not found. |
PROVSRVC.INVALID_ARGUMENTS | Error. Please correct input and try again. |
PROVSRVC.APPLICATION_NOT_FOUND | Application not found. Please try again. |
PROVSRVC.INVALID_USER_ACTION | User action not allowed. Please check configuration. |
PROVSRVC.INVALID_GROUP_ACTION | Group action not allowed. Please check configuration. |
PROVSRVC.INVALID_ROLE_ACTION | Role action not allowed. Please check configuration. |
PROVSRVC.INAVLID_ACTION | Error. Please try again. |
PROVSRVC.UID_NOT_FOUND | Record not found. Please try again. |
PROVSRVC.Empty_Role_Id | Role not provided. Please try again. |
PROVSRVC.Duplicate_GroupID | Duplicate Group association. |
PROVSRVC.Invalid_GroupId | Invalid Group association. |
PROVSRVC.CONNECTOR_NOT_FOUND | Connector not available. Please contact Cymmetri administrator. |
PROVSRVC.UNSUPPORTED_OPERATION | Operation not supported. |
PROVSRVC.APPLICATION_ALREADY_EXISTS | Application already exists. |
PROVSRVC.INVALID_POLICYATTRIBUTE_ID | Invalid Policy configuration. Please try again. |
PROVSRVC.DUPLICATE_POLICYATTRIBUTE | Duplicate Policy attribute selected. |
PROVSRVC.INVALID_POLICY_MAP | Invalid Policy map. |
PROVSRVC.INVALID_MASTER_AAPPLICATION_Id | Invalid master application reference. |
PROVSRVC.NO_MAPPING_FOUND | Policy map not found. |
PROVSRVC.DUPLICATE_POLICY_MAPPING | Duplicate Policy mapping. |
PROVSRVC.INAVLID_POLICYATTRIBUTE_APPLICATION | Invalid Policy association. Please try again. |
PROVSRVC.PROVISIONING_NOT_ENABLE | Provisioning not enable |
PROVSRVC.DUPLICATE_ROLE | Role ID in use. Please try again. |
PROVSRVC.DUPPLICATE_NAME | Name already in use. |
PROVSRVC.IDENTITY_ALREADY_EXISTS_EXCEPTION | User principle is already checked Please reset and try again. |
PROVSRVC.IDENTITY_NOT_CHECKED_EXCEPTION | At least one user principle should be checked. |
RULESRVC.UNKNOWN | Error. Please try again. |
RULESRVC.RULE_NOT_FOUND | Rule not found. |
RULESRVC.RULE_CONDITION_NOT_FOUND | Rule condition not found. |
RULESRVC.RULE_ACTION_GROUP_NOT_FOUND | No group associated with rule. Please try again. |
RULESRVC.NON_REMOVABLE_REFERENCED_ENTITY | Cannot be modified as entity in use. |
RULESRVC.ALRAEDY_EXISTS | Rule with same name already exists. |
RULESRVC.RULE_CONFIGURE_ALREADY_EXIST | Rule with same condition configuration already exists. |
RULESRVC.MULTIPLE_ZONES_FOUND | Multiple zones found. |
RULESRVC.ZONE_NOT_FOUND | Zone not found. |
RULESRVC.INVALID_ARGUMENTS | Please correct the input and try again. |
RULESRVC.DEFAULT_RULE_NOT_FOUND | Default rule not found. |
IGSRVC.UNKNOWN | Error. Please try again. |
IGSRVC.INVALID_JWT | Error. Invalid JWT token. |
IGSRVC.CAMPAIGN_COMPLETION_PERIOD_EXCEED | Error. Campaign Completion Period Exceeded. |
IGSRVC.CAMPAIGN_STAGE_NOT_FOUND | Error. Campaign Stage Not Found. |
IGSRVC.CAMPAIGN_SCOPE_NOT_FOUND | Error. Campaign Scope Not Found. |
IGSRVC.CAMPAIGN_ALREADY_IN_DRAFT_STATE | Error. Campaign Already In Draft State. |
IGSRVC.CAMPAIGN_ALREADY_IN_PUBLISHED_STATE | Error. Campaign Already In Published State. |
IGSRVC.CAMPAIGN_EXECUTION_IN_PROGRESS | Error. Campaign Execution in Progress. |
IGSRVC.CAMPAIGN_ASSIGNMENT_NOT_FOUND | Error. Campaign Assignment Not Found. |
IGSRVC.CAMPAIGN_HISTORY_NOT_FOUND | Error. Campaign History Not Found. |
IGSRVC.UNABLE_TO_PROCESS_RESPONSE | Error. Unable To Process Response. |
IGSRVC.CAMPAIGN_ASSIGNMENT_APPLICATION_NOT_FOUND | Error. Campaign Assignment Application Not Found. |
IGSRVC.CAMPAIGN_ASSIGNMENT_APPLICATION_ROLE_NOT_FOUND | Error. Campaign Assignment Application Role Not Found. |
IGSRVC.APP_ROLE_ALREADY_PROCEED | Error. App Role Already Proceeded. |
IGSRVC.INACTIVE_USER_FOUND | Error. Inactive User Found. |
IGSRVC.NO_ACTIVE_EXECUTION_FOUND | Error. No Active Execution Found. |
IGSRVC.INVALID_CRON_EXPRESSION | Error. Invalid Cron Expression. |
IGSRVC.DUPLICATE_CAMPAIGNNAME | Error. Duplicate Campaign Name. |
IGSRVC.CAMPAIGN_NOT_FOUND | Campaign not found. |
IGSRVC.INVALID_ARGUMENTS | Error. Please correct input and try again. |
IGSRVC.CAMPAIGN_STATE_STARTED | Error. Campaign State Already Started. |
IGSRVC.STAGE_LIMIT_EXCEED | Error. Stage Limit Exceeded. |
IGSRVC.DUPLICATE_STAGE | Error. Duplicate Stage. |
IGSRVC.ASSIGNMENT_ALREADY_PROCEED | Error. Assignment Already Proceeded. |
IGSRVC.INVALID_CAMPAIGN_ITERATION | Invalid Campaign Iteration. |
IGSRVC.INVALID_CAMPAIGN_MANAGER_ASSIGNEE | Campaign manager or assignee configured in stages are not valid. |
IGSRVC.INVALID_CAMPAIGN_STATUS | Campaign execution in progress operation not allowed. |
IGSRVC.USER_WITH_NO_VALID_APPLICATION | No valid assignments found aborted execution. |
IGSRVC.CONNECTION_FAILED | Please check your internet connection. |
IGSRVC.ALRAEDY_EXISTS | Record already exists. |
IGSRVC.FORBIDDEN | Please contact system administrator. |
IGSRVC.UNAUTHORIZED | Please contact system administrator. |
IGPROCESS.UNKNOWN | Error. Please try again. |
IGPROCESS.INVALID_ARGUMENTS | Error. Please correct input and try again. |
IGPROCESS.CAMPAIGN_NOT_FOUND | Error. Campaign Not Found. |
IGPROCESS.NO_ACTIVE_EXECUTION_FOUND | Error. No Active Execution Found. |
IGPROCESS.CAMPAIGN_HISTORY_NOT_FOUND | Error. Campaign History Not Found. |
IGPROCESS.INVALID_CAMPAIGN_ITERATION | Error. Invalid Campaign Iteration. |
IGPROCESS.CAMPAIGN_EXECUTION_IN_PROGRESS | Error. Campaign Execution In Progress. |
IGPROCESS.MATCHING_ASSIGNMENTS_NOT_FOUND | Error. Matching Assignments Not Found. |
SCHEDULER.UNKNOWN | Error. Please try again. |
SCHEDULER.TASK_NOT_FOUND | Error. Task Not Found. |
SCHEDULER.TASK_NOT_ACTIVE | Error. Task Not Active. |
SCHEDULER.INVALID_ARGUMENTS | Error. Please correct input and try again. |
SCHEDULER.INVALID_START_DATE | Error. Invalid Start Date. |
SCHEDULER.TENANT_NOT_FOUND | Error. Tenant Not Found. |
SCHEDULER.UPDATE_NOT_SUPPORTED | Error. Update Is Not Supported. |
SCHEDULER.CRON_REPETITION_BELOW_ALLOWED_LIMIT | Error. Cron Repetition Is Below Allowed Limit. |
SCHEDULER.INVALID_CRON_EXPRESSION | Invalid Cron Expression. |
SODSRVC.ALREADY_EXISTS | Error. Value Already Exists. |
SODSRVC.INVALID_ARGUMENTS | Error. Please correct the input and try again. |
SAMLEXTIDPCONFIGSRVC.UNKNOWN | Error. Please try again. |
SAMLEXTIDPCONFIGSRVC.IDENTITY_PROVIDER_WITH_NAME_EXISTS | Idenity Provider with same name already exist. Please enter unique name. |
SAMLEXTIDPCONFIGSRVC.SERVICE_PROVIDER_WITH_NAME_EXISTS | Service Provider with same name already exists. |
SAMLEXTIDPCONFIGSRVC.NON_REMOVABLE_REFERENCED_ENTITY | Cannot modify or remove service provider till active under external identity policy or rule. |
SAMLEXTIDPCONFIGSRVC.INVALID_ARGUMENTS | Please correct the input and try again. |
SAMLEXTIDPCONFIGSRVC.CERTIFICATE_PARSING_ERROR | Error occurred while parsing certificate. |
SAMLEXTIDPCONFIGSRVC.AUTH_TYPE_CANNOT_BE_UPDATED | Identity provider type cannot be updated. |
SAMLEXTIDPCONFIGSRVC.CONNECTION_FAILED | Please check your internet connection. |
SAMLEXTIDPCONFIGSRVC.IDP_CONFIGURATION_NOT_FOUND | Identity provider configuration not found. |
SAMLEXTIDPCONFIGSRVC.MULTIPLE_IDP_CONFIGURATION_FOUND | Multiple identity provider configuration found. |
SAMLEXTIDPCONFIGSRVC.NAME_ID_POLICY_NAME_ID_VALUE_MISMATCH | NameIdPolicy and NameIdValue does not match. |
SAMLEXTIDPCONFIGSRVC.SP_CONFIGURATION_NOT_FOUND | Service provider configuration not found. |
SAMLEXTIDPCONFIGSRVC.UNAUTHORIZED | Please contact system administrator. |
SAMLEXTIDPCONFIGSRVC.SERVICE_PROVIDER_NOT_FOUND | Service provider not found. |
SAMLEXTIDPCONFIGSRVC.CERTIFICATE_NOT_FOUND | Certificate not found. |
SAMLEXTIDPCONFIGSRVC.EAMIL_EXISTS | Email already exists. |
SAMLEXTIDPCONFIGSRVC.CUSTOM_IDENTITY_TYPE_MUST_HAVE_ID | Custom identity type must have ID. |
SAMLEXTIDPCONFIGSRVC.INACTIVE_CONFIGURATION_FOUND | Inactive configuration found. |
SAMLEXTIDPCONFIGSRVC.INVALID_IDP_CONFIGURED | Invalid IDP configured. |
SAMLEXTIDPCONFIGSRVC.NO_MAPPING_FOUND | No mapping found. |
SAMLEXTIDPCONFIGSRVC.INVALID_POLICY_MAPPING | Invalid policy mapping. |
SAMLEXTIDPCONFIGSRVC.POLICY_MAP_REQUIRED_FIELD_NOT_FOUND | Policy map required field not found. |
SAMLEXTIDPCONFIGSRVC.MANDATORY_FIELD_EXCEPTION | Mandatory field exception. |
SAMLEXTIDPCONFIGSRVC.MAPPING_ALREADY_EXISTS | Mapping already exists. |
SAMLEXTIDPCONFIGSRVC.JIT_CONFIGURATION_NOT_FOUND | JIT configuration not found. |
USRSRVC.INVALID_EXTENSION_ENDDATE | Extended end date should be less than current access end date. |
MFASRVC.SMS_OTP_EXPIRED | SMS OTP expired. |
MFASRVC.SHORT_ANSWER_LENGTH | Answer length is short. |
MFASRVC.DEVICE_INFO_NOT_FOUND | Please scan the QR code. |
AUTHSRVC.USER_LOCKED | User locked. Please Unlock your Account. |
AUTHSRVC.EMAIL_NOT_FOUND | Email not found. |
AUTHSRVC.INVALID_USER_ACCOUNT_STATE | Your account is expired/inactive. Please contact Cymmetri Administrator |
AUTHSRVC.INVALID_DATE | Start/End date should be greater than current date and time. |
AUTHSRVC.DELEGATE_CONSENT_NOT_FOUND | Error. Delegate consent not found. |
AUTHSRVC.DELEGATE_USER_NOT_FOUND | Error. User doesn't have delegation access. |
AUTHSRVC.NO_OPTION_AVAILABLE | Please contact Cymmetri Administrator for Password Reset. |
AUTHSRVC.DELEGATION_DEACTIVATE | Error. Delegation is inactive. |
AUTHSRVC.PASSWORD_EXPIRED | Your password has expired Please reset your password. |
PROVSRVC.UNSUPPORTED_DELEGETE_MFA_SETUP | Delegatee can't setup MFA for application having additional authentication |
PAMSRVC.UNSUPPORTED_DELEGETE_MFA_SETUP | Delegatee can't setup MFA for application having additional authentication |
SLFSRVC.EXISITNG_APP_IN_TAG_FOUND | Application already available in tag. |
AD-ADAPTER.FAILED_TO_PWD_CHANGE | Password change failed. |
AUTHSRVC.INVALID_CONFIG | Invalid config for authentication policy or rule |
PROVSRVC.UNAUTHORIZED | Unauthorized access. |
REGSRVC.UNAUTHORIZED | Unauthorized access. |
MFASRVC.INVALID_MFA_OTP_CONFIG | Invalid Otp config please contact admin |
MFASRVC.EMAIL_NOT_FOUND | Email not registered please contact admin |
MFASRVC.MOBILE_NOT_FOUND | Mobile not registered please contact admin |
MFASRVC.EMAIL_MOBILE_NOT_FOUND | Mobile or email not registered please contact admin |
MFASRVC.LARGE_ANSWER_LENGTH | Maximum answer lenght exceeded try with shorter length answer |
SLFSRVC.EXISITNG_USER_TAG_FOUND | Tag with same name already exists |
SLFSRVC.IMAGE_MAXSIZE_EXCEEDED | Maximum limit for file size exceeded. |
SLFSRVC.IMAGE_TYPE_NOTALLOWED | Image Type not allowed |
SLFSRVC.INVALID_ARGUMENTS | Invalid Arguments |
REPORT.EMAIL_NOT_EXISTS_EXCEPTION | User Email Not Found. Please contact cymmetri administrator. |
REPORT.CONNECTION_FAILED | Failed to send report. |
SOME_ERROR_OCCURRED_WORKING_ON_IT | Please contact cymmetri administrator. |
INVALID_IDENTITY_PROVIDER_STATUS | Invalid Identity Provider Status. Please contact cymmetri administrator. |
INVALID_ARGUMENTS | Please correct Input and try again. Please contact cymmetri administrator. |
INVALID_SERVICE_PROVIDER_STATUS | Invalid Service Provider Status. Please contact cymmetri administrator. |
MANDATORY_FIELD_EXCEPTION | Mandatory Field is Missing. Please contact cymmetri administrator. |
TENANT_OR_HOST_NOT_RECEIVED_FROM_NGINX | Please contact cymmetri administrator. |
TENANT_OR_HOST_PROTO_NOT_RECEIVED_FROM_NGINX | Please contact cymmetri administrator. |
SOME_IMPERSONATE_ACCESS | Unauthorized Access. Please contact cymmetri administrator. |
SERVICE_PROVIDER_INBOUND_MESSAGE_ERROR | Invalid SAML Message Received. Please contact cymmetri administrator. |
INVALID_SAML_RESPONSE_ASSERTION_VERSION | Invalid SAML Response Assertion version. Please contact cymmetri administrator. |
INVALID_SAML_RESPONSE_ISSUE_INSTANT | Invalid SAML Response Issue. Please contact cymmetri administrator. |
INVALID_SAML_RESPONSE_STATUS | Invalid SAML Response Status. Please contact cymmetri administrator. |
INVALID_SAML_RESPONSE_STATUS_REQUESTER_URI | Invalid SAML Response Status Requester URI. Please contact cymmetri administrator. |
INVALID_SAML_RESPONSE_STATUS_RESPONDER_URI | Invalid SAML Response Status Response URI. Please contact cymmetri administrator. |
INVALID_SAML_RESPONSE_STATUS_VERSION_MISMATCH_URL | Invalid SAML Response Status Version Mismatch URI. Please contact cymmetri administrator. |
INVALID_SAML_RESPONSE | Invalid SAML Response. Please contact cymmetri administrator. |
INVALID_SAML_RESPONSE_DESTINATION | Invalid SAML Response Destination. Please contact cymmetri administrator. |
INVALID_SAML_RESPONSE_VERSION_OR_ASSERTION_VERSION | Invalid SAML Response Version or Assertion Version. Please contact cymmetri administrator. |
INVALID_SAML_RESPONSE_ASSERTION_SUBJECT | Invalid SAML Response Assertion Subject. Please contact cymmetri administrator. |
INVALID_SAML_RESPONSE_ASSERTION_SUBJECT_NAMEID | Invalid SAML Response Assertion Subject NameId. Please contact cymmetri administrator. |
INVALID_SAML_RESPONSE_ASSERTION_ISSUER | Invalid SAML Response Assertion Issuer. Please contact cymmetri administrator. |
INVALID_SAML_RESPONSE_ASSERTION_CONDITION_AUDIENCE | Invalid SAML Response Assertion Condition Audience. Please contact cymmetri administrator. |
INVALID_SAML_RESPONSE_ASSERTION_AUTHNSTATEMENT | Invalid SAML Response Assertion AuthNStatement. Please contact cymmetri administrator. |
INVALID_SAML_RESPONSE_ASSERTION_ATTRIBUTE | Invalid SAML Response Assertion Attribute. Please contact cymmetri administrator. |
MULTIPLE_ASSERTIONS_IN_RESPONSE_NOT_SUPPORTED | Multiple Assertion in Response Not Supported. Please contact cymmetri administrator. |
INVALID_SAML_RESPONSE_ASSERTION_SIGNATURE | Invalid SAML Response Assertion Signature. Please contact cymmetri administrator. |
INVALID_SAML_RESPONSE_SIGNATURE | Invalid SAML Response Signature. Please contact cymmetri administrator. |
INVALID_SAML_RESPONSE_ASSERTION_CONDITION | Invalid SAML Response Assertion Condition. Please contact cymmetri administrator. |
INVALID_SAML_RESPONSE_ASSERTION | Invalid SAML Response Assertion. Please contact cymmetri administrator. |
INVALID_SAML_RESPONSE_ISSUER | Invalid SAML Response Issuer. Please contact cymmetri administrator. |
IDP_CONFIGURATION_NOT_FOUND | Idp Configuration Not Found. Please contact cymmetri administrator. |
SP_ID_IDP_ID_LOGIN_EMPTY | Service provider or identity provider login not provided. Please contact cymmetri administrator. |
SERVICE_PROVIDER_CONFIGURATION_NOT_FOUND | Service Provider Configuration Not Found. Please contact cymmetri administrator. |
ERROR_BUILDING_SAML_AUTHN_REQUEST | Failed To Build SAML Authentication Request. Please contact cymmetri administrator. |
ERROR_PERSISTING_SAML_AUTHN_REQUEST | Failed To Persist SAML Authentication Request. Please contact cymmetri administrator. |
ERROR_SENDING_SAML_AUTHN_REQUEST | Failed to Send SAML Authentication Request. Please contact cymmetri administrator. |
USER_EMAIL_ADDRESS_NOT_PRESENT | User Email Not Found. Please contact cymmetri administrator. |
USER_LOGIN_NOT_PRESENT | User Login Not Found. Please contact cymmetri administrator. |
EMAIL_ADDRESS_DOES_NOT_MATCH | Email Address does not matching. Please contact cymmetri administrator. |
LOGIN_DOES_NOT_MATCH | Login does not match. Please contact cymmetri administrator. |
USER_NOT_AVAILABLE | User is not present. Please contact cymmetri administrator. |
SERVICE_PROVIDER_NOT_FOUND | Service provider is not found. Please contact cymmetri administrator. |
UNAUTHORIZED_ACCESS | Unauthorized Access. Please contact cymmetri administrator. |
UNAUTHORIZED | Unauthorized Access. Please contact cymmetri administrator. |
USER_NOT_FOUND | User Not found. Please contact cymmetri administrator. |
DATA_NOT_PRESENT | Application configuration does not exist. Please contact cymmetri administrator. |
ARGUMENT_IS_REQUIRED | Please correct Input and try again. Please contact cymmetri administrator. |
APPLICATION_CONFIG_EXISTS | Application Configuration already exists. Please contact cymmetri administrator. |
APPLICATION_CONFIG_NOT_PRESENT | Application configuration does not exists. Please contact cymmetri administrator. |
INVALID_TOKEN | Invalid token Please contact cymmetri administrator. |
TENANT_NOT_FOUND | Tenant detail not availaible. Please contact cymmetri administrator. |
INVALID_APPLICATION_ID | Invalid application id. Please contact cymmetri administrator. |
APPLICATION_WITH_ISSUER_NOT_FOUND | Application configuration with issuer not found. Please contact cymmetri administrator. |
EXCEPTION_OCCURED_WITH_TENANT_JKS | Please contact cymmetri administrator. |
EXCEPTION_OCCURED_WITH_TENANT_JKS_KEY_GENERATE | Please contact cymmetri administrator. |
APPLICATION_NOT_ASSIGNED_TO_USER | Application is not assigned to the user. Please contact cymmetri administrator. |
USER_NOT_ASSIGNED_SERVICE_PROVIDER_ERROR | User is not assigned to the service provider. Please contact cymmetri administrator. |
SOMETHING_WENT_WRONG | Please contact cymmetri administrator. |
SERVICE_PROVIDER_NAMEIDVALUE_MISMATCH_ERROR | Service provider nameId value does not match with configured application. Please contact cymmetri administrator. |
SERVICE_PROVIDER_NAMEID_MISMATCH_ERROR | Service provider nameId value does not match with configured application. Please contact cymmetri administrator. |
TENANT_HOST_NOT_FOUND | Please contact cymmetri administrator. |
APPLICATION_CONFIG_NOT_FOUND | Application Configuration not found. Please contact cymmetri administrator. |
SAMLREQUEST_NOT_PRESENT_IN_REQUEST | SAML Request is not present in Request. Please contact cymmetri administrator. |
CONFIGURED_REQUEST_ISSUER_AND_SAML_REQUEST_NOT_ISSUER_NOT_MATCH | Application issuer Configuration does not match. Please contact cymmetri administrator. |
INVALID_REQUEST_ISSUER | Invalid Request Issuer. Please contact cymmetri administrator. |
IDENTITY_TOKEN_SAML_REQUEST_NOT_FOUND | Invalid Identity SAML Request Token. Please contact cymmetri administrator. |
IDENTITY_REFRESH_SAML_REQUEST_NOT_FOUND | Invalid Refresh SAML Request Token. Please contact cymmetri administrator. |
USER_NOT_ASSIGNED_TO_APPLICATION | User is not associated with the application. Please contact cymmetri administrator. |
SSO_ERROR_SENDING_SAML_RESPONSE | Error Sending SAML Response. Please contact cymmetri administrator. |
SSO_CONFIG_NOT_FOUND_APPLICATION_ID | SSO configuration not found for application. Please contact cymmetri administrator. |
SSO_USER_NOT_FOUND | SSO user found for application. Please contact cymmetri administrator. |
INTERNAL_SERVER_ERROR | Please contact cymmetri administrator. |
IDP_SSO_JKS_MANAGER_FAILED | Please contact cymmetri administrator. |
IDP_SSO_CUSTOM_JKS_FAILED | Please contact cymmetri administrator. |
IDP_SSO_FAILED | SSO failed for identity provider. Please contact cymmetri administrator. |
SERVICE_PROVIDER_SESSION_NOT_FOUND | Service provider session not availaible. Please contact cymmetri administrator. |
INVALID_SP_INITIATED_REQUEST | Invalid service provider request. Please contact cymmetri administrator. |
ERROR_PARSING_SAML_SLO | Error validating saml slo request. Please contact cymmetri administrator. |
SERVICE_PROVIDER_ERROR | Failed with service provider. Please contact cymmetri administrator. |
EXPIRED_REFRESH_TOKEN | Refresh token is expired. Please contact cymmetri administrator. |
INVALID_REFRESH_TOKEN | Invalid refresh token. Please contact cymmetri administrator. |
EMPTY_REFRESH_TOKEN | Empty refresh token. Please contact cymmetri administrator. |
REFRESH_TOKEN_COOKIE_NOT_PRESENT | Refresh token cookie not present. Please contact cymmetri administrator. |
APPLICATION_ID_NOT_PRESENT_IN_CONFIG | Application id not present. Please contact cymmetri administrator. |
APPLICATION_ID_NOT_PRESENT_IN_REQUEST | Application id is not present in request Please contact cymmetri administrator. |
EXPIRED_SSO_IDENTITY_TOKEN | SSO identity token is expired. Please contact cymmetri administrator. |
EMPTY_SSO_IDENTITY_TOKEN | SSO identity token is invalid. Please contact cymmetri administrator. |
REQUEST_ISSUER_FROM_SAML_REQUEST_NOT_PRESNETTITY_TOKEN | Request issuer is not present in saml request. Please contact cymmetri administrator. |
INVALID_SSO_IDENTITY_TOKEN | Invalid SSO identity token. Please contact cymmetri administrator. |
IDP_SLO_FAILED | Identity provider single logout failed. Please contact cymmetri administrator. |
BUILD_SLO_REQUEST_FAILED | Build to failed single logout request. Please contact cymmetri administrator. |
SLO_REQUEST_SEND_FAILED | Failed to send single logout request. Please contact cymmetri administrator. |
SLO_RESPONSE_SEND_FAILED | Failed to send single logout response. Please contact cymmetri administrator. |
ERROR_PERSISTING_SLO_REQUEST | Failed to persist single logout request. Please contact cymmetri administrator. |
SLO_RESPONSE_SAML_ATTRIBUTE_VALIDATION_FAILED | Failed to validate single logout response attribute. Please contact cymmetri administrator. |
INVALID_SAML_SLO_RESPONSE | Invalid saml single logout response. Please contact cymmetri administrator. |
INVALID_SAML_SLO_MESSAGE | Invalid saml single logout message. Please contact cymmetri administrator. |
SLO_REQUEST_VALIDATION_FAILED | Failed to validate single logout request. Please contact cymmetri administrator. |
SLO_RESPONSE_VALIDATION_FAILED | Failed to validate single logout response. Please contact cymmetri administrator. |
REMOVE_USER_BEFORE_APPLICATION | Users should get removed before removing the application. |
PROVSRVC.REMOVE_USER_BEFORE_APPLICATION | Users should get removed before removing the application. |
PAMSRVC.INVALID_ARGUMENTS | AD Parameter not found |
PAMSRVC.IMPORT_DATA_TO_CSV_FILE_FAILED | CSV file not generated |
PAMSRVC.UPDATE_AD_USER_PASSWORD_FAILED | Password update fail |
PAMSRVC.VAULT_USER_ALREADY_AVAILABLE | Vault user already exist |
PAMSRVC.BREAK_GLASS_NOT_FOUND | Break Glass Configuration Not Found |
PAMSRVC.SERVER_ALREADY_EXISTS | Device Already Exists |
DORMANCY_DISABLE_DAYS_EXCEEDED | Config days exceeded |
PAMSRVC.DORMANCY_DISABLE_DAYS_EXCEEDED | Config days exceeded |
SAMLSPSRVC.SOME_ERROR_OCCURRED_WORKING_ON_IT | Please contact cymmetri administrator. |
SAMLSPSRVC.INVALID_IDENTITY_PROVIDER_STATUS | Invalid Identity Provider Status. Please contact cymmetri administrator. |
SAMLSPSRVC.INVALID_ARGUMENTS | Please correct Input and try again. Please contact cymmetri administrator. |
SAMLSPSRVC.INVALID_SERVICE_PROVIDER_STATUS | Invalid Service Provider Status. Please contact cymmetri administrator. |
SAMLSPSRVC.MANDATORY_FIELD_EXCEPTION | Mandatory Field is Missing. Please contact cymmetri administrator. |
SAMLSPSRVC.TENANT_OR_HOST_NOT_RECEIVED_FROM_NGINX | Please contact cymmetri administrator. |
SAMLSPSRVC.TENANT_OR_HOST_PROTO_NOT_RECEIVED_FROM_NGINX | Please contact cymmetri administrator. |
SAMLSPSRVC.SOME_IMPERSONATE_ACCESS | Unauthorized Access. Please contact cymmetri administrator. |
SAMLSPSRVC.SERVICE_PROVIDER_INBOUND_MESSAGE_ERROR | Invalid SAML Message Received. Please contact cymmetri administrator. |
SAMLSPSRVC.INVALID_SAML_RESPONSE_ASSERTION_VERSION | Invalid SAML Response Assertion version. Please contact cymmetri administrator. |
SAMLSPSRVC.INVALID_SAML_RESPONSE_ISSUE_INSTANT | Invalid SAML Response Issue. Please contact cymmetri administrator. |
SAMLSPSRVC.INVALID_SAML_RESPONSE_STATUS | Invalid SAML Response Status. Please contact cymmetri administrator. |
SAMLSPSRVC.INVALID_SAML_RESPONSE_STATUS_REQUESTER_URI | Invalid SAML Response Status Requester URI. Please contact cymmetri administrator. |
SAMLSPSRVC.INVALID_SAML_RESPONSE_STATUS_RESPONDER_URI | Invalid SAML Response Status Response URI. Please contact cymmetri administrator. |
SAMLSPSRVC.INVALID_SAML_RESPONSE_STATUS_VERSION_MISMATCH_URL | Invalid SAML Response Status Version Mismatch URI. Please contact cymmetri administrator. |
SAMLSPSRVC.INVALID_SAML_RESPONSE | Invalid SAML Response. Please contact cymmetri administrator. |
SAMLSPSRVC.INVALID_SAML_RESPONSE_DESTINATION | Invalid SAML Response Destination. Please contact cymmetri administrator. |
SAMLSPSRVC.INVALID_SAML_RESPONSE_VERSION_OR_ASSERTION_VERSION | Invalid SAML Response Version or Assertion Version. Please contact cymmetri administrator. |
SAMLSPSRVC.INVALID_SAML_RESPONSE_ASSERTION_SUBJECT | Invalid SAML Response Assertion Subject. Please contact cymmetri administrator. |
SAMLSPSRVC.INVALID_SAML_RESPONSE_ASSERTION_SUBJECT_NAMEID | Invalid SAML Response Assertion Subject NameId. Please contact cymmetri administrator. |
SAMLSPSRVC.INVALID_SAML_RESPONSE_ASSERTION_ISSUER | Invalid SAML Response Assertion Issuer. Please contact cymmetri administrator. |
SAMLSPSRVC.INVALID_SAML_RESPONSE_ASSERTION_CONDITION_AUDIENCE | Invalid SAML Response Assertion Condition Audience. Please contact cymmetri administrator. |
SAMLSPSRVC.INVALID_SAML_RESPONSE_ASSERTION_AUTHNSTATEMENT | Invalid SAML Response Assertion AuthNStatement. Please contact cymmetri administrator. |
SAMLSPSRVC.INVALID_SAML_RESPONSE_ASSERTION_ATTRIBUTE | Invalid SAML Response Assertion Attribute. Please contact cymmetri administrator. |
SAMLSPSRVC.MULTIPLE_ASSERTIONS_IN_RESPONSE_NOT_SUPPORTED | Multiple Assertion in Response Not Supported. Please contact cymmetri administrator. |
SAMLSPSRVC.INVALID_SAML_RESPONSE_ASSERTION_SIGNATURE | Invalid SAML Response Assertion Signature. Please contact cymmetri administrator. |
SAMLSPSRVC.INVALID_SAML_RESPONSE_SIGNATURE | Invalid SAML Response Signature. Please contact cymmetri administrator. |
SAMLSPSRVC.INVALID_SAML_RESPONSE_ASSERTION_CONDITION | Invalid SAML Response Assertion Condition. Please contact cymmetri administrator. |
SAMLSPSRVC.INVALID_SAML_RESPONSE_ASSERTION | Invalid SAML Response Assertion. Please contact cymmetri administrator. |
SAMLSPSRVC.INVALID_SAML_RESPONSE_ISSUER | Invalid SAML Response Issuer. Please contact cymmetri administrator. |
SAMLSPSRVC.IDP_CONFIGURATION_NOT_FOUND | Idp Configuration Not Found. Please contact cymmetri administrator. |
SAMLSPSRVC.SP_ID_IDP_ID_LOGIN_EMPTY | Service provider or identity provider login not provided. Please contact cymmetri administrator. |
SAMLSPSRVC.SERVICE_PROVIDER_CONFIGURATION_NOT_FOUND | Service Provider Configuration Not Found. Please contact cymmetri administrator. |
SAMLSPSRVC.ERROR_BUILDING_SAML_AUTHN_REQUEST | Failed To Build SAML Authentication Request. Please contact cymmetri administrator. |
SAMLSPSRVC.ERROR_PERSISTING_SAML_AUTHN_REQUEST | Failed To Persist SAML Authentication Request. Please contact cymmetri administrator. |
SAMLSPSRVC.ERROR_SENDING_SAML_AUTHN_REQUEST | Failed to Send SAML Authentication Request. Please contact cymmetri administrator. |
SAMLSPSRVC.USER_EMAIL_ADDRESS_NOT_PRESENT | User Email Not Found. Please contact cymmetri administrator. |
SAMLSPSRVC.USER_LOGIN_NOT_PRESENT | User Login Not Found. Please contact cymmetri administrator. |
SAMLSPSRVC.EMAIL_ADDRESS_DOES_NOT_MATCH | Email Address does not matching. Please contact cymmetri administrator. |
SAMLSPSRVC.LOGIN_DOES_NOT_MATCH | Login does not match. Please contact cymmetri administrator. |
SAMLSPSRVC.USER_NOT_AVAILABLE | User is not present. Please contact cymmetri administrator. |
SAMLSPSRVC.SERVICE_PROVIDER_NOT_FOUND | Service provider is not found. Please contact cymmetri administrator. |
SAMLSPSRVC.UNAUTHORIZED_ACCESS | Unauthorized Access. Please contact cymmetri administrator. |
SAMLSPSRVC.UNAUTHORIZED | Unauthorized Access. Please contact cymmetri administrator. |
SAMLSPSRVC.USER_NOT_FOUND | User Not found. Please contact cymmetri administrator. |
SAMLSRVC.SOME_ERROR_OCCURRED_WORKING_ON_IT | Please contact cymmetri administrator. |
SAMLSRVC.DATA_NOT_PRESENT | Application configuration does not exist. Please contact cymmetri administrator. |
SAMLSRVC.ARGUMENT_IS_REQUIRED | Please correct Input and try again. Please contact cymmetri administrator. |
SAMLSRVC.APPLICATION_CONFIG_EXISTS | Application Configuration already exists. Please contact cymmetri administrator. |
SAMLSRVC.APPLICATION_CONFIG_NOT_PRESENT | Application configuration does not exists. Please contact cymmetri administrator. |
SAMLSRVC.INVALID_TOKEN | Invalid token Please contact cymmetri administrator. |
SAMLSRVC.TENANT_NOT_FOUND | Tenant detail not availaible. Please contact cymmetri administrator. |
SAMLSRVC.INVALID_APPLICATION_ID | Invalid application id. Please contact cymmetri administrator. |
SAMLSRVC.APPLICATION_WITH_ISSUER_NOT_FOUND | Application configuration with issuer not found. Please contact cymmetri administrator. |
SAMLSRVC.EXCEPTION_OCCURED_WITH_TENANT_JKS | Please contact cymmetri administrator. |
SAMLSRVC.EXCEPTION_OCCURED_WITH_TENANT_JKS_KEY_GENERATE | Please contact cymmetri administrator. |
SAMLSRVC.APPLICATION_NOT_ASSIGNED_TO_USER | Application is not assigned to the user. Please contact cymmetri administrator. |
SAMLSRVC.TENANT_OR_HOST_PROTO_NOT_RECEIVED_FROM_NGINX | Please contact cymmetri administrator. |
SAMLSRVC.USER_NOT_ASSIGNED_SERVICE_PROVIDER_ERROR | User is not assigned to the service provider. Please contact cymmetri administrator. |
SAMLSRVC.SOMETHING_WENT_WRONG | Please contact cymmetri administrator. |
SAMLSRVC.SERVICE_PROVIDER_NAMEIDVALUE_MISMATCH_ERROR | Service provider nameId value does not match with configured application. Please contact cymmetri administrator. |
SAMLSRVC.SERVICE_PROVIDER_NAMEID_MISMATCH_ERROR | Service provider nameId value does not match with configured application. Please contact cymmetri administrator. |
SAMLSRVC.TENANT_HOST_NOT_FOUND | Please contact cymmetri administrator. |
SAMLSRVC.TENANT_OR_HOST_NOT_RECEIVED_FROM_NGINX | Please contact cymmetri administrator. |
SAMLSRVC.APPLICATION_CONFIG_NOT_FOUND | Application Configuration not found. Please contact cymmetri administrator. |
SAMLSRVC.SAMLREQUEST_NOT_PRESENT_IN_REQUEST | SAML Request is not present in Request. Please contact cymmetri administrator. |
SAMLSRVC.CONFIGURED_REQUEST_ISSUER_AND_SAML_REQUEST_NOT_ISSUER_NOT_MATCH | Application issuer Configuration does not match. Please contact cymmetri administrator. |
SAMLSRVC.INVALID_REQUEST_ISSUER | Invalid Request Issuer. Please contact cymmetri administrator. |
SAMLSRVC.IDENTITY_TOKEN_SAML_REQUEST_NOT_FOUND | Invalid Identity SAML Request Token. Please contact cymmetri administrator. |
SAMLSRVC.IDENTITY_REFRESH_SAML_REQUEST_NOT_FOUND | Invalid Refresh SAML Request Token. Please contact cymmetri administrator. |
SAMLSRVC.USER_NOT_ASSIGNED_TO_APPLICATION | User is not associated with the application. Please contact cymmetri administrator. |
SAMLSRVC.SSO_ERROR_SENDING_SAML_RESPONSE | Error Sending SAML Response. Please contact cymmetri administrator. |
SAMLSRVC.SSO_CONFIG_NOT_FOUND_APPLICATION_ID | SSO configuration not found for application. Please contact cymmetri administrator. |
SAMLSRVC.SSO_USER_NOT_FOUND | SSO user found for application. Please contact cymmetri administrator. |
SAMLSRVC.INTERNAL_SERVER_ERROR | Please contact cymmetri administrator. |
SAMLSRVC.IDP_SSO_JKS_MANAGER_FAILED | Please contact cymmetri administrator. |
SAMLSRVC.IDP_SSO_CUSTOM_JKS_FAILED | Please contact cymmetri administrator. |
SAMLSRVC.IDP_SSO_FAILED | SSO failed for identity provider. Please contact cymmetri administrator. |
SAMLSRVC.SERVICE_PROVIDER_SESSION_NOT_FOUND | Service provider session not availaible. Please contact cymmetri administrator. |
SAMLSRVC.INVALID_ARGUMENTS | Please correct input and try again. Please contact cymmetri administrator. |
SAMLSRVC.INVALID_SP_INITIATED_REQUEST | Invalid service provider request. Please contact cymmetri administrator. |
SAMLSRVC.ERROR_PARSING_SAML_SLO | Error validating saml slo request. Please contact cymmetri administrator. |
SAMLSRVC.SERVICE_PROVIDER_ERROR | Failed with service provider. Please contact cymmetri administrator. |
SAMLSRVC.EXPIRED_REFRESH_TOKEN | Refresh token is expired. Please contact cymmetri administrator. |
SAMLSRVC.INVALID_REFRESH_TOKEN | Invalid refresh token. Please contact cymmetri administrator. |
SAMLSRVC.EMPTY_REFRESH_TOKEN | Empty refresh token. Please contact cymmetri administrator. |
SAMLSRVC.REFRESH_TOKEN_COOKIE_NOT_PRESENT | Refresh token cookie not present. Please contact cymmetri administrator. |
SAMLSRVC.APPLICATION_ID_NOT_PRESENT_IN_CONFIG | Application id not present. Please contact cymmetri administrator. |
SAMLSRVC.APPLICATION_ID_NOT_PRESENT_IN_REQUEST | Application id is not present in request Please contact cymmetri administrator. |
SAMLSRVC.EXPIRED_SSO_IDENTITY_TOKEN | SSO identity token is expired. Please contact cymmetri administrator. |
SAMLSRVC.EMPTY_SSO_IDENTITY_TOKEN | SSO identity token is invalid. Please contact cymmetri administrator. |
SAMLSRVC.REQUEST_ISSUER_FROM_SAML_REQUEST_NOT_PRESNETTITY_TOKEN | Request issuer is not present in saml request. Please contact cymmetri administrator. |
SAMLSRVC.INVALID_SSO_IDENTITY_TOKEN | Invalid SSO identity token. Please contact cymmetri administrator. |
SAMLSRVC.IDP_SLO_FAILED | Identity provider single logout failed. Please contact cymmetri administrator. |
SAMLSRVC.BUILD_SLO_REQUEST_FAILED | Build to failed single logout request. Please contact cymmetri administrator. |
SAMLSRVC.SLO_REQUEST_SEND_FAILED | Failed to send single logout request. Please contact cymmetri administrator. |
SAMLSRVC.SLO_RESPONSE_SEND_FAILED | Failed to send single logout response. Please contact cymmetri administrator. |
SAMLSRVC.ERROR_PERSISTING_SLO_REQUEST | Failed to persist single logout request. Please contact cymmetri administrator. |
SAMLSRVC.SLO_RESPONSE_SAML_ATTRIBUTE_VALIDATION_FAILED | Failed to validate single logout response attribute. Please contact cymmetri administrator. |
SAMLSRVC.INVALID_SAML_SLO_RESPONSE | Invalid saml single logout response. Please contact cymmetri administrator. |
SAMLSRVC.INVALID_SAML_SLO_MESSAGE | Invalid saml single logout message. Please contact cymmetri administrator. |
SAMLSRVC.SLO_REQUEST_VALIDATION_FAILED | Failed to validate single logout request. Please contact cymmetri administrator. |
SAMLSRVC.SLO_RESPONSE_VALIDATION_FAILED | Failed to validate single logout response. Please contact cymmetri administrator. |
SAMLSRVC.UNAUTHORIZED | Unauthorized. Please contact cymmetri administrator. |
INVALID_USER_SESSION | User login session is invalid |
USER_NOT_CONFIGURED_FOR_EXTERNAL_LOGOUT | User is not configured for external identity provider logout |
USER_DOES_NOT_HAVE_ANY_ACTIVE_SSO_SESSION | User does not have any active sso login session |
ISSUE_INSTANT_EXCEPTION | Invalid user issue instant exception |
NOT_ON_OR_AFTER_EXCEPTION | Saml attribute is not valid before and after timestamp |
NAME_ID_FORMAT_EXCEPTION | Invalid user name id is not valid |
SESSION_INDEX_EXCEPTION | User login session index is invalid |
DESTINATION_EXCEPTION | Saml attribute destination is invalid |
IDENTITY_PROVIDER_EXCEPTION | External identity provider is invalid |
IN_RESPONSE_TO | Saml attribute in response attribute is invalid |
ISSUER_EXCEPTION | Saml attribute issuer is invalid |
DATALOGGER.ALREADY_ACTIVATED | Already activated |
DATALOGGER.ALREADY_DEACTIVATED | Already deactivated |
DATALOGGER.SYSLOG_CONFIG_TEST_FAILED | Syslog configuration test failed |
DATALOGGER.SYSLOG_CONFIG_NOT_FOUND | Syslog configuration not found |
PAM_CONFIG_DATA_NOT_FOUND | Pam Configuration data not found |
PAM_INVALID_CONFIG | Invalid Pam Configuration found |
PAMSRVC.INTERNAL_ERROR | Invalid password. Please try again |
PAMSRVC.PAM_CONNECTION_FAIL | Connection Fail |
PAMSRVC.CONNECTION_FAILED | Connection Fail |
REPORT.INVALID_ARGUMENTS | Please correct the input and try again |
PROVSRVC.PASSWORDFILTER_AND_APPLICATION_DOES_NOT_SAME | Filtered application and included/excluded cannot be the same |
PROVSRVC.PASSWORDFILTER_ALREADY_CONFIGURED | Application is already configured for password filter |
dagsrvc.INVALID_ARGUMENTS | Invalid argument. |
dagsrvc.INVALID_ARGUMENTS | Invalid argument. |
dagsrvc.SERVER_NAME_ALREADY_EXIST_EXCEPTION | Server name already exit. |
dagsrvc.ROOT_LOCATION_NOT_FOUND | Server details not found. |
DAGSRVC.DAG_SHARED_SERVER_ALREADY_EXISTS | Server Configuration already exist |
DAGSRVC.DAG_SHARED_SERVER_NOT_FOUND | One or more shared servers not found |
PROVSRVC.APPLICATION_ROLE_NOT_FOUND | Application Role not found |
PORTAL.EXPIRY_DATA_NOT_FOUND | Expiry data not found |
PORTAL.EXPIRED_LINK | Link has been expired |
REGSRVC.ACCOUNT_NOT_ACTIVE | Tenant account inactive. Please contact support |
USRSRVC.IMPORT_SCHEMA_NOT_FOUND | Import template not found |
SLFSRVC.OPERATION_NOT_ACTIVE | Operation not configured |
WKFLSRVC.WORKFLOW_PREFERENCE_CONFIG_NOT_FOUND | Workflow Preference Config not found |
USRSRVC.GROUP_ALREADY_ASSIGN_TO_USER | Group Already Assigned to User. |
USRSRVC.USER_INACTIVE_CONFIG_NOT_FOUND | Inactive User Config not found |
UTILSRVC.TEAMS_CONFIG_ALREADY_EXIST | Teams Config already exist |
UTILSRVC.TEAMS_CONFIG_NOT_FOUND | Teams Config Not Found |
PAMSRVC.RULE_CONFIGURE_ALREADY_EXIST | Configuration already exists |
PAMSRVC.EMPTY_CONDITION_EXCEPTION | Empty Condition exception |
SLFSRVC.INVALID_MANAGER_EXCEPTION | Invalid Manager |
SLFSRVC.INVALID_MANAGER | Invalid Manager |
SLFSRVC.USER_NOT_FOUND | User not found. Please try again. |
WKFLSRVC.SELF_APPROVAL_CONFIG_EXIST | Self Approval config already exists |
WKFLSRVC.SELF_APPROVAL_CONFIG_NOT_FOUND | Self Approval config not found |
MFASRVC.RESEND_PERIOD_NOT_ALLOWED | Please wait we are enabling resend operation |
MFASRVC.RESEND_TIME_EXCEED | Allowed resend attempt exceed please try after some time |
ANALYTICS.INVALID_LOG_ARGUMENTS | Invalid arguments |
ANALYTICS.UNAUTHORIZED | Unauthorized. Please contact cymmetri administrator. |
ANALYTICS.ALREADY_ACTIVATED | Already activated |
ANALYTICS.ALREADY_DEACTIVATED | Already deactivated |
DATALOGGER.ALREADY_EXISTS | Already exists |
DATALOGGER.CONNECTION_FAILED | Connection Fail |
DATALOGGER.FORBIDDEN | Please contact system administrator. |
DATALOGGER.INVALID_ARGUMENTS | Invalid arguments |
DATALOGGER.SYNC_NOT_SUPPORTED | Sync not supported |
ANALYTICS.SYSLOG_CONFIG_NOT_FOUND | Syslog configuration not found |
ANALYTICS.SYSLOG_CONFIG_TEST_FAILED | Syslog configuration test failed |
DATALOGGER.UNAUTHORIZED | Unauthorized. Please contact cymmetri administrator. |
REPORT.ALREADY_ACTIVATED | Already activated |
REPORT.ALREADY_DEACTIVATED | Already deactivated |
REPORT.ALREADY_EXISTS | Already exists |
ANALYTICS.CONNECTION_FAILED | Failed to send report. |
REPORT.CONTENT_NOT_FOUND | Content not found |
REPORT.EMAIL_EXISTS | Email already exists |
ANALYTICS.EMAIL_NOT_EXISTS_EXCEPTION | User Email Not Found. Please contact cymmetri administrator. |
REPORT.FORBIDDEN | Please contact system administrator. |
ANALYTICS.INVALID_ARGUMENTS | Please correct the input and try again |
REPORT.INVALID_CRON_EXPRESSION | Invalid cron expression |
REPORT.INVALID_FREQUENCY_CONFIG | Invalid frequency config |
REPORT.INVALID_REPORT_CONFIG | Invalid report config |
REPORT.INVALID_SCHEDULER_TASK_EXECUTION_ID | Invalid schedular task execution ID |
REPORT.REPORT_BATCH_TASK_NOT_FOUND | Batch task not found |
REPORT.REPORT_EXISTS_EXCEPTION | Report already exists |
REPORT.REPORT_NOT_FOUND | Report not found |
REPORT.SEND_EMAIL_FAILED_EXCEPTION | Email Sending failed |
REPORT.UNAUTHORIZED | Please contact cymmetri administrator. |
RISKENGINE.ALREADY_ACTIVATED | Already activated |
RISKENGINE.ALREADY_DEACTIVATED | Already deactivated |
RISKENGINE.ALREADY_EXISTS | Already exists |
RISKENGINE.CONNECTION_FAILED | Connection Fail |
RISKENGINE.CONNECTOR_NOT_AVAILABLE | Connector not available |
RISKENGINE.FORBIDDEN | Please contact cymmetri administrator. |
RISKENGINE.INVALID_ARGUMENTS | Invalid arguments |
RISKENGINE.INVALID_RISK_SYNC_TASK_STATUS | Invalid risk sync task status |
RISKENGINE.NO_MAPPING_FOUND | No mapping found |
RISKENGINE.RISK_CONFIG_NOT_FOUND | Risk config not found |
RISKENGINE.RISK_NOT_FOUND | Risk not found |
RISKENGINE.RISK_SYNC_TASK_IN_PROGRESS | Risk sync task in progress |
RISKENGINE.RISK_SYNC_TASK_NOT_IN_PROGRESS | Risk sync task not in progress |
RISKENGINE.UNAUTHORIZED | Please contact cymmetri administrator. |
RISKENGINE.UNSUPPORTED_FIELD | Field not supported |
RISKENGINE.UNKNOWN | Please contact cymmetri administrator. |
Country | Country key-value pairs are stored in the system, and are available as drop-downs wherever needed in the system - User attributes, Policies and other mappings. |
UserType | UserType is used as one of the conditions while defining authentication policies and as an input in the rule engine. |
Department | Department is used as one of the conditions while defining authentication policies and as an input in the rule engine, and also as a user attribute. |
Designation | Designation is used as one of the conditions while defining authentication policies and as an input in the rule engine, and also as a user attribute. |
RBAC | RBAC (System Roles) is used as one of the conditions while defining authentication policies and as an input in the rule engine, and also as a user attribute. |
Cymmetri dashboard provides administrators with a centralized and visual representation of key information and controls related to identity management, access governance, and administration.
The dashboard serves as a command center for overseeing and managing the identity lifecycle, compliance, and other aspects of identity and access governance within an organization.
Upon Logging in the admin is landed on the dashboard where he can see the following:
Shortcut to configure recently added application - Configuration the application means adding roles, defining provisioning, reconciliation, SSO and so on
Users Activity - Total Successful user logins in Cymmetri on that day
Accounts Locked - User account locked event on that day
Users Onboarded - New users being onboarded in the system on that day
Password reset - Password reset activity in the system on that day
Authentication stats - Number of successful and failed login attempt in a timeframe
App Identity - It displays the application reconciliation activity with respect to the users.
Cymmetri also displays some important system KPIs to the admin as shown below
Application - Number of applications onboarded in Cymmetri
Active Users - Total number of active users in the system
Total Users - Total number of users onboarded in Cymmetri
Roles - Total application roles created in Cymmetri
Workflows - Total approval workflows created in Cymmetri
Password policy - Total number password policies created for user authentication in Cymmetri
Rules - Total rules created in System for provisioning, MFA, approval workflows, etc.
Users unlogged - Number of users who have never logged in to Cymmetri
Additionally, there are some useful system shortcuts placed on the right side of the page to make faster business decisions.
Custom Attributes may be added for all user entities in your Cymmetri Platform. This allows organizations to add custom user attributes, that are used across the applications in the organization.
For example, your organization has a custom attribute that captures and uses the local language of your employees and vendors for the purpose of providing local services. This attribute may be stored in your Active Directory, and may need to be synchronized to your organization’s other applications during the course of an employee or vendor’s employment.
Cymmetri platform allows the administrator to define custom attributes on a tenant-wide level.
Custom attributes can be used at various places like when creating a user, as a filter when searching for users, and is visible in the others section of user info
To start configuring custom attributes, click on the Configurations menu on the left-hand side and then click on the Custom Attributes menu.
Click on the Add New button to start adding a custom attribute
Fields to be updated:
Name/ Key: refers to the label assigned to the custom attribute.
Description: allows you to provide additional details or notes about the custom attribute for reference and clarity.
Status: Allows to activate the custom attribute. Only if it is set to active, is the attribute available to use in the User Object.
Note: A custom attribute once created can only be set to inactive, it cannot be deleted.
This page is designed to provide a comprehensive view of an individual user's information, facilitating easy access and management for administrators.
The top section of the User Details Page showcases the following crucial user information:
The user's profile picture is prominently displayed, offering a visual identification of the user. This feature aids in personalizing the user experience and making navigation more intuitive.
Right next to the profile picture, users can find the current status of the user, which indicates whether the user is Active, Inactive, or Pending. This status helps in quickly understanding the user's engagement level.
This is a unique identifier for the user within the system. It serves as a key piece of information for various administrative processes, including user tracking, support, and security checks.
The user's Email ID is displayed, providing an essential communication link. It is used for sending notifications, password resets, and other critical communications.
The user's mobile number is listed if provided. This number can be utilized for two-factor authentication, urgent alerts, or direct contact purposes.
This structured format ensures that an administrator or any authorized viewer can quickly access and understand a user's essential information without navigating through multiple pages.
This page provides a comprehensive overview of the user information managed within our system. The data is categorized into several sections to facilitate easy access and understanding of each user's profile. These sections are detailed below.
First Name: The user's given name.
Middle Name: The user's middle name, if applicable.
Last Name: The user's family name.
Grade: The user's grade (a set values need be defined for this field in Masters) .
Designation: The specific title or position the user holds.
Date of Birth: The user's birth date.
Age: The user's current age, calculated from the date of birth.
User Type: Classification of the user based on the user types defined in the system.
Login ID: The unique identifier used by the user to access the system.
Country: The country where the user is located.
City: The city within the country.
Mobile: The user's mobile phone number.
Email: The user's email address, used for electronic correspondence.
Landline: The user's landline phone number, if applicable.
Address: The user's full postal address.
Employee ID: A unique identifier assigned to the user within the organization.
Department: The department to which the user is assigned.
Start Date: The date when the user commenced their current position.
End Date: If applicable, the date when the user's current position will or has ended.
Manager: The user's direct supervisor or manager.
Additionally, this page may display values for custom attributes specific to our organization. These attributes allow for the capture of information not covered by the standard categories but deemed necessary for our operations.
This comprehensive user information page ensures that all pertinent data regarding an individual within our organization is readily accessible, facilitating smooth operations, management decisions, and communication.
This page is designed to streamline the management and assignment process of applications for users. It offers a section where you can easily view all your assigned applications along with their current status. Additionally, it allows for the straightforward assignment of new applications to your profile.
Viewing Assigned Applications: Upon accessing the page, you will be presented with a list of applications currently assigned to you. Each application tile gives a snapshot of the application's status, enabling you to quickly assess which applications require your attention.
Assigning New Applications: Should you need to add more applications to your list, the process is simple. Just click on the Add New Button located on the interface. This action opens up a selection window where you can choose additional applications that you wish to assign to the user.
Searching for Applications: To facilitate ease of access, a search function is incorporated into the interface. This feature allows you to quickly find specific applications by typing the name or part of it into the search bar, saving you time and effort from manually scrolling through the list of applications.
Note: In instances where an application has not been successfully assigned, the interface provides direct actions to resolve the issue without needing to navigate away from the page. Each application tile includes an ellipse (...) menu with two options:
Retry : If an application's assignment process encounters an issue, you can select this option to attempt assigning the application again.
Delete : If the assignment issue remains unresolved or if you no longer wish to keep the application, you can choose to remove the application from your list entirely.
This page provides an overview of the groups to which a user is assigned, reflecting the current status of each.
Upon accessing the page, users are presented with a list of all the groups to which they are currently assigned. Each entry includes the group's name, description, number of users in the group and number of applications assigned to the group.
To enhance the user's role or access within the system, the Add New Button is prominently positioned. This option allows users to be added to more groups, expanding their access and functionalities within the application. The process is designed to be straightforward, guiding the user through a simple process to ensure accurate group assignment.
This menu option found within the ellipse menu takes you to the groups page whether you may edit any information related to the group
Equally important is the capacity to manage the departure from groups, which is facilitated by the Delete Group option. Also found within the ellipse menu, this feature does not delete the group itself but rather unassigns the user from the selected group. This action ensures the user's access and permissions within the application are precisely tailored, maintaining security and relevance.
This page shows user specific audit log for all the various actions and activities performed by the user
Status: You can change the status of users and accounts in our system to manage access and control.
Locked: Stops user access temporarily. This is used for security reasons or if there are too many failed login attempts.
Unlocked: Gives access back to the user, allowing them to log in and use the system.
Active: The account is in use, and everything works normally.
Inactive: Temporarily not in use but can be activated again.
Delete: The account is deleted and moved in suspended accounts
Reset Password: A Generate button allows administrator to reset password for users, which can then be copied to the clipboard if required.
RBAC: This section can be used to assign tenant wide roles defined in the master to the user.
Secret Questions: This sections shows a list of secret questions selected by the user
Additional MFA: Administrators can view the MFA mechanisms configured by the user as well as removed the configured MFA if required for a specific user
If Adaptive MFA is configured for users and a configuration for Device Trust is done, Cymmetri maintains a list of Trusted devices that satisfy the conditions of the Device Trust configuration. This list of devices trusted based on the configuration done by the admin are listed on this page with the following information about each device: Browser, OS, Created At, Trusted, Action(remove device)
This page provides Cymmetri administrators with the capability to monitor and manage all user sessions, It provide the following information: Browser, OS, Created By, IP Address, Created At, and Action (delete session). A user may have multiple session entries if the Multiple Session configuration is enabled.
The Managed View page shows the user data based on various provisioning applications assigned to user, This page shows the Attribute Name, Managed System Value and IDM Value
Attribute Name: Attribute name as defined in the policy attribute page of the provisioning application
Managed System Value: Value as saved in the provisioning application
IDM Value: Value as saved in Cymmetri
In Cymmetri, one of the features available to users is the ability to delegate self-service access. This capability enables users to assign their access rights and responsibilities to other users temporarily. Ideal for scenarios such as vacations, business trips, or whenever a user needs someone else to manage their duties without forfeiting their credentials or compromising security.
This page shows the delegation provided by the user, this may be currently in progress or the delegation which was last completed.
The page shows the status of the Delegation (INPROGRESS, COMPLETED), Designated To, Start Date and End Date and the list of Excluded Applications(if any)
Notifications are triggered from the Cymmetri platform for various actions occuring on the platform either through direct action by the end-user or by the virtue of some backend action (such as running of a scheduler for a campaign). Cymmetri platform ships with default notification templates that may be modified by the administrator using the following process:
Access the notification templates menu by clicking on the configuration menu on the left-hand side menu bar and then clicking on the Notification templates pop-up menu.
Click on the eye icon to preview the corresponding template
Values in <> anchor tags and ${} reflect macros.
Click on the pencil icon to edit the template.
We may treat this template as an email, and edit the subject of the mail.
By default, the email notification will be sent to the corresponding affected end-user, but selecting the toggle option for “Send notification to Reporting Manager” will also copy the mail to the Reporting manager of the affected end-user, allowing for offline followup for the notification.
The administrator may edit the HTML using the provided HTML editor to add/change any template button/text/background. The macros required for the particular template are already provided in the sample default notification template.
Click on the Save button to save the notification template.
Users may be imported into the Cymmetri platform using the bulk Import Users feature.
For Importing Users in Cymmetri platform administrator need to click on Identity Hub > User menu and then click on the Bulk Import > Import Users button.
A screen pops up that lets you select the csv file you want to upload to import the users, Upload the csv file, you may also use the sample data file available and modify it to match your user details.
Click on the Upload File button and select the file you wish to import
Once the file is selected ensure that the default parameters select match your requirement else you may change these parameters as per your requirement and click on Next button.
Match the Column names from the CSV file with the Cymmetri User Attributes using this File Info dialog box.
Scroll down and click on the Import button. Note: A "Skip user workflow" check box is available to skip execution of any user workflow configured for creation of users, if not selected it may trigger user creation workflow and the process of importing users may slow down due to the numerous approvals that the approver might have to do.
Once Imported results of successfully Imported Users, Duplicate Users or any error that occurred during import can be see in Logs > Import History page
Tenant branding in Cymmetri allows you to personalize and enhance the visual identity of your environment. With tenant branding, you can customize the appearance of your platform, including logos, color schemes, and even tailored messages, aligning it with your organization's branding guidelines.
This not only creates a cohesive and professional user experience but also reinforces your brand's presence throughout the Cymmetri environment. It's a powerful tool for organizations looking to maintain a consistent and recognizable image while utilizing Cymmetri's identity and management capabilities.
The Cymmetri platform allows a certain level of customization to your tenant from the administration panel. This includes the ability to modify the default Cymmetri branding scheme to your own Organization’s branding scheme.
Your Organization Name and Tagline
Your Organization Logo
Your Organization Branding Colors (Primary, Secondary, Accent Colors)
To access the branding menu, first click on the Configuration menu on the left-hand side and then proceed by clicking on the Branding menu item.
Start the configuration by entering your Organization Name and Tag Line
Proceed by adding a Welcome text and Welcome Tagline and select whether the Cymmetri help icon should be visible to the user or not
Proceed by adding your URL to the Website text box and click on “Fetch Brand”.
If your organization’s branding is available, the logo and the corresponding color scheme will be displayed in the menu below.
If your branding is not available, you may configure it yourself by uploading your logo and editing your primary color, secondary color, and accent color.
Click on Save and Sync Server button to make the branding configuration apply to the entire website.
The configuration will be applied in a few seconds to reflect your branding.
In Cymmetri, the administrator now has the option to select the "Reset to default theme" button, allowing them to revert to the original theme.
Users once created in the Cymmetri platform can be assigned to a group. Assigning users to a group helps ease the administrative efforts to apply the same policies and assigning applications to multiple users.
When assigning users to groups there can be various approaches which can be used:
Adding User to Group (from the Group Page)
Assigning a Group to a User (from the User's Page)
Bulk Assigning Users to a Group (Using Group Assignment on Group Page)
First the administrator needs to click on the group name and enter the configuration for the group.
Now Go to the Users Page and click on +Add button to get a list of users to add to the group
3. Now click on the assign button next to the user you wish to add to the group.
Once assigned the user can be seen on the Users page of the Group as shown below:
For this approach the Administrator needs to go to Identity Hub > User page and then select the user from the list to whom the group needs to be assigned
Go to the user's page and select the Groups menu and click on "+Assign New" button
This opens a pop up window where a list of all groups is visible
Click on the assign button and the group is assigned to the user or you may say the user becomes a part of the group
For this approach the Administrator needs to go to Identity Hub > Group page and then click on the Group Assignment button
A screen pops up that lets you select the csv file you want to upload to import the users that needs to be assigned to the group. This csv file needs to have one column that contains login id of users; Upload the csv file, you may also use the sample data file available and modify it to match your user's login id.
Once the file is selected and uploaded next you need to select the group to which you want to assign the users.
After selecting the group the column in the csv file needs to be mapped with the Cymmetri login column.
Once mapped click on the import button and the users would be mapped to the assigned group provided the login id is correct
Results of successfully Imported Users, Duplicate Users or any error that occurred during import can be see in Logs > Import History page
While users may be imported and synchronized from other Identity providers, sometimes users may need to be added manually by the administrator.
First navigate to the User configuration page, by clicking on the Identity Hub > User menu on the left-hand side panel.
Click on the “+Add New” button.
Enter the required information and scroll down to add further information
Click on the Save button to move to the next configuration page, and copy the automatically generated password.
Optionally a group can be assigned to the user.
And also applications can be assigned to the user.
Once all the above steps are completed successfully the user is created with the assigned groups and assigned applications.
In this section within Cymmetri a range of general or broad configuration settings and options are managed. These settings encompass various foundational configurations that affect the overall behavior of Cymmetri.
There are different system configurations in Cymmetri mentioned below:
In the Time-Based configuration, system administrators have the capability to determine whether the system will send repeated notifications to users based on the number of days remaining, as specified in the 'Send Notifications before' field. This occurs when an application is assigned to the user as a time-based application and is about to expire.
These settings and configurations within Cymmetri are specifically related to the management and customization of email-related functionalities. This configuration area allows administrators to set up, manage, and customize the email communications as per the organization's needs.
Within the Suspend Config section, administrators have the ability to determine the duration a user remains in a suspended state before transitioning to the archived users section. This can be specified using the "Suspend After" setting.
Scheduler Integration:
The system incorporates a scheduler feature, enabling administrators to automate the transition of users from the suspended state to the archived state. The scheduler runs within defined time frames, streamlining the management of user statuses.
As an example, if the "Suspend After" configuration is set to 0 days, a user will promptly move to the archived users section upon suspension. This allows for flexibility in tailoring user management to specific organizational needs.
Within the Workflow Preference Config, administrators have the ability to specify the visibility and editability of workflows associated with user access requests for a particular application. This setting allows for tailored control over how approvers interact with the configured workflow.
Visible to the User:
When this option is selected, approvers for the requested application are visible to the user initiating the access request. Transparency is maintained throughout the workflow process.
Hidden from the User:
Opting for this configuration ensures that approvers for the requested application remain hidden from the user. The workflow operates discreetly in the background without user visibility.
Editable by the User:
If this preference is chosen, users initiating access requests have the ability to select approvers based on their availability, providing a more dynamic and user-centric workflow experience.
This functionality applies if a workflow has been configured for the specified application, offering flexibility in managing user access requests in alignment with organizational requirements.
The approvers mapped in the workflow can only be edited only if they are part of the "user list" in workflow configurations.
In conclusion, if the workflow preference config is set to Editable, the requester will only be able to select the approver from the workflow if the approvers are part of a user list.
This setting involves whether an OTP (One-Time Password) is required as an additional verification step when users attempt to change their passwords.
The User Decommission Config is a vital feature in Cymmetri, allowing administrators to automate user decommissioning based on login activity.
In this configuration, actions are triggered if the user hasn't logged in to Cymmetri in n number of days
Config Days: Set the threshold for user inactivity in terms of days. Users who have not logged in for the specified duration will be subject to the defined actions.
Actions: Choose from three distinct actions to be taken when the specified inactivity threshold is reached:
None: No action will be taken based on user inactivity.
Inactive: Users exceeding the configured inactivity period will be marked as inactive.
Delete: Users who have not logged in for the specified duration will be suspended from the system.
Syslog configuration in Cymmetri allows for the seamless integration of logging and event information with external Syslog servers. By defining specific parameters, administrators can ensure that critical system events, user access information, and other relevant data are transmitted in real-time to a Syslog server.
Syslog Config fields:
Syslog Name - Assign a unique name to this Syslog configuration
App Name - Specify the application name associated with this Syslog configuration.
Server Host Name - Enter the hostname or IP address of the Syslog server that will receive log messages
Server port - Define the port number on the Syslog server where log messages will be sent.
Protocol - Choose the preferred protocol for Syslog communication - TCP or UDP.
In configuring these parameters, administrators tailor Cymmetri's interaction with external Syslog servers, optimizing the logging process to meet organizational needs.
Webhooks in the Cymmetri's admin module provide a powerful mechanism for real-time communication and integration with external applications or services. Administrators can configure various webhook settings to enhance the system's functionality and streamline interactions with external components.
Webhook Configs:
Protocol - Communication protocol - (Static field)
Method - HTTP method for webhook requests - (Static Set to post)
Server - Enter the server or endpoint URL where the webhook payloads will be delivered.
Server Context path - provide the context path for the specific service within the server.
Secret - This secret key, known to both Cymmetri and the external service, helps authenticate the webhook requests.
Token Expiry Minutes - Define the duration (in minutes) for which authentication tokens associated with webhook requests are valid.
This setting determines if a user has the ability to initiate requests for new applications through the Cymmetri self-service page.
When the status is active, the user will see the "Add New" button on the "My Access" page within the "My Workspace" section. By clicking this button, the user can submit an access request for additional applications.
The Threshold Delete Config is a critical component in Cymmetri, governing the maximum number of users that can be deleted from the system in a single day.
This configuration provides an additional layer of control to prevent unintended mass deletions and ensure the security and stability of Cymmetri
Administrator tasks pertaining to bulk users may be eased by creating groups of users.
Access the group configuration page by clicking the Identity Hub >Groups menu on the left-hand side.
Click on the “+Add New” button to start creating a new group
Group Name: Indicates name of the group.
Group Type: For environments not using Active Directory, either Local or Remote Group may be chosen, in case Active Directory is being used for synchronization in the tenant, the appropriate type according to the group policy object must be chosen.
Parent Group: If a parent group is chosen, all the policies and rules applicable to the parent group will be assigned to this new group, in addition to the policies and rules specifically applied to this new group.
Group Description: Optionally, a description may be provided to the group.
Once all the details have been entered click on Save button and a new group is created.
Cymmetri platform has six different admin roles with various levels of access to the various menus and resources on the administration portal of the Cymmetri.
In addition to these six admin roles, Cymmetri also supports three different privileged user roles that grant varying levels of access (read, write, report) to privileged users within Cymmetri.
The various admin roles on the Cymmetri Identity Platform may be described as follows:
This is the so-called 'super admin' administrator role in the Cymmetri platform. Administrators with this role have the authorization to modify any settings or make changes to the tenant.
This is a slightly less privileged administrator. Most tenant-wide system settings, such as the configuration of SMS and email providers (when configured by the tenant), are restricted for domain administrators. All other configurations can be viewed and edited by administrators with the Domain Administrator role.
An administrator with the role of Application Administrator has access to Identity Hub configurations, including Application, User, and Group configurations. The Application Administrator can map users and groups to applications and has the ability to edit all configurations related to Application Management.
An administrator with the role of Report Administrator has access to the Reports menu, which includes the ability to view, modify, and add new reports.
Helpdesk administrator has access to a very limited set of administrative functionalities, such as, reset password of end-user, remove configured Multifactor authentication options, and other such common use-case
All administrative users have editing access to the various administrative sections of the Cymmetri platform. However, administrators with the "Read Only Administrator" role do not have editing access to any of the settings or configurations; they only have "Read Only" access to the administrative section.
PAM Write Access in Cymmetri grants users the privilege to connect to servers via RDP or SSH and perform write or modification actions on those servers. Users with PAM Write Access have the ability to make changes, update configurations, and perform tasks that involve altering data or settings on the connected servers. This access level is typically assigned to administrators and IT personnel responsible for making configuration changes or updates on various servers within the Cymmetri environment.
PAM Read Access provides users with the ability to connect to servers using RDP or SSH and view the content and configurations on those servers. However, users with PAM Read Access do not have the authority to make modifications or changes to the server settings or data. This level of access is suitable for individuals who need to monitor server activities, check logs, or retrieve information from servers without the need to alter any server configurations.
PAM Report Access is designed for users who require access to PAM-related reports without the need to connect to servers via RDP or SSH directly. Users with PAM Report Access can generate and access reports that provide insights into server activities, access logs, or other relevant data within the Cymmetri. Such users can also configure schedulers to send timely reports to various other users. This level of access is beneficial for auditors, compliance teams, or individuals focused on analyzing server-related information for reporting and auditing purposes.
Follow the steps mentioned below to promote a user as an admin in Cymmetri platform.
Click on the Configuration menu on the right-hand side
Now click on the Admins sub menu within the Configuration menu
Click on the "+Add New" new button to add a new administrator
To assign an administrator role to a user, search for the user and then click the 'Assign' button.
Select the chosen administration role and click on Save
Administrator has been assigned the role as “Report Administrator”.
All admins is a section where various Cymmetri admins listing is displayed to the admin user
The User Management interface in Cymmetri provides an intuitive and efficient way to manage the users within Cymmetri. The interface is designed to support both list and card views, allowing administrators to easily navigate through user profiles according to their preference.To access the User Management page, navigate through: Identity Hub -> UserFeaturesThe UserManagement Page provides various features which eases the user management.
View Modes: Users can toggle between a list and a card view, providing flexibility in how information is displayed.
Search Functionality: Quickly find users with the integrated search feature, saving time and improving manageability.
Advanced Filtering: The granular filtering capability ensures that administrators can pinpoint users based on specific criteria, making user management tasks more streamlined. List of users can be narrowed down the using various filters, including:
Account Status
User Status
Users' Login Status
Location
Department
Designation
Usertype
Custom Attributes
For each user, the following information is prominently displayed:
Display Name: The full name of the user as it appears in the organization.
Email: The user's primary email address.
Mobile Number: Contact number of the user.
User Status Indicator: An intuitive green or red dot next to the display picture indicates whether a user is active or inactive, respectively.
A context menu associated with each user profile offers a suite of actions, enabling administrators to manage user accounts directly from the interface. Available actions include:
Reset Password: Securely reset a user's password.
Mark Inactive: Change a user's status to inactive.
Assign Group: Add the user to specific groups for access control and organizational purposes.
Assign Application: Allocate applications to the user as per their role and requirements.
Edit Info: Update user information such as email, mobile number, and other personal details.
Delete User: Remove the user from the system entirely.
It refers to a setting within Cymmetri that enables a user to raise an application access request on behalf of another user. An administrator can enable this feature and then the user can raise a request for any other user. The page shows how the users get an access to the On Behalf feature and use it to raise application requests
Android
NA
iOS
NA
Mac OS
NA
Windows
Chrome
66
Edge
16
Firefox
57
Opera
57
Safari
53
Chrome Android
12.1
Firefox Android
66
Opera Android
57
Safari iOS
47
Samsung Browser
12.2
The admin can delete the user from the users tab in identity hub section.
After the user is deleted, the user is moved to the suspended users tab.
In the section for suspended users, the administrator has two options: they can choose to
Resume User - Which relocates the user back to the all users section OR
Force Delete - Which transfers the user to the archived users section where retention of the user is not possible
Delegation as a process in the Cymmetri platform refers to the ability of any end-user to delegate their responsibilities to any other end-user on the platform. As such, delegation provides the ability to the delegatee to perform various actions, including Single Sign On, Application Requests, managing workflows by providing approvals, performing Cymmetri administrative actions (if the delegator has the required permissions on the platform), among other actions. However, the login flow for the delegatee stays the same.
Access the Delegation administration panel, by clicking on the Configuration left-hand side menu item and then click on the Delegations menu item.
For any user to be able to delegate their work to other users, the user should be added to the delegation users list; To Add Users to the delegation list so that they can delegate their activities, click on the Assign New button and select one or more users to add to this list
The User and Assignee Consent sections allow organizations to align task delegation practices with their unique policies. This customizable feature empowers administrators to define specific consent texts, ensuring that both the user delegating a task and the delegatee receiving it acknowledge and agree to these terms.
The user consent will be displayed whenever the delegator (user) will go to their settings in their Workspace and assign a delegation to an end-user (delegatee).This consent will be recorded in the Cymmetri backend for audit logging purpose.
Similarly, the assignee consent will be recorded when the end-user (delegatee/assignee) logs into the account for their manager (delegator/user).
Here's how it works:
Administrator Configuration: Administrators can craft consent texts tailored to their organization's requirements. These texts typically outline the responsibilities, expectations, and any legal or compliance aspects associated with task delegation.
User Perspective: When a user decides to delegate a task to someone else, they will be presented with the customized consent text. The user must carefully review and accept the terms before proceeding with the delegation process. This step ensures that the user is aware of the implications of task delegation and is willing to proceed.
Assignee Perspective: On the other side, the delegatee who is about to receive the delegated task will also be presented with relevant consent text. They must thoroughly read and accept these terms before taking on the responsibility. This step helps establish clarity and accountability for the delegatee.
Upon receiving a delegation request, the user is notified via email and within the platform.
To view the delegated task the delegatee can go to Settings->Delegation to Me to see details about the delegated tasks and the user who has assigned the task
The user needs to click on the Accept button to accept the delegation. On click the Accept button an Assignee(delegatee) Consent is shown which the users needs to read and confirm. The Consent also shows details of the delegator and the duration of the delegation.
Once the user accepts the delegation the user sees a login button, to login into cymmetri as the delegator
On clicking the login button the delegatee is redirected to the delegator's My Workspace Dashboard.
The delegatee can access and perform actions on all the applications assigned to them and if any application is excluded during delegation they are not visible to the delegatee.
This section stores and manages user accounts that have been archived or deactivated. These accounts are usually no longer active but are retained for historical or compliance purposes.
You can see the other condition when the users are moved to archived users here
For any user to be able to delegate their work to other users, the user should be added to the delegation users list; Check here how to Add Users to the delegation list so that they can delegate their activities.
Following are the steps to delegate work to an delegatee:
The logged in user needs to go to their Settings Page by clicking on the user's username on top right
Once on the Settings Page user needs click on My Delegations menu
Note: My Delegations menu will appear only if the logged in user is added to the delegation users list.Here is how to Add Users to the delegation list.
Toggle Status: Enable the Toggle Status to Active
Start Date: The date from which the user is delegate the work
End Date: The date upto which the access is delegated
Delegated To: The user (delegatee) to whom the work is delegated. This dropdown populates the list of all users to whom the task can be assigned
Excluded Applications: List of applications whose access is not provided to the delegatee
Once all the details are filled the user is expected to accept the consent to be able to configure the delegation. The consent looks something similar to as show below:
Once confirmed the user needs to click on the I agree check box and save the delegation
Once save the delegatee can see and accept the delegation in their My Delegation Page under Settings.
This page provides Cymmetri administrators with the capability to monitor and manage active user sessions across the entire platform.
This functionality allows administrators to gain insights into ongoing user activities, view active sessions, and, if necessary, terminate or manage these sessions for security, compliance, or administrative purposes.
The admin can terminate all the user sessions at once or select them individually. The page also has a search option for the admin to search the desired user session
Lightweight Directory Access Protocol (LDAP) serves as a important Identity Provider (IDP) in enterprise environments. It authenticates and authorizes users, facilitating seamless access to resources. LDAP is commonly used as a directory service for managing user identities and authentication information within an organization.
LDAP can be utilized in Cymmetri as an Identity Provider (IDP), leveraging existing user accounts to access Cymmetri, as the platform supports the LDAP protocol.
For configuring LDAP as an Identity Provider one of the primary service needed is the Adapter Service.
The Adapter Service or Auth Adapter Service is exposed as a rest service which runs on https acts as an adapter to facilitate authentication using the LDAP protocol which is often employed for authentication purposes in various systems and every adapter service instance is called by the secret generated while installation/configuration of adapter service.
The rest endpoints are called by cymmetri-cloud AuthenticationService to connect to On-Prem AD/Ldap or cloud AD/Ldap. The AdaptorService is used to test connection, authenticate, change, reset password of an user.
For configuring Active Directory as an internal IDP navigate to Authentication -> Identity Provider -> Internal IDP. Here you may either configure the already created LDAP Authentication instance or +Add New
In either cases a screen opens where you need to provide the below mentioned details
Name: LDAP Authentication
IDP Type: Open LDAP
Description: A general description about the IDP type
Status: Active
Adapter Service Domain: Location (IP) of the server on which the Adapter Service is deployed
Adapter Service Secret: The secret generated while installation/configuration of adapter service
Base DN: LDAP root domain name
Search Scope: A search scope for locating users in LDAP
Once all the details are entered Save the changes and Test the Connection using Test Connection button.
For enabling Open LDAP to be used as an IDP for specific set of users an Authentication Rule needs to be configured. Here you can see the steps on how to configure Authentication Rules.
Once the rule is configured, whenever a user matches the rule conditions, their credentials are verified against those stored in LDAP. Upon successful verification, the user is granted access to log in to Cymmetri.
Active Directory (AD) serves as a robust Identity Provider (IDP) in enterprise environments. It authenticates and authorizes users, facilitating seamless access to resources. AD centralizes user management, streamlining security protocols and ensuring efficient user provisioning.
Active Directory can be utilized in Cymmetri as an Identity Provider (IDP), leveraging existing AD user accounts to access Cymmetri, as the platform supports the LDAP protocol.
For configuring AD as an Identity Provider on the primary service needed is the Adapter Service.
The Adapter Service or Auth Adapter Service is exposed as a rest service which runs on https acts as an adapter to facilitate authentication using the LDAP protocol which is often employed for authentication purposes in various systems and every adapter service instance is called by the secret generated while installation/configuration of adapter service.
The rest endpoints are called by cymmetri-cloud AuthenticationService to connect to On-Prem AD/Ldap or cloud AD/Ldap. The AdaptorService is used to test connection, authenticate, change, reset password of an user.
For configuring Active Directory as an internal IDP navigate to Authentication -> Identity Provider -> Internal IDP. Here you may either configure the already created AD Authentication instance or +Add New
In either cases a screen opens where you need to provide the below mentioned details
Name: AD Authentication
IDP Type: Active Directory
Description: A general description about the IDP type
Status: Active
Adapter Service Domain: Location (IP) of the server on which the Adapter Service is deployed
Adapter Service Secret: The secret generated while installation/configuration of adapter service
Base DN: Active Directory root domain name
Search Scope: A search scope for locating users in Active Directory
Once all the details are entered Save the changes and Test the Connection using Test Connection button.
For enabling Active Directory to be used as an IDP for specific set of users an Authentication Rule needs to be configured. Here you can see the steps on how to configure Authentication Rules.
Once the rule is configured, whenever a user matches the rule conditions, their credentials are verified against those stored in Active Directory. Upon successful verification, the user is granted access to log in to Cymmetri.
To access Internal Identity Providers navigate to Authentication-> Identity Provider->Internal IDP
Since Cymmetri is a default Internal IDP no configuration is needed for it. An administrator may still have an option to disable Cymmetri Authentication which can be done by editing the Cymmetri Authentication Internal IDP mechanism
An administrator may also change the Display Name and/ or Description as shown in the screen above.
Cymmetri's Internal Identity Provider (IDP) is a powerful authentication solution that supports seamless integration with various Identity Providers (IDPs).
We will explore the configuration options for three types of IDPs:
Cymmetri,
Active Directory, and
LDAP.
The flexibility of the Cymmetri Internal IDP allows you to manage multiple IDPs of the same type, making it easy to adapt to diverse environments with different Active Directory/ LDAP instances.Cymmetri's Internal IDP aims to provide a centralized and adaptable authentication solution for your environment, supporting various IDP types.
To access Internal Identity Providers navigate to Authentication-> Identity Provider->Internal IDP
To customize the applicability of different IDPs, administrators need to configure Authentication Rules. These rules enable the configuration of various conditions. When these conditions are met, the corresponding authentication mechanism or IDP is used for user authentication.
Within Cymmetri, the authentication process is highly customizable through the definition of authentication rules. While the platform provides a default authentication rule, administrators have the ability to define custom authentication rules that align with the specific business needs and the variety of identity providers at their disposal.
For instance, let's consider a scenario where an organization has distinct user types, such as regular employees, contractors, and administrators. The administrators might require to authenticate employees with Active Directory as the identity provider and use Cymmetri's own authentication engine to verify the identity of vendors and contractors. With Cymmetri's flexibility, administrators can create authentication rules that cater to these varying requirements, ensuring a tailored and secure authentication experience based on user roles and organizational needs.
Admins can find authentication rules in Authentication tab in Cymmetri.
To create a new authentication rule, admin must simply click on the "Add New" button on the top right corner of the page.
The admin must fill in the following details
The name of the rule
Identity provider radio button ( Enable for External IDP or Disable for Internal IDP)
Identity provider
Description of the rule
Active Radio Button
Conditions
The administrator has the capability to establish rules based on conditions like: Department, designation, User Type, country, and Login Pattern.
Subsequently, the administrator defines regular expressions for conditions, specifying whether they should be equal to, not equal to, and assigns corresponding values.
Cymmetri facilitates the creation of multiple conditions for an authentication rule and provides the option to group these conditions using AND or OR logic.
In the image presented above, an exemplar authentication rule is showcased. This rule is structured to authenticate a user in Cymmetri through Active Directory if two conditions are met: the user's department must be equal to "Compliance," and the user type should be "Employee."
Similarly If you wish to set the Identity provider for users having email address ending with "@cymmetri.com" then you may select condition as LoginPattern > Regular Expression and its value as (.)*(@cymmetri.com)+$; and save the details.
This demonstrates how authentication rules can be precisely configured to suit specific criteria and streamline the authentication process based on defined conditions.
Note: The link below shows steps as suggested by Salesforce to configure Salesforce as an Identity Provider: https://help.salesforce.com/s/articleView?id=sf.sso_sfdc_idp_saml_parent.htm&type=5
Here below the same steps are demostrated to use Salesforce as and Identity Provider and Cymmetri as a Service Provider.
For configuring Salesforce to be used as an IDP the Salesforce Administrator needs to login in Salesforce as shown below:
Once logged in the administrator needs to click on Setup on top right and then in the search bar on the right side search for Identity Providers. Once found click on Security Controls -> Identity Provider menu
When the Identity Provider page opens click on Enable Identity Provider button to enable Salesforce as and Identity Provider so that it can be used for authentication in Cymmetri.
When the Enable Identity Provider button is clicked it opens a page that asks you to choose a certificate. Select the default certificate here and click Save.
When saved it shows a warning message as below just click OK button and continue.
Once confirmed the screen as show below appears you may download the certificate and the metadata file here using the Download Certificate and Download Metadata buttons. These files can be downloaded later during the end the process which can be seen later in the documentation below.
The metadata file appears as below, this data is used later to configure the External IDP in Cymmetri.
The certificate file appears as below this is also needed when configuring the External IDP in Cymmetri.
Once the files are downloaded next to add the Service Provider the salesforce administrator needs to click on Service Providers are now created via Connected Apps. Click here link. The mentioned link allows to create a Connected App for Cymmetri which acts as a service provider in Salesforce.
The link above leads to the page below where a new connected app can be added. Following details need to mentioned to add a connected app:
Connected App Name: App Name (Cymmetri in this case)
API Name: Auto-populated based on Connected App Name field, can be changed
Contact Email: a valid contact email
Note: Other fields shown in the image below are optional and hence can be skipped.
Next on the same page there is a section called Web App Settings here click on Enable SAML to enable the SAML settings. Once enabled all the below mentioned details need to be provided.
Entity Id: A unique identifier for a SAML entity, such as a Service Provider (SP) or Identity Provider (IDP), within a federated authentication environment.
ACS URL (Assertion Consumer Service URL): The endpoint where a service provider expects to receive SAML assertions from an identity provider, facilitating single sign-on (SSO) in a federated system.
Enable Single Logout: A configuration option indicating whether the system supports single logout functionality, allowing users to log out of all connected services in a federated environment with one action.
Single Logout URL: The endpoint to which a SAML entity sends logout requests as part of the single logout process when a user logs out of the federated system.
Single Logout Binding: The protocol or method used to transmit single logout requests and responses between SAML entities, often specified as either HTTP Redirect or HTTP POST.
Subject Type: Specifies the type of subject identifier used in SAML assertions, such as transient, persistent, or bearer, indicating how the identity of the user is communicated between the identity provider and the service provider.
Name ID Format: Defines the format of the NameID element in SAML assertions, determining how the user's identity is represented, such as email address, X.509 certificate, or unspecified.
Issuer: Identifies the entity that issues a SAML assertion, typically the identity provider, and is included in the SAML assertion to establish trust between the entities in a federated system.
IDP Certificate: The public key certificate associated with the identity provider, used by the service provider to verify the authenticity and integrity of SAML assertions and messages.
Signing Algorithm for SAML Messages: Specifies the cryptographic algorithm used to sign SAML messages, ensuring the integrity and authenticity of the information exchanged between identity providers and service providers in a federated
The above mentioned details can be obtained by adding a service provider in Cymmetri as shown below. To know more about how to add a service provider in Cymmetri click here. Once created these details can be used in Salesforce as shown above.
Once all details are successfully added and saved the screen as below appears which shows the configuration details.
Administrator can click on Manage button (as shown above) to view SAML Service Provider Settings and SAML Login Information. Administator can also download metadata file here.
The downladed metadata file appears as below. The details mentioned in the metadata file are used to configure an External IDP in Cymmetri.
Based on the diverse profiles of users in Salesforce, the administrator needs to enable Connected App Access for these profiles. Here in this example access has been enabled for the System Administrator; similarly, it should be enabled for all profiles of various users who are intended to access Cymmetri.
For enabling the connected app administrator needs to go to Setup->Manage Users-> Profiles, then select the profile for which the connected app needs to be enabled
Once the profile is selected click on Edit button and look for Connected App Access section.
In the Connected App Access section look for the custom app you created(Cymmetri in this case) and click the checkbox to enable the access.
Once all the configurations on Salesforce end are done, the administrator must proceed with the configuration on the Cymmetri side. To achieve this, the administrator needs to go to Authentication->Identity Provider->External IDP. Here you may either configure the already created salesforce-idp instance or +Add New
In either cases a screen opens where you need to provide the below mentioned details
Name: salesforce-idp
IDP Type: Salesforce
Entity ID: Need to mention the EntityID from the metadata file downloaded from Salesforce
SSO Service URL: Need to mention the SingleSignonService url from the metadata file downloaded from Salesforce
Destination: https://<hostname>/spsamlsrvc/samlSP/SingleSignOn
Protocol Binding: HTTP Post (can also be set to HTTP Redirect if it is set so in Salesforce)
Name ID Policy:
Policy: Unspecified(This may change based on what is configured in Salesforce)
Value: Login(This may change based on what is configured in Salesforce)
Certificate: Certificate downloaded from Salesforce
Logout Request URL: Need to mention the SingleLogoutService url from the metadata file downloaded from Salesforce
Logout Protocol Binding:HTTP Post (can also be set to HTTP Redirect if it is set so in Salesforce)
Service Provider Id: cymmetri (Need to the select the configured Service Provider as shown above)
Once the external IDP is configured next we need to configure Authentication Rules as explained here and as shown below. Conditions mentioned here may vary based on actual scenario in which the IDP needs to be applicable.
Now the user can login into Cymmetri using Salesforce. The user needs to provide his/her username and click on Next.
The user is then redirected to Salesforce login page where the user needs to enter their Salesforce credentials and click on Log in
Once the salesforce credentials are successfully validated the user is redirected to Cymmetri home page.
Log in to your Google admin account and go to the Admin Section as shown below:
Once in the admin section click on Apps > Overview
In the overview page click on Web and mobile apps tile to add a new custom app
On the Web and mobile apps page click on the Add app dropdown and then select Add custom SAML app to add the Cymmetri tenant as a custom app
Provide a relevant App Name, Optionally a description for the application can be provided. An App Icon can also be attached if required. Once entered click on Continue button
On the Google Identity Provider Detail page download the metadata file by clicking on the DOWNLOAD METADATA button. This metadata file needs to be used to get Entity ID, SSO URL and Certificate. Administrator can download the certificate here or later as shown here. Once downloaded click on Continue.
Once the IDP metadata and certificate is obtained the Service Provider(i.e. Cymmetri) details need to be provided. We need to provide the ACS URL and the Entity ID these details can be obtained from Cymmetri as shown here. No change need to be done for Name ID format and Name ID it can be kept to UNSPECIFIED and Basic Information > Primary email. Once done click on Continue
Attributes can be added on this creen which could then be sent as a SAML response to Cymmetri. These values can be used to create a user in Cymmetri if JIT provisioning is enabled on Cymmetri's side
Group membership information can also be sent by cinfiguring groups here and if the user belonged to the configured group. Once attributes and groups are configured click on FINISH.
Once you click on the FINISH button the below screen appears that shows the configuration details. It also shows various shortcuts to Test SAML Login, Download Metadata, Edit Details and Delete App
If the administrator does not download the certificate while configuring the custom application, it can be later downloaded. For the same the administrator needs to go to Security>Authentication>SSO with SAML applications. This will open the Security Settings page from where either the IDP details like SSO URL and Entity ID can be copied and IDP Certificate can be downloaded. These details can be used to configure the IDP in Cymmetri.
Once Google IDP is configured, the administrator must proceed with the configuration on the Cymmetri side. To achieve this, the administrator needs to set up Cymmetri as a Service Provider and also incorporate Google as an external IDP.
The page here shows how to configure a Service Provider.
Once the Service Provider is configured next we need to configure Google as an external IDP.
Administrator needs to go to Authentication->Identity Provider->External IDP. Here you may either configure the already created google-idp instance or +Add New
In either cases a screen opens where you need to provide the below mentioned details
Name: Google IdP
IDP Type: Google
Entity ID: https://accounts.google.com/o/saml2?idpid=xxxxxxxxxxxx
SSO Service URL: https://accounts.google.com/o/saml2/idp?idpid=xxxxxxxxxxxx
Destination: https://<hostname>/spsamlsrvc/samlSP/SingleSignOn
Protocol Binding: HTTP Post (can also be set to HTTP Redirect if it is set so in Google IDP)
Name ID Policy:
Policy: Email (This may change based on what is configured in Google IDP)
Value: Email (This may change based on what is configured in Google IDP)
Certificate: Certificate downloaded from Google IDP
Logout Request URL: Need to mention the SingleLogoutService url from the metadata file if SLO (Single Logout) is configured in Google.
Logout Protocol Binding:HTTP Post (can also be set to HTTP Redirect if it is set so in Google IDP)
Service Provider Id: cymmetri (Need to the select the configured Service Provider as shown above)
Once all the details are entered Save the changes.
For enabling Google IDP to be used as an IDP for specific set of users an Authentication Rule needs to be configured. Here you can see the steps on how to configure Authentication Rules.
Once the rule is configured whenever a user matches with the rule conditions the user is redirected to Google screen and the user needs to provide his/her Google credentials to be able to login into Cymmetri.
Cymmetri's External Identity Provider (IdP) feature allows you to authenticate user identities using different IdPs for various user types. This flexible configuration enables you to streamline access for both internal employees and external users, such as consultants, vendors, and their employees. In this documentation, we will guide you through the process of configuring an External IdP within Cymmetri's identity and access management system.
For internal employees, you can configure Cymmetri's Internal IdP mechanisms like Active Directory or LDAP. This allows seamless authentication for your organization's employees.
Whereas external users, such as consultants, vendors, and their employees, can be verified using popular External IdPs like Google, Azure, Salesforce, or any other supported IdP. This approach simplifies access for external parties while maintaining security and control.
To configure an External IdP in Cymmetri, administrator needs to provide the following information:
Name: A descriptive name for the External IdP configuration.
IDP Type: The type or provider of the IdP (e.g., Google, Azure, Salesforce).
Entity ID: The unique identifier for the IdP entity.
SSO Service URL: The URL where Single Sign-On (SSO) requests should be sent.
Destination: The location where authentication responses should be directed.
Protocol Binding: The protocol used for communication with the IdP (e.g., HTTP Post, HTTP Redirect).
Name ID Policy and Value: This policy defines the format and content of the identifier that represents the authenticated user. For example:
Policy: email
Value: email
Certificate: The certificate used for secure communication between Cymmetri and the External IdP.
In the upcoming sections we will learn step by step implemenatation of the various External IDP mechanisms:
Google serves as a robust external Identity Provider (IDP) through its Identity Platform. Leveraging various authentication mechanisms, it facilitates secure user authentication for Cymmetri. This allows users to sign in with their Google credentials, ensuring a seamless and familiar login experience. Google's IDP mechanism is adopted for its reliability and user-friendly authentication processes, thus making it a preferred choice for integration into Cymmetri as and External IDP.
Azure AD serves as a robust external IDP, facilitating secure access into Cymmetri. Employing industry standards like OAuth 2.0 and SAML, it enables Single Sign-On (SSO) and multi-factor authentication. Azure AD seamlessly integrates with Cymmetri providing easy identity management and ensuring compliance with modern security standards.
Salesforce as an external Identity Provider (IDP) offers robust authentication and access control solutions. Utilizing industry-standard protocols like SAML and OAuth, Salesforce IDP ensures secure Single Sign-On (SSO) experiences.
Configuring External Identity Providers in Cymmetri gives you the flexibility to authenticate user identities using different IdPs tailored to specific user types. Whether it's for internal employees or external collaborators, Cymmetri's External IdP feature ensures secure and convenient access to your organization's resources.
Administrator needs to go to Authentication->Service Provider
Then click on +Add New button, On the screen that appears most of the data is prefilled. Yet if the administrator needs the data can be changed as per need. Once done click on Save. The prepopulated data appears as below:
Once saved the Service Provider(Cymmetri) appears as below:
The service provider is created at this step, download the metadata(xml file) of the same.
A password policy is a set of rules and requirements established by an organization or system to govern how users create and manage their passwords.
The purpose of a password policy is to enhance security by promoting the use of strong, unique passwords and minimizing the risk of unauthorized access.
In Cymmetri, only the admin can create a password policy bby navigating to the authentication section and then in password policy.
Upon landing the user can view a default Cymmetri password policy which cant be deleted or deactivated.
To create a new password policy, the admin clicks on the add new button on the top right corner of the page.
The user has to fill in the password policy form with the below details
Policy Name - Name of the policy
Description
Conditional attribute type - Default - User (Non modifiable)
Conditional attribute Name - Default - User Type (Non modifiable)
Conditional attribute value - ( Consultant, Employee, Vendor)
After saving the detail, a new password policy is created. The next step is to define the password policy. This is done by clicking on the edit button in front of the record.
The admin can define the composition of the password. By rejecting
Password equals Password
Password which equals to LoginID
Password which equals to first or Last Name
Blacklisted Password
The admin can also establish the following parameters
Numeric characters minimum count
Password Length
Special characters count
Password History versions
Alpha characters
Uppercase characters
Lowercase characters
Characters not allowed in the password
In the "change" subsection the admin can also define:
Password expiration days
Password expiration warning from (no of days)
Whether to change password on reset
The administrator also has the capability to set prohibited passwords, preventing users from using those specific passwords.
The page shows how to configure a Service Provider.
Navigate to External IDP in Identity Provider.
Select Azure-IDP.
Configure Azure AD for Creating Identity provider configuration
Now Login to Azure portal and select Azure Active Directory.
Navigate to Enterprise applications and select New application.
Create your own application and enter the name of the application.
Set up Single Sign On after creating the application using SAML.
Click on Edit basic SAML configuration.
Add Identifier (Entity ID) and Assertion Consumer Service URL from the xml file downloaded in step 3 (For Azure, Sign on and ACS URL is the same) and save the configuration.
Download the Certificate (Base64) from SAML Certificates.
Continue configuration of Identity Provider In Cymmetri Administration Console
Copy Azure AD Identifier from Set up, navigate to azure-idp in Cymmetri and paste it in Entity ID. Similarly, copy login URL and paste it in Single Sign On Service URL in Cymmetri.
Open the Base64 certificate downloaded in step 12, copy it and then paste it in x509Certifcate field in Cymmetri.
Select the created service provider in the Service provider Id field dropdown and save the changes.
Assigning user to application in Azure Administration Console for allowing users to use Azure as External Identity provider
Navigate to Enterprise applications and select the application you created in step 8.
Go to Users and groups and select Add user/group and add the user.
If JIT provisioning needs to be enabled for Azure AD as external Identity provider, we may set it up using the steps below.
Navigate to JIT in external identity provider and enable JIT Configuration.
The following fields are mandatory in Cymmetri - firstName, lastName, login, userType, displayName, and email.
For Azure JIT configuration, the following mapping needs to be done -
First Name -
Application Field - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname
Cymmetri Field - firstName
Last Name -
Application Field - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname
Cymmetri Field - lastName
Login (Username) -
Application Field - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
Cymmetri Field - login
User Type -
Application Field - any string
Cymmetri Field - userType
Default Value - <will be one of Employee, Vendor, Consultant>
Display Name -
Application Field - http://schemas.microsoft.com/identity/claims/displayname
Cymmetri Field - displayName
Email Address -
Application Field - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
Cymmetri Field - email
Login to cymmetri using Azure Email Address
The user will be redirected to the Azure portal to enter the Azure credentials.
Once the credentials have been entered properly in Azure portal, the user will be redirected back to Cymmetri and will be logged in successfully.
In Cymmetri, the Attribute Setting is a tool for user attribute management.
It provides administrators with granular control over attribute visibility during user creation or updation processes. This feature empowers administrators to enable or disable both predefined and custom attributes effortlessly.
When an attribute is disabled, that associated field doesn't appear anywhere in the user creation or updation pages, streamlining the user management experience.
The Global Auth Policy allows to configure various user login parameters as shown below:
Auth Failed Count: The Auth Failed Count parameter signifies after how many failed login attempts will the user account be locked.
Unlock after Minutes: The Unlock after Minutes parameter signifies after how many minutes will a locked account be automatically unlocked.
Token Expiry Minutes: The Token Expiry Minutes parameter signifies after how many minutes will the session token expire.
Refresh Token Expiry Minutes: The Refresh Token Expiry Minutes parameter signifies after how many minutes will the refresh token expire.
Cymmetri allows users to have multiple sessions simulatenously i.e. they can login simulatenously from various locations and keep all the sessions alive. It also provides control to the user to revoke any specific or all the sessions
The "Import History" tab in Cymmetri provides a comprehensive record of all data imports, ensuring transparency and accountability in managing user and system information. This feature is designed to offer administrators insights into the history of data imports, facilitating effective tracking and auditing.
To check the import history in Cymmetri, go to the "Import History" tab within the Logs section. This area keeps track of all bulk import events, including imports for user and application assignments.
In this section, administrators can find a detailed history of import events, including:
File Name: The name of the file that was imported.
Status: The status of the import activity, indicating whether it was successful or if there were any issues.
Import Type: Specifies the type of import, such as user or application assignment import.
Created By: Shows who initiated or performed the import.
Created At: Indicates the timestamp of when the import occurred.
For a closer look at the import history, administrators can click on the eye icon next to a specific record. This detailed view provides insights into the imported record statuses, including:
Created Successfully in Cymmetri: Indicates records that were successfully created within the Cymmetri system during the import.
Duplicated in the System While Importing: Highlights instances where records already existed in the system, preventing duplication during the import process.
Error Occurrence During Import with Remarks: Flags any errors that occurred during the import, accompanied by remarks detailing the nature of the issue.
In Cymmetri the "Scheduler History" feature plays a crucial role in maintaining visibility and control over scheduled tasks and operations. This functionality is designed to offer administrators insights into the history of scheduled events, providing transparency, accountability, and efficient management of routine processes.
In the "Scheduler History" tab, accessible within the Logs section of Cymmetri, administrators can delve into the details of scheduled tasks, gaining insights into various aspects of the scheduler's operation. The information presented includes:
Event of the Scheduler: Specifies the type of scheduler event that took place.
Event of the Scheduler: Specifies the type of scheduler event that took place.
Description: Provides a brief description of the scheduled task or operation.
Operation Performed on the Scheduled Period: Outlines the specific action executed during the scheduled period.
Planned At: Indicates when the scheduler was initially planned or scheduled.
Sub Event: Offers details about any sub-events associated with the scheduler operation.
Executed At: Specifies the timestamp when the scheduler was executed.
Execution Status: Highlights the status of the scheduler execution, indicating whether it was successful or encountered issues.
Remarks (If Any): Includes any additional remarks or notes related to the scheduler operation, offering insights into the execution process.
Adaptive authentication is an advanced security measure that assesses various factors and context elements in real-time to determine the level of risk associated with a user's access attempt.
Based on this risk assessment, the authentication system can dynamically adapt its level of scrutiny and request additional verification steps if needed. This approach enhances security while minimizing disruption for legitimate users.
In Cymmetri there are various adaptive checks that the admin can enable for additional factor of authentication.
Device Trust Check - If enabled, Cymmetri will check if the device being used to perform action on the Cymmetri portal, has been trusted by the user
User Behavior - Cymmetri determines whether the behavior of user matches with the known behavior pattern of the user over time
Blacklisted IP - Maintains a blacklist of IP addresses that are known to be sources of unauthorized access, hacking attempts, or other malicious activities
Blacklisted Location - Cymmetri maintains a list of locations from which the administrator wishes to restrict access of the portal
Short Lived Domain - Cymmetri checks the email address domain of the user with a database of known providers of short-term or disposable email addresses
Impossible travel scenario - Tracks the change in location of user attempting an action over a short period of time and flagging if, system deems the pattern to be impossible.
The admin can enable these checks as per the business use case
To navigate to the adaptive settings page, click on the "Go to settings" button on the top right corner of the page.
Administrators can include an IP address in the blacklist by following these steps:
Enable the "IP address Check" radio button at the top of the page, input the IP address into the "Blacklisted IP address" field, and press enter. The specified IP will be added to the list. To synchronize the list with the database, click the "Sync Now" button.
You can select additional actions when module detects an anomaly. They are the following:
Ask additional MFA and notify - If an MFA rule has been established and adaptive authentication is activated for it in the MFA section, when a user attempts to log in with a blacklisted IP address, the user will be prompted for additional factor(s) for authentication as defined by the rule. Additionally, the user will receive email notifications regarding the login activity.
Only Notify - This option solely sends a notification to the user about the login activity.
Block user and notify - This option not only blocks the user upon a login attempt with a blacklisted IP but also notifies the user on their registered email ID.
Define how Cymmetri determines if a device is trusted for the user and allows to define behavior of authentication in Cymmetri, in case of untrusted device
The admin can define
No of successful authentication attempts
Number of devices per user
Number of days
Additional action when module detects anomaly
Location based checks
Organizations can maintain a list of blacklisted locations as part of their adaptive authentication strategy to enhance security measures and mitigate potential risks
The admin can select the blacklisted location on this page. Also additional actions on these checks can be selected.
Impossible Travel Scenario
Track the changes of location from which the user attempts to perform actions on the portal over a short period of time and flags an action attempt
The admin can configure the:
Check Windows(in hrs)
Average Distance (in Km)
Short lived Domain Checks
Checks the .email address domain of the user with a database of known providers of short-time or disposable email addresses
The admin can Sync the database where the domains are stored and updated
User behavior checks
Cymmetri determines whether the behavior of user matches with the known behavior pattern of the user over time
The admin can select the required checks to verify the consumer behavior:
Unusual time of Login
Unusual number of Login failures
Unusual keystrokes pattern
The admin can enable, configure and save these adaptive checks individually as and when required.
Replace the text "<host-name>" as the URL of the Cymmetri deployment (e.g., ) "aktestidp.ux.cymmetri.in" in the destination field - "https://<hostName>/spsamlsrvc/samlSP/SingleSignOnService" as "spsamlsrvc/samlSP/SingleSignOnService".
For enabling Azure IDP to be used as an IDP for specific set of users an Authentication Rule needs to be configured. you can see the steps on how to configure Authentication Rules.
In this section, we will provide you with detailed information about the types of applications and connectors supported by Cymmetri
Cymmetri seamlessly integrates with various cloud-based applications to help you efficiently manage user access and entitlements. The following are the pre-configured cloud-based applications that Cymmetri supports:
Azure: Manage user access and entitlements within your Microsoft Azure environment effortlessly.
Google Workplace: Simplify access management for Google Workspace applications, including Gmail, Google Drive, and more.
ServiceNow: Effectively control access to your ServiceNow instance to enhance security and compliance.
Salesforce: Streamline Salesforce user access management for better control and auditing.
SCIM v2.0 (Salesforce): Utilize the System for Cross-domain Identity Management (SCIM) 2.0 protocol specifically for Salesforce integration.
Github (Using SCIM 2.0 connector): Manage user access to GitHub repositories efficiently through our SCIM 2.0 connector.
Cymmetri extends its support beyond cloud-based applications to include various on-premises applications. Here are the on-premises applications supported by Cymmetri:
Active Directory: Efficiently manage user access to your Windows Active Directory resources.
OpenLDAP: Simplify access control for your LDAP directory services with Cymmetri's integration.
Lotus Notes: Streamline user access management for Lotus Notes applications.
Powershell: Integrate and manage access to PowerShell scripts and resources seamlessly.
CSV Directory: Effectively manage user access within CSV-based directory services.
Cymmetri offers versatile connector support to ensure seamless integration with a wide range of applications. Here are the supported connectors categorized by deployment type:
Cymmetri's Cloud Connectors are designed to simplify access management for various cloud-based applications. Supported cloud connectors include:
Azure: Easily manage access to Microsoft Azure resources with our cloud connector.
Google Workplace: Streamline access management for Google Workspace applications using our cloud connector.
ServiceNow: Control access to your ServiceNow instance efficiently with our cloud connector.
Salesforce: Seamlessly manage user access to Salesforce through our cloud connector.
SCIM 1.1: Leverage the SCIM 1.1 protocol for connector support, ensuring compatibility with various cloud services.
SCIM 2.0 (Basic, Bearer, Fixed Bearer): Our platform supports multiple SCIM 2.0 authentication methods to accommodate diverse integration needs.
For on-premises applications and custom integration scenarios, Cymmetri offers locally deployed connectors, providing flexibility and control. Supported locally deployed connectors include:
Active Directory: Manage access to Windows Active Directory resources seamlessly using our connector.
Custom Script for Databases: Custom Script based connectors using groovy scripts for database applications, tailored to your specific requirements.
LDAP: Integrate and manage access to LDAP-based directory services through our connector.
Lotus Notes: Simplify user access management for Lotus Notes applications with our connector.
Powershell: Seamlessly integrate and manage access to PowerShell resources using our connector.
REST API: Extend your integration capabilities with Cymmetri's support for RESTful API connectors leveraging the flexibility of Groovy and UI based scripts.
Cymmetri's comprehensive support for both pre-configured applications and versatile connectors ensures that you have the tools needed to efficiently manage user access and entitlements across a diverse range of applications and environments. For detailed setup instructions and configuration guidelines, please refer to the specific documentation for each application and connector.
Connectors can be deployed in two ways:
Local connectors are deployed to a Cymmetri instance. This is the usual way how connectors are used. The connector is executed inside a Cymmetri instance, has the same lifecycle (start/stop), etc. Cymmetri can detect local connectors automatically and overall the connector management is easier.
Remote connectors are executed in a different process or on a different node than Cymmetri instance. Remote connectors are deployed to a connector server. There may be need to use a remote connector e.g. to access a file on a remote system (e.g. in case of CSV connector) or because of platform incompatibilities (e.g. .NET connectors)
Connector is not developed as local or remote. The placement of the connector is a deployment-time decision. There is just one connector package that can be deployed locally or remotely.
A connector server is required when a connector bundle is not directly executed within your application. By using one or more connector servers, the connector architecture thus permits your application to communicate with externally deployed bundles.
Connector servers are available for both Java and .NET.
A Java connector server is useful when you do not wish to execute a Java connector bundle in the same VM as your application. It may be beneficial to run a Java connector on a different host for performance improvements if the bundle works faster when deployed on the same host as the native managed resource. Additionally, one may wish to use a Java connector server under a Java remote connector server in order to eliminate the possibility of an application VM crash due to a fault in a JNI-based connector.
The use of .NET connector server is especially useful when an application is written in Java, but a connector bundle is written using C#. Since a Java application (e.g. J2EE application) cannot load C# classes, it is necessary to instead deploy the C# bundles under a .NET connector server. The Java application can communicate with the C# connector server over the network, and the C# connector server serves as a proxy to provide to any authenticated application access to the C# bundles deployed within the C# connector server.
Minimum Requirements:
Java 1.6 or later for 1.4.X.Y / Java 1.8 for 1.5.X.Y
Refer to your Java connectors to determine if there are any additional requirements
Unzip it in a directory of your choice (e.g. /usr/jconnserv
) on the host where you wish to run the Java connector server
From the directory created above, run the Java connector server with no arguments to see the list of command-line options:
Linux / MacOS: ./bin/ConnectorServer.sh
Windows: \bin\ConnectorServer.bat
You should see the following output:
Run the connector server with the setkey
option as described below to set your desired key into your properties file
Linux/ MacOS: ./bin/ConnectorServer.sh -setkey <key> -properties conf/ConnectorServer.properties
Windows: bin\ConnectorServer.bat /setkey <key> /properties conf\ConnectorServer.properties
For all other properties (e.g. port), edit the conf/connectorserver.properties
manually. The available properties are described in the connectorserver.properties
file.
Run the server by launching with the -run option:
Linux / MacOS: ./bin/ConnectorServer.sh -run -properties conf/ConnectorServer.properties
Windows: bin\ConnectorServer.bat /run -properties conf\ConnectorServer.properties
To deploy a Java connector:
Copy the Java connector bundle jar file into the bundles
directory in your Java connector server directory
If necessary, add to the classpath any 3rd party jars required by any Java connector
Restart the Java connector server
The following steps are necessary to successfully communicate with a connector server using SSL:
Deploy an SSL certificate to the connector server's system.
Configure your connector server to provide SSL sockets.
Configure your application to communicate with the communicate with the connector server via SSL.
Refer to your application manual for specific notes on how to configure connections to connector servers. You will need to indicate to your application that an SSL connection is required when establishing a connection for each SSL-enabled connector server.
Additionally, if any of the SSL certificates used by your connector servers is issued by a non-standard certificate authority, your application must be configured to respect the additional authorities. Refer to your application manual for notes regarding certificate authorities.
Java applications may solve the non-standard certificate authority issue by expecting that the following Java system properties are passed when launching the application:
javax.net.ssl.trustStorePassword
For example, -Djavax.net.ssl.trustStorePassword=changeit
javax.net.ssl.trustStore
For example, -Djavax.net.ssl.trustStore=/usr/myApp_cacerts
Or, instead, the non-standard certificate authorities may be imported to the standard ${JAVA_HOME}/lib/security/cacerts.
Minimum Requirements:
Windows Server 2003 or 2008
.NET Framework 3.5 or higher
Refer to your .NET connector to determine if there are any additional requirements
Execute ServiceInstall.msi. Just follow the wizard. It will walk you through the whole process step by step. Upon completion, the Connector Server will be installed as a windows service.
Start the Microsoft Services Console. Check to see if the Connector Server is currently running. If so, stop it. From a command prompt, set the key for the connector Server. This is done by changing to the directory where the connector server was installed (by default: \Program Files\Identity Connectors\Connector Server) and executing the following command:
where <newkey> is the value for the new key. This key is required by any client that connects to this Connector Server.
Look through the configuration file and inspect all settings. The most common things to change would be the port, trace, and ssl settings.
The port, address, and SSL settings are in the tag called AppSettings
, and look like this:
The port can be set by changing the value of connectorserver.port. The listening socket can be bound to a particular address, or can be left as 0.0.0.0. To setup to use SSL, you must set the value of connectorserver.usessl to true, and then set the value ofconnectorserver.certifacatestorename to your the certificate store name.
You will need to record for use later the following information regarding your connector server installation:
Host name or IP address
Connector server port
Connector server key
Whether SSL is enabled
Trace settings are in the configuration file. The settings look like this:
The Connector Server uses the the standard .NET trace mechanism. For more information about the tracing options, see Microsoft's .NET documentation for System.Diagnostics.
The default settings are a good starting point, but for less tracing, you can change the EventTypeFilter's initializeData to "Warning" or "Error". For very verbose logging you can set the value to "Verbose" or "All". The amount of logging performed has a direct effect on the performance of the Connector Servers, so be careful of the setting.
Any configuration changes will require the connector server to be stopped and restarted.
The best way to run the Connector Server is as a Windows service. When installing, the Connector Server is installed as a Windows service. This should be fine for most installations.
If for some reason, this is not adequate, the connector server may be installed or uninstalled as a Windows service by using the /install or /uninstall arguments on the command line. To run the Connector Server interactively, issue the command:
To install new connectors, change to the directory where the Connector Server was installed, and unzip the zip file containing the connector there. Restart the Connector Server.
To install additional Connector Servers on the same machine, download the Connector Server zip file from the downloads section. Create a directory to install to, and unzip the file there. Edit the configuration file as described above ensuring that you have a unique port. You may also want to make sure that the trace file is different as well. You can then run the additional Connector Server interactively or as a service.
Understand how to add and manage your cloud and on-premise applications through your Cymmetri Identity platform deployment. Your Cymmetri Identity deployment allows you to manage your cloud-based applications and on-premise applications from a single administration console.
Understand how to add the applications used by your organization, to be managed your Cymmetri Identity platform deployment. Use the FAQ to learn how to add applications to be managed in the deployment.
Single Sign On is the process of ensuring that once an end user is logged onto the Cymmetri Identity platform, they should be able to seamlessly move their session to any of your applications managed by your Cymmetri Identity platform deployment. Use the FAQ to learn how to configure Single Sign On for your application.
Modern IAM deployments wishing to have progressive authentication may require some critical application integrations within your deployment to perform additional authentication while performing Single Sign On for the end user. Use the FAQ to learn how to configure the Application Sign On Policy.
Provisioning refers to the process of creating, modifying, and in general pushing the user account information stored on the Cymmetri Identity platform to the applications managed by your Cymmetri Identity platform deployment. Use the FAQ to learn how to configure User Account Provisioning.
Reconciliation of User accounts is a primary activity in Identity Governance, which allows for synchronisation between the user account information on the managed application and the Cymmetri Identity platform deployments, including provisioning, modifying, deprovisioning, and modifying user account attributes based on various synchronisation states. Use the FAQ to learn how to configure the Identity Reconciliation Process.
Once an application has been added to the Cymmetri Identity platform deployment and the necessary configurations for Single Sign On, Provisioning and Reconciliation have been performed, an application may be assigned to an individual user or to a group of users. Use the FAQ to learn how to assign application to a user.
Dynamic Forms enable administrators to request additional fields from either administrators or end-users when assigning applications. These additional user fields are then collected and used for provisioning the user into the managed application. It is a feature in Cymmetri's application details sections which enables administrators to ask necessary questions at time of application assignment. The form filled will be saved and reviewed by the approver.
For creating a dynamic form the administrator needs to configure the managed application. For eg. Identity Hub->Applications->Service Now(Application may change )->Forms
Load the default form by clicking on the “Load Sample Data” button
Edit the default form in the JSON Schema section, In the JSON Schema section the administrator can define the form structure with the type of element, and its various properties like type, title, default value etc, a preview of the form is shown on the right hand side.
Let us create a simple form that can capture
“Preferred Username” [text field] and
“Request Additional Modules” [Radio] with two options “Administrator” and “Read Only”.
The code below shows how to create a simple form described above:
The UI Schema is like a set of json properties that are used to configure how the form should look and behave. It lets you tweak things like the length of a text box or whether a choice should be shown as radio buttons or checkboxes. In the example code, we're using the UI Schema to make the "preferredName" field have a placeholder and also set a maximum length. For "additionalModules," we're using widget property to make it show up as a radio button.
The Preview Form Data displays how the data entered in the UI will be gathered and shows the structure in which the data will be sent to the API.
The preview of the form looks as below after making the changes:
Once configured the administrator can Click on the Save button.
Once saved a confirm box appears to enable the form; the administrator needs to click on the Confirm button in the popup to enable the form for the application.
The Form View and Form Edit options allow the administrator and user to view and edit the form
When the Form View button is enabled it allows the administrator to view the form in the user's Application Page
On clicking the View Form button the form appears as below:
Similarly when the Form Edit button is enabled it allows the administrator to edit the form in the user's Application Page
On clicking the Edit Form button the form appears as below, The administrator may change the details mentioned in the form.
The user to whom the application is assigned can also view or edit the form based on whether the form edit is enabled or not. The figure below shows the Edit Form option for a user in the MyAccess -> Applications section:
If the user clicks on Edit Form it shows the form to edit:
In Cymmetri, the Audit Logs serve as a vital tool to maintain transparency, accountability, and security in your identity and access setup. This feature meticulously records a detailed account of various activities, ensuring a comprehensive overview of critical events and system changes.
For administrators looking to review system-related logs in Cymmetri, the process is simple. Just head to the "Audit Logs" tab within the Logs section. Here, you'll find a wealth of information, covering everything from user logins to requests for accessing applications.
Cymmetri goes the extra mile by capturing each and every system event, offering administrators a thorough understanding of what's happening within the platform.
For a closer look at a specific log entry, administrators can click on the eye icon next to it. This action provides a detailed response, offering insights into the exact activities that took place.
The admin can also filter the logs based on:
The actor who performed the event
The performed event
Start and end date of the events
Target and target type
Status of the event - all, success, and failed
In essence, Cymmetri's Audit Logs empower administrators with the tools they need to keep a close eye on system activities, ensuring a secure and well-documented identity and access management environment.
Azure provisioning in Cymmetri involves setting up configurations to automate the creation and management of user accounts in Microsoft Entra ID. This allows for seamless user onboarding and offboarding processes.
To implement Azure provisioning in Cymmetri, follow these general steps:
The administrator needs to login to Azure Portal: https://portal.azure.com
Once logged in click on More services-> button
In the next screen click on Identity -> App registrations inside the Identity management section
Next click on New registration to register a new App. Registering your application establishes a trust relationship between your app and the Microsoft identity platform. The trust is unidirectional: your app trusts the Microsoft identity platform, and not the other way around. Once created, the application object cannot be moved between different tenants.
Next enter the Application Name and select the Supported account types to organizational directory only : Accounts in this organizational directory only (Cymmetri Organization only - Single tenant) and then click on Register
Once registered next click on Authentication menu and +Add a platform.
On the next screen select Mobile and desktop applications
Enter a Custom redirect URIs: http://localhost and click on Configure
Further enable the Public Client flows and click on Save button
Next go to Certificates and secrets menu and create a new client secret:
Next enter a Description for the and select the duration after which the secret would Expire -Recommended is 180 days (6 months) but can be changed as per the need. Once both the details are entered click on Add button
Next copy and save the Client Secret ID and Client Secret Value in a safe and accessible place. Client secret values cannot be viewed, except for immediately after creation. Be sure to save the secret when created before leaving the page.
Once the client secret details are stored next click on API permissions menu and then + Add a permission
On this page select Microsoft Graph
On the next page we require permissions for both Delegated and Application permissions. Select each type of permission and in that Search and select the following permissions/scopes:
APIConnectors.Read.All
Directory.ReadWrite.All
OpenID (Not available for Application Permissions)
PrivilegedAccess.Read.AzureAD
User.ReadWrite.All
Directory.Read.All
Once all the permissions are added a warning is shown: "You are editing permission(s) to your application, users will have to consent even if they’ve already done so previously." The administrator needs to click on the "Grant admin consent for Cymmetri Organization" link
On the click of the link a popup appears to grant admin consent, click on Yes
Next click on Expose an API and then click on Add to add an Application ID URI: The Application ID URI, also called identifier URI, is a globally unique URI used to identify the web API. This URI is the prefix for scopes in the Oauth protocol. You can either use the default value in the form of api://, or specify a more readable URI.
On the next page keep the default values intact and click on Save button
Finally you can see the Overview page that contains all the information you need to configure Azure in Cymmetri.
Also the User config Application Authority can be obtained from the endpoint section in the Overview page:
This completes the Azure side of the configuration, next the administrator needs to need to move to Cymmetri and configure the Azure application. Mentioned below are the steps required to configure Azure in Cymmetri:
Add a new Azure application Identity Hub->Applications and then click on the +Add New button
Once added the administrator needs to go to Policy Attribute section and ensure all the below mentioned attributes are present (Add if not already present):
mailNickname
displayName
__PASSWORD__
__NAME__
userPrincipalName
givenName
surname
usageLocation
Next the administrator needs to go to the Policy Map section and ensure a mapping shown as below is created:
Once the policy map is created next the administrator needs to go to Provisioning section and then to Server Configuration and need to configure the connector server as shown below:
Once the Server Configuration is done next the administrator needs to implement User Configuration with the below mentioned fields:
User config Application Authority: This is the authority under which the application operates. For example, if you're using Azure AD, the application authority might be https://login.microsoftonline.com/<tenant_id>/oauth2/authorize
User config application client id: This is the unique identifier for your application. It is provided by Azure when you register your application. For example, e9a5a8b6-8af7-4719-9821-0deef255f68e
.
Client Secret: This is a secret key used by the application to prove its identity when requesting access tokens. It should be kept confidential. For example, 7f7df45a-251e-49d3-a396-748bf8e05a3c
.
User config domain: This is the domain associated with your Azure AD. For example, contoso.onmicrosoft.com
.
User config base password: This is the base password used for your application. For example, MyBasePassword123
.
Redirect URI: This is the URI to which Azure AD will redirect the user after authentication. For example, api://05b765c3-d64f-7704-b0d8-5c4c6bc674df
User config resource URI: This is the URI of the resource (API, web app, etc.) that the application wants to access. For example, https://graph.microsoft.com
.
Azure Tenant ID: This is the identifier for your Azure AD tenant. For example, 72f988bf-86f1-41af-91ab-2d7cd011db47
.
User config base username: This is the base username used for your application. For example, MyUsername@contoso.onmicrosoft.com
.
Once the configuration is done and saved, Next click on TEST CONFIGURATION to test if Cymmetri is able to connect to Azure Server.
For assigning any sort of licenses to a user of various products two main policy map entries need to done as shown below:
azureLicense: Need to provide license key for the product you wish to assign to the user
usageLocation: This field needs a two-letter country code (ISO standard 3166). Required for users that are assigned licenses due to legal requirements to check for availability of services in countries. Examples include: US
, JP
, and IN
.
The value for azureLicense can be obtained as explained below:
Go to https://admin.microsoft.com/ and login using the admin credentials. Once logged in go to Billing->Licenses->Microsoft Teams Exploratory
Once you click that it opens the page from which we can copy the product id from URL as shown below:
Once all the above configuration is done, on the same page in Cymmetri go to Assignments section and assign users to the application and ensure that these users are created in Azure's Microsoft Entra ID along with the Microsoft Teams license.
Once the managed application has been added to your Cymmetri Identity platform tenant, you will be able to assign applications to your end-users.
There are four ways in which applications can be assigned to users:
Admin may assign an application directly to a user.
Admin may map an application to a group; and the user is added to the group or is already part of the group.
End User may request an application and is granted access to the application.
Bulk Assignment of application to a set of users
Let us understand the flow for each of the above mentioned scenarios:
Users with admin roles such as Organization Admin, Domain Admin, or Application Admin on the Cymmetri platform can assign managed applications to end-users .
First, we need to add the application to the Cymmetri platform
Next, we move to configure the application to assign it to an end user.
Click on the application tile to configure it.
The flow for assignment goes as follows -
Description:
Admin clicks on the application tile, and starts the configuration.
Click on the Assignments tab on the left hand side menu.
Click on the “Assign New” button on the Users menu.
Here we need to decide whether we want to provide a Lifetime Access or a Time Based Access
Lifetime Access: Users have access to the application without any time restrictions.
Time Based Access: Users have access to the application only for the specified range of time. We need to provide a Start Date & Time and an End Date & Time for Time Based Access.
Now click on Save to register a request for the application assignment. If no Workflow is configured for the said application the application is immediately assigned to the user.
If a workflow for application provisioning is configured then the workflow is been initiated.
The workflow approver will then receive a request to approve the user assignment in their inbox.
Now the approver may approve or reject the user assignment
The approver may change the start and end date, if required; refer to the dynamic form attributes passed during the application assignment.
To continue the flow click on Accept button.
Now the next level of approver will be able to see the previous levels of approval, and similar to the previous level of approval, the approver may change the start and end date, if required; refer to the dynamic form attributes passed during the application assignment.
Click “Accept” to proceed.
After the last level approver has also approved the assignment, the backend processes will run the application provisioning flow.
Once the user has been provisioned in the application, they will be able to see it in their list of applications.
Users with admin roles, such as Organization Admin, Domain Admin, or Application Admin, in a Cymmetri Identity platform deployment, will have the ability to assign entire groups of users to managed applications.
First, we need to add the application to the Cymmetri platform
Next, we move to configure the application to assign it to a group.
Click on the application tile to configure it.
The flow for assigning a group to an application goes as follows:
Click on the application tile, and start the configuration.
Click on the Assignments tab on the left hand side menu.
3. Click on the “Assign New” button in the Groups section.
4. Search for the group you wish to assign the application to and click on the assign button.
5. Checking for the users who belong to the group, we can see that the application has been assigned.
6. Viewing the application tiles, we can see if the user was directly assigned the application or received access by the virtue of being part of a group.
Users on the Cymmetri platform can request access to a managed applications as a Self-Service feature.
The flow for an end-user to request for an application is as follows:
Visit the “My Workspace” menu.
Click on the “My Access” left-hand side menu.
3. Now Click on the “+ Request” button on the top-right button.
Here we need to decide whether we want to provide a Lifetime Access or a Time Based Access
Lifetime Access: Users have access to the application without any time restrictions.
Time Based Access: Users have access to the application only for the specified range of time. We need to provide a Start Date & Time and an End Date & Time for Time Based Access.
Now click on Save to register a request for the application assignment. If no Workflow is configured for the said application the application is immediately assigned to the user.
If a workflow for application provisioning is configured then the workflow is been initiated.
The workflow approver will then receive a request to approve the user assignment in their inbox.
Now the approver may approve or reject the user assignment
The approver may change the start and end date, if required; refer to the dynamic form attributes passed during the application assignment.
To continue the flow click on Accept button.
Now the next level of approver will be able to see the previous levels of approval, and similar to the previous level of approval, the approver may change the start and end date, if required; refer to the dynamic form attributes passed during the application assignment.
Click “Accept” to proceed.
After the last level approver has also approved the assignment, the backend processes will run the application provisioning flow.
Once the user has been provisioned in the application, they will be able to see it in their list of applications.
An administrator can bulk assign an application to a set of users. This an be achieved by uploading a .csv file which contains user information like., loginId, appUserId and roleId. For bulk assigning applications to users in Cymmetri platform administrator needs to
Click on Identity Hub > Applications menu and then click on the Applications Assignments button.
A screen pops up that lets you select the csv file you want to upload that contains the list of users to whom the application needs to be assigned, Upload the csv file, you may also use the sample data file available and modify it to match your user details.
Click on the Upload File button and select the file you wish to import
Once the file is selected ensure that the default parameters select match your requirement else you may change these parameters as per your requirement.
Once you have ensured the parameters are correct next select the application that needs to be assigned and click on Next button.
Match the Column names from the CSV file with the corresponding attributes using this File Info dialog box and click on the Import button.
Note: The "Link Application" check box is available to provision the user in the target application
Once Imported results of successfully Imported Users, Duplicate Users or any error that occurred during import can be see in Logs > Import History page
If any workflow is configured on the application provisioning then the corresponding workflow is triggered after the successful completeion of assignment as shown below:
Applications menu in the administration page displays the various options pertaining to the Application Management Process.
Applications menu can be accessed in two ways:
Identity Hub
Login as either an Organization Administrator, Domain Administrator, or Application Administrator.
Click on the Identity Hub icon on the left side bar.
Click on the Applications text on the slide out bar.
Single Sign On Module
Login as either an Organization Administrator, Domain Administrator, or Application Administrator.
Click on the Products menu icon on the left side bar.
Click on the Single SignOn Module icon in the popup list.
4. Click on the Applications text on the slide out bar.
Applications supported by the Cymmetri platform fall majorly into three categories -
Pre-configured Applications These are the applications that have already been configured by the Cymmetri platform for provisioning on cloud or on-premises.
Custom Applications for Provisioning These are the applications that you wish to manage through Cymmetri and support the generic connectors that the Cymmetri platform provides.
Custom Applications for Single SignOn only When you need to add an application for the sole purpose of enabling Single Sign-On (SSO), Cymmetri offers the capability to add a custom application that can be configured for SSO using the supported mechanisms.
Once you have chosen the application to be added from the above categories, you are ready to add a new application.
1. Click on the “Add New” button on the top-right corner in the Applications page.
2. In the Add New Application screen, you may search for your desired application (e.g., Active Directory), or your desired connector (e.g., REST) or choose the “Custom” application type from the available application catalogue.
3. Now click on the tile shown in the list below to open the right slide out menu for renaming application as shown below.
4. Add your custom label (if you wish) in the text box and click on the “Add Application” button.
Application has been successfully added to your listing now. You may click on the configure now button to start configuring the application.
Google Workspace is a software-as-a-service platform (SAAS) that provides email, calendar, documents and other services. This connector uses the Google Workspace provisioning APIs to create, add, delete and modify user accounts and email aliases.
Note: 1. Only the Premium (paid) or Educational versions of Google Workspace provide access to the provisioning APIs. 2. Connector will not work on the free Google Workspace Domain
For Configuring Google Workspace for provisioning we need to first obtain the client_secret.json file from the Google Workspace instance.
Go To https://console.developers.google.com/ and create a new Project if not already created. A new project needs to be created because it allows you to manage the credentials required to access Google APIs and services securely. A new project can be created by clicking on the New Project on top right or by clicking on the the Resource Dropdown
And the on the NEW PROJECT link on top right
Next enter the Project name and select Organisation and Location as shown below and click on CREATE button
The Admin SDK API is needed to programmatically manage and interact with various aspects of a Google Workspace domain, such as users, groups, organizational units, and settings. Here are some key reasons why the Admin SDK API is essential:
User Management: The Admin SDK API allows you to create, retrieve, update, and delete user accounts in your Google Workspace domain. You can manage user details such as name, email address, password, and organizational unit.
Group Management: You can create, retrieve, update, and delete groups within your Google Workspace domain using the Admin SDK API. This includes managing group members and settings.
Organizational Unit Management: The API enables you to manage organizational units (OUs) within your Google Workspace domain. You can create, retrieve, update, and delete OUs, as well as move users and groups between OUs.
User Reports: The Admin SDK API provides access to various reports about user activity, such as login activity, email sending/receiving activity, and more. These reports can help you monitor and analyze user behavior within your domain.
Settings Management: You can manage various domain-wide settings, such as email routing, calendar sharing settings, and device management settings, using the Admin SDK API.
Security and Compliance: The API provides features for managing security and compliance settings within your Google Workspace domain, such as 2-step verification, password policies, and audit logs.
To enable ADMIN SDK API click on Enabled API & Services and Search for Admin SDK API:
Click on Admin SDK API and then click on the Enable button
Once enabled, Click on CREDENTIALS tab
Now click on Credentials section and click on CREATE CREDENTIALS button and in that select OAuth client ID option
Select Desktop app as Application type, provide a name for the OAuth 2.0 client and then click on the CREATE button
A response screen is visible that shows that the "OAuth client created" It also displays Your Client ID and Your Client Secret. You may download the JSON here using the DOWNLOAD JSON option.
Click on OAuth consent screen and then Click on EDIT APP. Enter the required details and Click on SAVE AND CONTINUE button
Select Internal as User Type if you want to restrict access only to the users of your organization.
Search for Admin SDK API on the Scopes screen and select scope for user: .../auth/admin.directory.user
Select the scope for group: .../auth/admin.directory.group
Next Click on Credentials section and downlaod OAuth client json file on your local machine by clicking on the Download OAuth client button.
Next download thenet.tirasa.connid.bundles.googleapps-1.4.2.jar
bundle for Google Workspace from the Connector Server website. Once downloaded open a new command prompt and change to the directory where you have downloaded the bundle and run the following command on the client_secrets.json
file that you obtained earlier step:
This command opens the default browser, and loads a screen on which you authorize consent to access the Google Apps account. When you have authorized consent, the browser returns a code. Copy and paste the code into the terminal from which you ran the original command
A response similar to the following is returned.
Once the above information is obtained we need to configure the Google Workspace in Cymmetri with Server Configuration and User Configuration as shown below:
Once the configuration is done click on TEST CONFIGURATION button to check if the configuration is working.
Once the test is successful next go to the Assigments section and assign the application to a user as shown below:
Once assigned ensure that the user is created in Google Workspace.
For LDAP connector integration we need an LDAP server with the following detail sample.
Host/IP
LDAP Base Context
service user (Manager Username)
password (Manager User password)
After configure LDAP server we need to configure the Ldap application into the Cymmetri.
Check policy map to add proper attributes as needed by LDAP schema.
Any application which supports SCIM v2.0 with bearer token is workable for application.
Following are configuration which is used for SCIM with bearer.
Base address - It is the endpoint of the target system which supports SCIM v2 API’s.
Username - Username to authenticate SCIM API endpoint.
Password - Password to authenticate SCIM API endpoint.
Security Token - It is a token which is used to authenticate.
Grant Type - It is grant type which is used to grant access for API’s.
Client Id - client id for authentication
Client Secret - client secret for authentication
Authentication type - It is Fixed Bearer compulsory.
Update method - Patch or Put method.
Accept - Http header which accepts (application/json etc).
Content Type - Http header which accepts (application/json etc).
Access Token Base Address - base address for access token
Access Token Node Id - node id for access token
Access Token Content Type - content type for access token.
Integration SCIM v2.0 with Basic
Any application which supports SCIM v2.0 with basic authentication is workable for application.
Following are configuration which is used for SCIM with basic authenticator.
Base address - It is the endpoint of the target system which supports SCIM v2 API’s.
Username - Username to authenticate SCIM API endpoint.
Password - Password to authenticate SCIM API endpoint.
Authentication type - It is Fixed Bearer compulsory.
Update method - Patch or Put method.
Accept - Http header which accepts (application/json etc).
Content Type - Http header which accepts (application/json etc).
Integration REST Application
The REST connector is designed to manage provisioning by relying on RESTful service.
For REST applications we need target applications which support REST API’s.
Following configuration is tested for felicity application.
We need REST API’s to integrate with cymmetri.
Following are the cymmetri configuration which need to configure in user configuration in cymmetri.
It is Basic REST configuration which need to configure in application.
We need to provide Groovy code to run create user, update user, delete user and also recon pull and push (for recon pull we need to add sync script and for recon push we need to add search script)
For sample script please validate following link
Note: Please Configure script step by step
Configure test script at initial step and then test configuration for provided script (If configure successfully then only go for step b).
Configure create script and test configuration (If successfully configured then only go for step c).
Configure update script and test configuration (If successfully configured then only go for step d).
Configure delete script and test configuration (If successfully configured then only go for step e).
Configure sync(pull) script and test configuration (If successfully configured then only go for step f).
Configure search(push) script and test configuration (If successfully configured then only go to the next step).
Any application which supports SCIM v2.0 with fixed bearer is workable for application.
Following are configuration which is used for SCIM with fixed bearer
Base address - It is the endpoint of the target system which supports SCIM v2 API’s.
Username - Username to authenticate SCIM API endpoint.
Password - Password to authenticate SCIM API endpoint.
Authentication type - It is Fixed Bearer compulsory.
Fixed Bearer Value - The value for fixed bearer.
Update method - Patch or Put method.
Accept - Http header which accepts (application/json etc).
Content Type - Http header which accepts (application/json etc).
Pre-requisites:
Make sure you have the following information before you proceed further:
Cymmetri login credentials
Access to IIS (Internet Information Services) to install certificates.
Access to Windows Certificate Services
Active Directory Essentials:
Server hostname and password
OU (Organisation Unit) name, if any
SSL ports need to be enabled on your side
Export the CA Certificate from Active Directory and import it into the Connector Server.
Make sure the certificate is installed on the Connector Server
Exporting your Active Directory certificate to the Connector Server is a necessary and crucial step. This ensures that the Active Directory and Cymmetri Identity Server can communicate over LDAPS (LDAP over SSL). For this to happen, LDAPS requires a properly formatted certificate installed in your Active Directory Domain Controllers. Please refer to this link and follow the same steps:
Once the certificate has been imported per the above instructions, you must restart the application to apply the changes made.
Navigate to the Identity Hub on the left navigation bar and click the Applications tab. You will see a list of existing applications.
Click 'Add New', and you will find the entire list of all available applications.
Search for Active Directory on the top right and click on it. You should see the Active Directory application sidebar on the right.
The Application Label
has a default name for the Active Directory application and can be changed according to your choice. Click 'Add Application' from the bottom right to add the Active Directory application to your Cymmetri profile.
You have now added an Active Directory application to Cymmetri.
After adding the Active Directory, the 'Configure Now' button is enabled. Click this button to start setting up your Active Directory application.
Define which attributes should be fetched from your Active Directory. You can do that by going to the Policy Attribute section.
Here below are shown some Active Directory attribute descriptions
Policy Attributes - Policy attributes are user attributes (field names) in the Active Directory.
The policy attribute table is prefilled with standard Active Directory Attributes by default. Please verify if it works for you. If not, follow the below mappings for the provisioning to work.
telephoneNumber
- mobile
sAMAccountName
- login
givenName
- firstName
mail
- email
sn
- lastName
cn
- firstName
2.1 Adding new attributes
If the standard list does not contain the attributes you want to include, you can add new attributes by clicking the 'Add new' button on the right.
Fill in the attribute name, and description and click Save.
Also, toggle the Active switch to enable this new attribute.
Besides the present policy attributes, you need to add a custom attribute in case you're going for group provisioning, i.e. memberOf
attribute.
Now that you've defined what attributes to fetch from Active Directory, you will map these to Cymmetri user attributes.
On the same window, navigate to the policy map in the left navigation bar.
Policy Map - Mapping of Cymmetri and Active Directory attributes.
You will see that the attributes are set to False
by default. Our first step in the mapping process is to enable the attributes for syncing.
Click on the edit button next to the 'Application Field' name.
The 'Application Field' indicates the Active Directory field name, and the 'Cymmetri Field' indicates the Cymmetri field name.
To map the attributes, we need to sync the attributes on create and update only. Hence, these checkboxes need to be checked.
The 'Set default value' field accepts the default value you enter here if the field is empty in Active Directory.
Next, click on the 'Update' button.
Similarly, repeat this for all attributes.
One exception is the sAMAccountName
field. The 'Is User Principal' checkbox is enabled by default because it is the primary key (unique data) on the Active Directory side, and login
is the primary key on Cymmetri side; leave it checked.
Some important policy map fields which need to be declared in the policy map are as follows.
If any attribute is missing from the policy map but present in your policy attribute. Add it by clicking the 'Add Cymmetri Field' and follow the same steps to map it to the appropriate field.
If you want to add a new field that is not present even in Cymmetri, click on the 'Add Custom Field' button. For group provisioning, the memberOf
attribute must be configured with the memberOf
attribute from the custom attribute.
The connector server is a tool that provides different connectors that enable various provisioning operations from different sources to Cymmetri. In our case, we will prepare the connector server to work with the Active Directory source.
Click Provisioning from the left navigation bar and enable application provisioning by sliding the slider button.
Once you enable the application provisioning, you must take care of two configurations to successfully provision Active Directory data to Cymmetri.
Server Configuration - Consists of configuring the connector server.
Enter the IP address of the host server and its password. The rest of the fields come pre-filled with default values; you can change them according to your use case. Next, click on the save configuration button.
User Configuration - Consists of all user settings like domain name, search filter, etc. We can also configure an OU (Organisational Unit) in this window.
Note - You would need to change the below fields as per your organisation:
Root suffix - Add your domain name here.
Principal Password - Add your server password here.
Server Hostname - Add your server name here.
Principal - Add your admin Display Name of the Active Directory.
The base context for user search - You can add your Organisation Unit here.
The base context for group search - Add the base context to enable group search
Server port - Ensure that it is set to 636 for push
Page size- Define pageable result count for users
SSL - True is SSL is configured
Trust all certs - True.
Disable User OU Movement - Provide the path for disabling OU movement here.
Click on the save configuration button. Next, click on test configuration to see a successful toast message if your configuration is successful.
While configuring, you might encounter errors like:
Authentication exception - Failure due to incorrect username and password.
Solution - Keep all your necessary credentials handy and enter the details carefully
Socket timeout - Connection refusal by the target system
Solution - Please ensure your network connections are accurate to avoid socket timeout errors.
SSL issue - SSL issue occurs mainly if certificates are not configured correctly.
Solution - Follow the steps mentioned in Step 1 rigorously to import the Active Directory certificate to avoid SSL-related errors.
The last step of onboarding users is to add the users from Active Directory to Cymmetri by Reconciliation.
Pull users from your Active Directory to Cymmetri.
Click the 'Reconciliation' tab on the left navigation bar on the same page.
Next, click the 'Add New' button under the pull tab.
Add the field name details, and give a name to the pull reconciliation.
The modes field is prefilled with 'FILTERED_RECONCILIATION'; keep it as it is. It specifies the mode of Reconciliation.
The Sync fields are a drop-down menu with Cymmetri attributes that need to be mapped with the Source attributes, that is, your Active Directory attributes. Choose the correct mappings for these fields.
Keep the Status
as Active.
Types
are prefilled with the User
. Keep it as it is.
You can define the conditions for the Pull Reconciliation. It specifies the different scenarios of the Reconciliation. All the tabs have the same options in the dropdown: IGNORE
, UPDATE
, DEPROVISION
, PROVISION
, UNLINK
, LINK
, ASSIGN
, UNASSIGN
.
Here is an example scenario:
The options to choose in a Reconciliation operation depend on your use case and change accordingly.
In this case, we have chosen to IGNORE
the users that do not exist in your Active Directory but exist in Cymmetri. Also, IGNORE
users who are present in both the systems. PROVISION
the users that exist in your Active Directory but do not exist in Cymmetri.
Hit the save button on the top left and click the 'Run now' button. The status of the recon changes to active.
You can head to the users tab and check if users are synced. If the reconciliation is successful, the users start appearing in this tab.
Sync your user data to Active Directory.
Navigate to the push tab and click on 'Add New'.
Repeat Steps 2 and 3 from Pull Reconciliation.
Move towards the Search Filter and Add Criteria section on the page.
Fill in all the user details like Department, Designation, User Type, Location, Manager, Group, if any, email and mobile number. Keep the account status slider in the unlocked option. Choose user status as 'Active'.
Set the conditions for the Push Reconciliation.
Click on Save at the top-right corner of the page.
Click on 'Run-now' to start the Push Reconciliation. You can check the status on the Reconciliation page.
Navigate to the users page to check the new users added to Cymmetri.
Navigate to the History tab to check and track the pull and push Reconciliation of the past.
Click on the eye icon to view the Push/Pull reconciliation operation.
All the details configured in the Push/Pull Reconciliation can be seen here. It also displays the Summary of Pending, Synced and Error records.
If, in any case, you're facing issues, head to the Logs->Audit Log to check for error logs.
Click on the eye icon to check the event attributes in the audit log for errors.
Application Field | Field | User Principal | Create Only | Update Only |
---|---|---|---|---|
Search for a user in the search text box, and once the user is found, click on the “Assign” button.
4. Click on the Application Icon to start the request process
Reference:
Attribute Name | Description |
---|
Active Directory attribute | Cymmetri Attribute |
---|
Field Name | Description |
---|
Field Name | Description |
---|
Options | Usage |
---|
User exists in target system, not in Cymmetri | User exists in both systems | User does not exist in target system, but in Cymmetri | Result |
---|
displayName
displayName
-
True
True
__NAME__
login
-
True
True
__PASSWORD__
password
-
True
True
mailNickname
mailNickName
-
True
True
userPrincipalName
login
True
True
True
givenName
firstName
-
True
True
surname
lastName
-
True
True
-
True
True
usageLocation
country
True
True
azureLicense
azureLicense
<actual license key>
True
True
CN | Common Name/ Display Name |
RDN | Relative Distinguished Name - An RDN is the relative portion of a Display Name (DN). |
SN | Surname |
__NAME__ | Users Display Name |
__PASSWORD__ | Users password |
sAMAccountName | Unique login attribute |
cn | Unique login attribute (specific to user) |
rdn | Used to pass the OU (Organization Unit) path |
Host server | The IP address of the host server |
Server port | Port of the host server |
Server Password | Host Server password |
Server connector bundle version | Version number of the connector server bundle |
Server connector bundle name | Name of the connector server bundle |
Server connector name | Given name of the connector server |
Server Connector Timeout | Timeout of the connector server in milliseconds |
Server Connector UseSSL | Connector server SSL configuration |
Entry object classes | Object classes to which the Account class is mapped |
Root suffixes | Display names used for Active Directory synchronisation to Cymmetri, such as domain controller name |
Principal password | Admin password to connect to Active Directory |
Default id Attribute | Default attribute Id |
Custom user search filter | Search filter used to search accounts |
Connector messages | Custom connector messages |
Default group container | Default group container can be used during create operation in case of entry DisplayName is not explicitly mentioned |
Default people container | Default people container can be used during create operation in case of entry DisplayName is not explicitly mentioned |
Group owner reference attribute | Group attribute referencing (by DisplayName) the users members of a group |
Custom group search filter | User search filter for groups |
Group search scope | Choose object, onlevel or subtree |
Server hostname | Active Directory server hostname that would connect to Cymmetri |
Conservative membership policy | Conservative management of assigned groups. The groups already assigned to an user on Active Directory will not be removed. |
Memberships | Groups to identify users to synchronize. The connector ignores any changes about users not member of indicated groups. |
Verify memberships in OR | Indicate if specified memberships must be verified using 'OR' logical operator. |
Object classes to synchronise | User object classes to synchronise. The connector ignores any changes if it cannot find modified entry object classes in this property. |
Page size | Get users from Active Directory with the provided size |
Pageable result | Get users from Active Directory with the provided size pageable result |
Server port | Port of the Active Directory connector server |
Principal | Admin username of the Active Directory |
Permit password update only | Permit password update only. Create/delete operation will be denied, while other attributes update requests will be ignored. |
Retrieve deleted groups | Indicate if deleted groups must be synchronized also. |
Retrieve deleted users | Indicate if deleted users must be synchronised also. |
SSL | True if the SSL certificate is configured |
Trust all certs | Indicative if all server certificates can be trusted |
UID attribute | Unique Identifier Attribute |
Base context for user entry searches | Display the Name of OU (Organization Unit), Root domain or Root controller required for user entry search |
User search scope | The scope could be a subtree or object for user search |
IGNORE | You can skip the process by choosing this option. |
UPDATE | It can be used when you want to modify or reflect new changes. |
PROVISION | You can use this option to onboard the users. |
DEPROVISION | You can use this option to remove the users. |
LINK | You can use this option to link the users to Cymmetri |
UNLINK | You can use this option to unlink the users to Cymmetri |
ASSIGN | You can use this option to assign the users to Cymmetri |
UNASSIGN | You can use this option to unassign the users to Cymmetri |
UPDATE | IGNORE | PROVISION | Update user details in the target system, ignore if a user is present in both systems and provision users that do not exist in the target system. |
To use this mechanism ensure that the managed application supports authentication using OpenID Connect 1.0 protocol.
OpenID Connect 1.0 is a simple authentication layer protocol built on top of OAuth 2.0 protocol. It acts as a Single Sign On mechanism and authentication mechanism for not only the Web based applications, as SAML 2.0 does, but also for applications requiring access to APIs protected by this protocol as an authorization mechanism, and for mobile-native or Single page Applications (SPA) to verify user’s identity.
For understanding the core concepts of the OpenID Connect 1.0 protocol, it is important to grab the basics of the underlying OAuth 2.0 protocol.
Client (RP): Client refers to the managed application to which the end-user wishes to perform Single SignOn into. The client in the context of the OAuth 2.0 and OpenID Connect 1.0, is also referred to as the Relying Party (RP), since it relies on the Authorization Server
Client ID: Client ID is the unique identifier assigned to each managed application while configuring the application for OpenID Connect 1.0 or OAuth 2.0 flow.
Client Secret: This is a secret value that is shared between the relying party and the Authorization server, so that they may communicate and be always assured that the communication shared was actually sent by the other node in the communication.
Cymmetri Platform: Cymmetri platform in the context of OpenID Connect 1.0 Single SignOn mechanism acts as two components in the OAuth 2.0 and OpenID Connect 1.0 flows. These component roles are explained below.
OpenID module (Authorization Server): Since Cymmetri acts as an Identity platform, it holds the capability to ensure that user session is valid, the user is authorized to access the managed application, among other authorization decisions, it plays the role of Authorization server in the OpenID Connect 1.0 process.
User Management Module (Resource server): Since Cymmetri acts as a User Identity Hub, it holds the capability to store and provide user information to a managed application for the purpose of authentication and Single Sign On, it plays the role of Resource Server (Resource, being the user information) in the OpenID Connect 1.0 process.
User (Resource Owner): The user information to be shared for a successful authentication is the resource in the OpenID Connect 1.0 flow, therefore, in the OAuth 2.0 terms, the user information is the resource, and the end-user is the resource owner.
OpenID Authorization Endpoint: Authorization endpoint is used for accepting authentication/authorization requests in the form of redirected requests with the OpenID request query parameters added to it.
OpenID Token Endpoint: Token endpoint is used for generating Access Token and ID Token by using the authorization code received by the managed application (Relying Party).
User Information Endpoint: User information endpoint may be invoked by using the token shared to the managed application from Cymmetri , it will provide a list of all the user information that the user has consented to share with the end-application.
Token Introspection Endpoint: Token introspection endpoint is used when the relying party is an API client that requires access to the APIs protected by the OpenID Connect deployment. It will verify whether the access token is still valid and well-formed.
Redirect URIs: These are callback resources on the managed application, that can receive the messages sent from the Authorization provider (Cymmetri).
Scope: These are parameters used to indicate what information related to the user can be shared to the managed application.
State: This is a random string generated by the Relying party (managed application) to ensure that the message sent back by Cymmetri is a response for the request raised by it for Single SignOn.
Nonce: This is a random string generated by Relying party (managed application) to ensure that the message sent back by Cymmetri is a response for the request raised by it for Single SignOn and to prevent replay attacks.
Access Token: Access token is generated by Cymmetri for the purpose of authorising a client (whether an end-user OR an application using OpenID Connect). This may be verified for the purpose of ensuring the validity of the access token by the client requesting the token.
ID Token: The ID token is generated by Cymmetri for the purpose of authenticating an end-user using OpenID Connect protocol. Typically, the subject name and the email Address are shared as a part of this ID token along with any nonces or states used in the protocol are shared. This ID token may be used to get more information using the User Information Endpoint.
Authorization Code: This is a string generated by Cymmetri for the purpose of server-to-server communication between the Relying party (managed application) and the Authorization provider (Cymmetri). It may be exchanged by the relying party for the purpose of obtaining access and ID tokens.
For performing Single SignOn with managed applications that have a backend (Typical Web Application SSO)
For performing Single SignOn with managed applications that do not have a backend (Single Page Applications and mobile-native applications)
For authorizing access to REST APIs by verifying that the client making the calls has the requisite access.
Authorization Code Grant Type Flow
Typically used in the same scenario as the SAML 2.0 flow, it is used when the Identity provider and the Managed application are both capable of having a separate frontend and backend. These backends can have back-channel communication that is secure and cannot be modified or viewed in transit. This is therefore typically used when full-blown web applications are available.
Implicit Grant Type Flow
Typically used when the managed application is a simple Single Page application or a mobile native application that may not be able to use back-channel secure communication and a shared secret may not be used for authenticating the managed application to the Identity provider.
Client Credentials Type Flow
Typically used when a user is not involved and there is no need for ID tokens. The managed application handles its own authentication or is operating as a backend service only and needs to access a resource protected by the Identity provider.
Flow Explained
User requests to access the application.
The managed application generates a random string each for state and nonce for starting the OpenID flow; and set these as the cookies for the user browser.
The Cymmetri Identity platform frontend will generate authorization request with the client_id, state, nonce, redirect_uri, response_type expected, and the scopes requested by the application.
The request will be verified by the OpenID service in the Cymmetri Identity platform backend.
Redirect the user to the login flow page, and initiate the login challenge-response flow.
Login Challenge sent by the OpenID service to the frontend.
Login session of the end-user is verified by the user service.
Once the login session is verified, the frontend service responds back to the OpenID service with the challenge sent to it, to complete the login challenge-response flow.
The openID service sets a login_verifier nonce as a cookie.
The frontend replays the authorization request to the openID service with the login_verifier nonce to initiate the consent flow.
The OpenID service validates the login_verifier nonce. If successful, then the OpenID service will redirect the end-user to the consent flow page.
The frontend would then load the consent page with the scopes expected by the managed application, as reflected in the configuration.
The end user must then provide the consent for the scopes to share the relevant data to the managed application.
The challenge-response for consent flow is sent to the OpenID service with the scopes accepted by the end-user.
The OpenID service will set a cookie on the user’s browser with a consent verifier nonce.
The frontend replays the authorization request to the openID service with the consent_verifier nonce.
If the response was accepted by the Consent flow, then an authorization code will be sent to the frontend.
The Cymmetri frontend will then redirect the user to the “redirect_uri” of the managed application with the authorization code, state, and the nonce will be sent as query parameters.
The managed application will verify the state and the nonce shared in step 2.
The managed application will then make a POST API request to the Token API of the Cymmetri OpenID service to exchange the authorization_code with the ID token and the Access token.
If this authorization_code is validated by the OpenID service, the managed application will receive the ID token and the Access token.
The managed application may simply use the ID token to get the username and email address of the user and attempt to generate a session.
If more user information is needed and the profile scope was consented by the user, then the managed application may make a call to the User Information endpoint of the OpenID service using the “access token” received in step 21.
This user information may also be used by managed application to generate a user session.
Once the user session is created, the managed application sets the session cookie on the user browser, and redirects the user to the managed application landing page.
First, we need to add the managed application into the Cymmetri Identity platform deployment.
Enable the Single SignOn by -
Clicking on the SignOn link on the left side menu
Clicking the toggle button on the right side.
The application URL text box may be left empty OR an endpoint from the managed application may be added that can initiate the OpenID flow by making a call to the OpenID service of the Cymmetri Identity platform deployment.
Select the OpenId/OAuth radio button to start configuring OpenID flow
Click on the dropdown for Advanced Settings (OpenID)
Main Dropdown Settings
Client ID - Refers to the client_id to be sent to the managed application.
Client Name - User friendly name for the client.
Client Secret - Can be left blank. After saving the configuration, a popup will show the generated client secret.
Redirect URLs - Refers to the endpoint on the managed application, that acts as a callback URL.
Access Dropdown Settings
Scope Settings
Scopes are used to track the consents of the end-users. This is used to determine what information the end-user wishes to share with the managed application.
Let us understand the scopes in play here -
openid - As we wish to support OAuth 2.0 flows as well, the openid scope is optional. However, since we are dealing with OpenID Connect flow here, openid scope is mandatory for this flow.
email - User’s email address is shared with the managed application.
address - User’s address fields are shared with the managed application.
phone - User’s phone number and mobile number fields are shared with the managed application.
profile - Shares the entire list of user attributes with the managed application.
offline_access - <added for future-proofness, not yet implemented>
The ‘openid’ scope is mandatory for this flow.
The ‘offline_access’ scope is not currently used by the Cymmetri Identity platform deployment.
Other profiles are optional.
Providing ‘profile’ scope overrides the settings for the ‘email', ‘address’ and ‘phone’ scopes.
Grant Type setting lets the Cymmetri Identity platform know which flow you wish to opt for -
Authorization Code refers to the current flow.
Refresh Token has not been implemented currently for the Cymmetri Identity platform.
Since this flow requires sharing the authorization code, and NOT the ID token, we may choose “code” as a response type.
The managed application is expected to mention using query parameters while starting the OpenID Connect flow to mention which response type it is expecting from the Cymmetri Identity platform.
While, we have chosen code as our return type, we could choose any other response type that also includes code return type.
Public subject type setting is used, since it is the most common mechanism for OpenID connect flows.
Pairwise Mechanism may be supported upon request. Please contact Cymmetri Support team in case your application needs support for pairwise subject type.
This indicates the manner in which the response (access token or ID token) is shared back by the Cymmetri Identity platform to the managed application.
Client Secret over HTTP basic - Shared as a query parameter or a fragment to the managed application through an HTTP redirect.
Client Secret over HTTP POST - Shared as a part of the response body to a REST endpoint exposed by the managed application through a POST Request.
Private key JWT - Share JWT instead of opaque access tokens. This is no longer considered safe and other options are preferred.
No Authentication as a response type is not to be used in the OpenID Connect flow.
The current flow uses redirections to share credentials and involves user interaction. So we choose to use “Client Secret over HTTP Basic” as the response type setting for this flow.
Flow Diagram
Flow Explained
User requests to access the application.
The managed application generates a random string each for state and nonce for starting the OpenID flow; and set these as the cookies for the user browser.
The Cymmetri Identity platform frontend will generate authorization request with the client_id, state, nonce, redirect_uri, response_type expected, and the scopes requested by the application.
The request will be verified by the OpenID service in the Cymmetri Identity platform backend.
Redirect the user to the login flow page, and initiate the login challenge-response flow.
Login Challenge sent by the OpenID service to the frontend.
Login session of the end-user is verified by the user service.
Once the login session is verified, the frontend service responds back to the OpenID service with the challenge sent to it, to complete the login challenge-response flow.
The openID service sets a login_verifier nonce as a cookie.
The frontend replays the authorization request to the openID service with the login_verifier nonce to initiate the consent flow.
The OpenID service validates the login_verifier nonce. If successful, then the OpenID service will redirect the end-user to the consent flow page.
The frontend would then load the consent page with the scopes expected by the managed application, as reflected in the configuration.
The end user must then provide the consent for the scopes to share the relevant data to the managed application.
The challenge-response for consent flow is sent to the OpenID service with the scopes accepted by the end-user.
The OpenID service will set a cookie on the user’s browser with a consent verifier nonce.
The frontend replays the authorization request to the openID service with the consent_verifier nonce.
If the response was accepted by the Consent flow, then an authorization code will be sent to the frontend.
The Cymmetri frontend will then redirect the user to the “redirect_uri” of the managed application with the access token, ID token, state, and the nonce will be sent as query parameters.
The managed application may simply use the ID token to get the username and email address of the user and attempt to generate a session.
If more user information is needed and the profile scope was consented by the user, then the managed application may make a call to the User Information endpoint of the OpenID service using the “access token” received in step 21.
This user information may also be used by managed application to generate a user session.
Once the user session is created, the managed application sets the session cookie on the user browser, and redirects the user to the managed application landing page.
First, we need to add the managed application into the Cymmetri Identity platform deployment.
Enable the Single SignOn by -
Clicking on the SignOn link on the left side menu
Clicking the toggle button on the right side.
The application URL text box may be left empty OR an endpoint from the managed application may be added that can initiate the OpenID flow by making a call to the OpenID service of the Cymmetri Identity platform deployment.
Select the OpenId/OAuth radio button to start configuring OpenID flow -
Click on the dropdown for Advanced Settings (OpenID)
Main Dropdown Settings
Client ID - Refers to the client_id to be sent to the managed application.
Client Name - User friendly name for the client.
Client Secret - Can be left blank. After saving the configuration, a popup will show the generated client secret.
Redirect URLs - Refers to the endpoint on the managed application, that acts as a callback URL.
Access Dropdown Settings
Scope Settings
Scopes are used to track the consents of the end-users. This is used to determine what information the end-user wishes to share with the managed application.
Let us understand the scopes in play here -
openid - As we wish to support OAuth 2.0 flows as well, the openid scope is optional. However, since we are dealing with OpenID Connect flow here, openid scope is mandatory for this flow.
email - User’s email address is shared with the managed application.
address - User’s address fields are shared with the managed application.
phone - User’s phone number and mobile number fields are shared with the managed application.
profile - Shares the entire list of user attributes with the managed application.
offline_access - <added for future-proofness, not yet implemented>
Grant Type setting lets the Cymmetri Identity platform know which flow you wish to opt for -
Implicit refers to the current flow.
Refresh Token has not been implemented currently for the Cymmetri Identity platform.
Since this flow requires sharing the ID token directly along with access token, we may choose “id_token” or “id_token token” as a response type.
The managed application is expected to mention using query parameters while starting the OpenID Connect flow to mention which response type it is expecting from the Cymmetri Identity platform.
While, we have chosen 'id_token token' as our return type, we could choose any other response type that also includes both of these return types.
Public subject type setting is used, since it is the most common mechanism for OpenID connect flows.
Pairwise Mechanism may be supported upon request. Please contact Cymmetri Support team in case your application needs support for pairwise subject type.
Credential Dropdown Settings
Client Secret over HTTP basic - Shared as a query parameter or a fragment to the managed application through an HTTP redirect.
Client Secret over HTTP POST - Shared as a part of the response body to a REST endpoint exposed by the managed application through a POST Request.
Private key JWT - Share JWT instead of opaque access tokens. This is no longer considered safe and other options are preferred.
No Authentication as a response type is not to be used in the OpenID Connect flow.
The current flow uses redirections to share credentials and involves user interaction. So we choose to use “Client Secret over HTTP Basic” as the response type setting for this flow.
Flow Diagram
Flow Explained
Generating Access Token for the Managed Application
OpenID service shares client ID, client secret, and audience to the managed application during the configuration phase.
The managed application makes a POST request to the token API of the OpenID service with the previously shared clientID, client secret, the audience string, and the grant_type as “client_credentials”.
The OpenID service validates the combination of (client_id, client_secret, and audience) and generates an access token to be shared to the managed application with an expiry time (in seconds).
The managed application should then verify the access token received by calling the token introspection endpoint.
Using the Access token to access protected API resource
The managed application should first request an access token as discussed above.
The managed application may then attempt to access the protected resource by sharing the client_id and authenticate the request using Bearer token as the access_token.
The protected resource may then validate the access token shared by calling the token introspection and validate that the client_id shared by the managed application in step 2 matches the client_id for which the access_token was generated, and that the token has not expired.
If the validation in step 3 is successful, the protected resource will be shared to the managed application.
First, we need to add the managed application into the Cymmetri Identity platform deployment.
Enable the Single SignOn by -
Clicking on the SignOn link on the left side menu
Clicking the toggle button on the right side.
The application URL text box may be left empty for this flow, since the user does not need to be involved with this flow.
Select the OpenId/OAuth radio button to start configuring OpenID flow -
Click on the dropdown for Advanced Settings (OpenID)
Main Dropdown Settings
Client ID - Refers to the client_id to be sent to the managed application.
Client Name - User friendly name for the client.
Client Secret - Can be left blank. After saving the configuration, a popup will show the generated client secret.
Redirect URLs - Refers to the endpoint on the managed application, that acts as a callback URL.
Audience - This audience needs to be shared by the managed application, and the Cymmetri Identity platform will validate it for providing access token.
Access Dropdown Settings
Scope Settings
Scopes are used to track the consents of the end-users. This is used to determine what information the end-user wishes to share with the managed application.
Let us understand the scopes in play here -
openid - As we wish to support OAuth 2.0 flows as well, the openid scope is optional. However, since we are dealing with OpenID Connect flow here, openid scope is mandatory for this flow.
email - User’s email address is shared with the managed application.
address - User’s address fields are shared with the managed application.
phone - User’s phone number and mobile number fields are shared with the managed application.
profile - Shares the entire list of user attributes with the managed application.
offline_access - <added for future-proofness, not yet implemented>
Grant Type setting lets the Cymmetri Identity platform know which flow you wish to opt for -
Authorization Code refers to the current flow.
Refresh Token has not been implemented currently for the Cymmetri Identity platform.
Since this flow requires sharing the access token, and NOT the ID token, we may choose “code” as a response type.
The managed application is expected to mention using query parameters while starting the OpenID Connect flow to mention which response type it is expecting from the Cymmetri Identity platform.
While, we have chosen code as our return type, we could choose any other response type that also includes code return type.
Public subject type setting is used, since it is the most common mechanism for OpenID connect flows.
Pairwise Mechanism may be supported upon request. Please contact Cymmetri Support team in case your application needs support for pairwise subject type.
Credential Dropdown Settings
Client Secret over HTTP basic - Shared as a query parameter or a fragment to the managed application through an HTTP redirect.
Client Secret over HTTP POST - Shared as a part of the response body to a REST endpoint exposed by the managed application through a POST Request.
Private key JWT - Share JWT instead of opaque access tokens. This is no longer considered safe and other options are preferred.
No Authentication as a response type is not to be used in the OpenID Connect flow.
The current flow has API exchange of tokens and validations. So we choose to use “Client Secret over HTTP POST” as the response type setting for this flow.
Note: To use this mechanism, please ensure that your managed application supports authentication using SAML 2.0 protocol acting as the Service Provider (SP).
SAML 2.0 is a primarily web-based Single Sign On mechanism that uses XML based messages exchanged between the authenticating party, referred to as the Identity Provider (IdP) in the SAML 2.0 terms, and the relying party, referred to as the Service Provider (SP) in the SAML 2.0 terms.
In the context of Cymmetri SAML 2.0 implementation, your Cymmetri platform acts as the Identity Provider (IdP) and the managed application that the end-user wishes to access through Single Sign On acts as the Service Provider (SP).
The mechanisms within the SAML 2.0 protocol used for sharing Single Sign On messages are referred to as the SAML 2.0 bindings.
While the SAML 2.0 and its predecessor SAML 1.1 support various bindings, the Cymmetri platform supports the two most commonly used bindings for web applications - viz., HTTP POST Binding and HTTP Redirect Binding. These reflect the manner in which the requests and responses are shared between the Identity provider (Cymmetri platform) and the Service Provider (managed application).
HTTP Redirect Binding: The SAML assertion messages (request and response XML messages) are shared as GET query parameters.
HTTP POST Binding: The SAML assertion messages (request and response XML messages) are shared as POST body messages.
Additionally, there are two flows in which SAML 2.0 Request-Response cycle may be accomplished.
Service Provider initiated flow (SP initiated flow)
Identity Provider initiated flow (IdP initiated flow)
To start the configuration of the managed application for SAML 2.0 based SignOn mechanism, we must identify the flow supported by the managed application.
Let us explore what both these flows mean and how to configure your managed application to use them.
The SAML 2.0 Service Provider Initiated flow indicates that the Service Provider (in our case, the managed application which the end-user wishes to access via Single Sign On) has started the SAML 2.0 Single Sign On process by sending a SAML 2.0 request XML to the Cymmetri platform. This is achieved by the user landing on the Single Sign On URL of the managed application.
In practice, however, since the user is typically on the Cymmetri platform, we have enabled mechanisms to redirect the user to the Single SignOn URL of the managed application, when the user clicks on the application tile.
Flow Description
User lands on the SSO URL page of the managed application. This may be either through clicking on the application tile on the Cymmetri platform or by the user actually entering the SSO URL of the managed application in the browser address bar.
Managed application generates the SAML 2.0 request XML which holds the following important parameters - Request Id, Assertion Consumer Service URL (ACS), the expected Protocol Binding, and the Issuer of the Request.
A redirect is made to the page handling Single Sign On requests on the Cymmetri platform (<baseurl-of-cymmetri-tenant/samlsrvc/SingleSignOnService>
) with the request in base64 format as a query parameter.
This page sends the SAML request body to the backend services of the Cymmetri platform to validate the request and to verify whether a session exists for a Cymmetri user in the current browser instance.
If a session does not exist for any user, the user is asked to login into the Cymmetri Identity platform.
If a session exists for the user, then the backend validates whether the user is authorized to access the application for which the SSO request has been initiated. (by checking whether the user is assigned the application.)
The backend services of the Cymmetri platform generates a SAML response XML body and send it as GET request query parameter (if the protocol binding in the SAML request is HTTP Redirect) or as a POST request body (if the protocol binding in the SAML request is HTTP POST binding) to the Assertion Consumer Service URL mentioned in the SAML Request body, with the SAML Response audience as the Issuer mentioned in the SAML request body, and a field “InResponseTo” as the Request ID from the SAML request body.
The managed application would then validate the SAML response (and the signature, if was requested in the SAML request body).
If the SAML Response body is not a valid SAML Response, then the user is redirected to the managed application’s error page.
If the SAML response body is a valid SAML response, then the SAML assertion is extracted to obtain the user information sent by the Cymmetri platform.
If the user information is not valid, for any reason, then the corresponding error is displayed to the user by redirecting the user to the managed application’s error page.
If all the user information is valid, the managed application initiates the user’s session in the managed application web portal, and corresponding session cookies are generated.
Finally, the user is redirected from the application’s Assertion Consumer Service URL to the landing page of the managed application.
Note: In case of any validation errors, please refer to the section explaining the error scenarios below and change the configuration in either the managed application or the Cymmetri Application Sign On configuration page.
The configuration parameters mentioned below are required to configure an application for Single Sign On using the Service Provider Initiated flow in the Cymmetri platform.
Prerequisites from the Managed Application
Entity ID/ Request Issuer - This is the request issuer that would have been sent by the managed application in case this were a Service Provider Initiated flow.
Assertion Consumer Service URL - This is the URL to which the SAML response must be sent by the Cymmetri platform.
Expected NameID Policy - This indicates whether the managed application expects the user subject name to be sent as the email address, username, or some other unspecified value.
Expected Signature Algorithm - The expected algorithm to be used for signing the responses and assertions.
Let us see an example demonstrating SP Initiated flow. We will be using a Service Now Instance for this example.
Initially, we include a SAML service provider from the Single Sign-On section under Service Providers by selecting the "Add New" button located at the top right corner of the page.
The Admin will be displayed the below SAML SSO configuration page in Cymmetri
Now go back to Service Now instance and Navigate to Multi-Provider SSO > Identity Providers. Choose any existing IdP and click the Generate Metadata button. The integration automatically generates the instance's SP metadata from the system property settings.
Let us come back to the SAML 2.0 settings for our managed application in Cymmetri platform and start entering the fields one by one.
SAML Type - We select the “SP_INITIATED” from the dropdown.
Since the metadata downloaded from ServiceNow does not indicate the use of a particular signature algorithm, let us simply use “RSA_SHA256”.
Further, we need to select NameID Format. Referring to the highlighted portion in the metadata downloaded from the sample application, we find only 1 supported NameID format
emailAddress: This indicates to the managed application, that the Identity Provider (Cymmetri Platform) will be sending the end-user’s email address, and that the managed application must handle it accordingly.
We see four other NameID formats in the dropdown, let us understand them one-by-one.
NameID Formats:
unspecified: This is a generic and default selection of NameID format, typically this would mean that the Cymmetri platform may send any user attribute, which can be selected further. The managed application must handle it accordingly. This will be used whenever some custom or unusual user attribute is to be passed to the managed application.
transient: This is used as a NameID format when we wish to indicate to the managed application, that the end-user’s details sent during the SAML 2.0 process is in fact not permanent, but may change for the period of the end-user’s identity lifecycle.
persistent: This is used as a NameID format when we wish to indicate to the managed application, that the end-user’s details sent during the SAML 2.0 process is permanent, and will remain the same for the period of the end-user’s identity lifecycle.
username: This is used as a NameID format when we wish to indicate to the managed application, that we will be sharing the end-user’s username from Cymmetri Identity Provider to the managed application during the SAML 2.0 process.
Let us select email as the NameID format.
Let us now discuss NameID Values
There are two scenarios here -
Choosing NameID format as “username” and “email” - The value of the NameID Value will not matter, the end-user’s username or email address will be shared to the managed application.
Choosing NameID format as “unspecified”, “transient”, and “persistent” - The value of the NameID value will allow for a particular value of the User object to be shared to the managed application.
Possible Values of NameID Value are - email, mobile, firstName, lastName, displayName, loginId.
Let us select email as a NameID value, however, it will not affect the configuration.
Let us select “Exclusive” as the Canonicalization Method. Reasons may be explained here in the SAML reference document.
For configuring the “Request Issuer”, let us refer back to the downloaded metadata.xml from the Service Now application.
We use the entityID from the downloaded metadata as the Entity ID
Please note that the Entity ID field is how the Cymmetri platform identifies the managed application from the SAML Request sent by the managed application. Please ensure that the Entity ID is unique across the deployment.
For the Assertion Consumer Service URL, we once again refer to the downloaded XML,
Let us enter the Assertion Consumer URL as "https://dev190728.service-now.com/navpage.do"
Finally, we refer to the downloaded XML one last time, for deciding upon the toggle buttons:
Here we see the managed application, requires only the Assertions to be signed and not the Authentication requests, we define the toggle switches accordingly.
Now go back to the main page and Download the Service provider meta data by clicking on the ellipsis in front of the record.
The metadata you've downloaded will appear in a format similar to this.
Let us return back to Service Now application for completing the configuration on the Service provider side.
Before starting the IDP Configuration the Multi Provider SSO Plugin needs to be enabled. Steps for the same are provided here: https://docs.servicenow.com/bundle/vancouver-platform-security/page/integrate/single-sign-on/task/t_ActivateMultipleProviderSSO.html
Also the plugin is activated, we need to Configure Multi-Provider SSO properties, Steps for the same are provided here: https://docs.servicenow.com/bundle/vancouver-platform-security/page/integrate/single-sign-on/task/t_ConfigureMultiProviderSSOProps.html
For successfully enable SSO properties you might have to configure an account recovery user, Steps for the same are provided here: https://docs.servicenow.com/bundle/vancouver-platform-security/page/integrate/single-sign-on/concept/config-acr.html
Once the above 3 steps are successfully completed we can create a new IDP
Click on the New button to create a new IDP
Then select SAML
Then upload the metadata from the file downloaded in a previous step. and Hit Import button to store the Identity provider metadata in the application.
Once imported provide the Signing/ Encryption Key Alias and Signing/ Encryption Key Password as saml2sp and in the Advanced Tab tick the CreateAuthnContextClass checkbox. The Signing/ Encryption Key Alias and Signing/ Encryption Key Password are used for encryption of data and the CreateAuthnContextClass is used to tell the IDP that Service Now requires that they present a specific login mechanism such as form, Kerberos etc.
Note: Also make sure both the logout urls present here are removed temporarily for testing purposes, else you would logout completely from ServiceNow
Then enter the instance url in the SignOn configuration of the managed application on the Cymmetri portal.
Click the “Save” button.
Next Create a New User in Service Now. Go to Organization->Users->New and provide the credentials of the user logged into Cymmetri as show below and Submit:
Now that both sides are configured, let us test the flow by assigning the application to the current user.
Then to activate the externa IDP in Service Now we need to test the connection on the Service Now side by clicking on the Test Connection button.
Once successfully tested you should see the below screen with successful test results. Click on the Activate button to activate the IDP.
Once activated Click on the Set as Auto Redirect IdP link to automatically redirect to IDP when using a SP Initiated process
Once it is enabled we can come to the currently logged in user's My Workspace-> My Access page and click on the Service Now application tile
We will now be redirected to the ServiceNow home page using the logged in users crendentials as shown below:
The SAML 2.0 Identity Provider Initiated flow indicates that the Identity Provider (in our case, the Cymmetri platform) has started the SAML 2.0 Single SignOn process by sending an unsolicited SAML 2.0 response XML to the Cymmetri Identity platform. This is achieved by the user clicking on the managed application tile in their workspace.
Flow Description
The user clicks on the application tile, which sends a request to the Cymmetri platform backend to initiate the SAML 2.0 SignOn process.
The backend validates whether the user is authorised to access the application for which the SSO request has been initiated. (by checking whether the user is assigned the application.)
The backend services of the Cymmetri platform generates a SAML response XML body and send it as GET request query parameter (if the protocol binding expected in the SAML request is HTTP Redirect) or as a POST request body (if the protocol binding expected in the SAML request is HTTP POST binding) to the Assertion Consumer Service URL mentioned in the SAML Request body, with the SAML Response audience as the Issuer mentioned in the SAML request body, and a field “InResponseTo” as the Request ID from the SAML request body.
The managed application would then validate the SAML response (and the signature, if was requested in the SAML request body).
If the SAML Response body is not a valid SAML Response, then the user is redirected to the managed application’s error page.
If the SAML response body is a valid SAML response, then the SAML assertion is extracted to obtain the user information sent by the Cymmetri platform.
If the user information is not valid, for any reason, then the corresponding error is displayed to the user by redirecting the user to the managed application’s error page.
If all the user information is valid, the managed application initiates the user’s session in the managed application web portal, and corresponding session cookies are generated.
Finally, the user is redirected from the application’s Assertion Consumer Service URL to the landing page of the managed application.
The configuration parameters mentioned in the information panel below are required to configure an application for Single SignOn using the Identity provider initiated flow in the Cymmetri Identity portal.
Prerequisites from the managed Application
Entity ID/ Request Issuer: This is the entity id/ request issuer that would have been sent by the managed application in case this were a Service Provider initiated flow.
Assertion Consumer Service URL - This is the URL to which the SAML response must be sent by the Cymmetri Identity platform.
Expected NameID Policy - This indicates whether the managed application expects the user subject name to be sent as the email address, username, or some other unspecified value.
Expected Signature Algorithm - The expected algorithm to be used for signing the responses and assertions.
Note: Identity Provider initiated flow is a subset of the Service Provider initiated flow. Some steps are similar if you have already configured the Service Provider initiated flow.
Initially, we include a SAML service provider from the Single Sign-On section under Service Providers by selecting the "Add New" button located at the top right corner of the page.
The Admin will be displayed the below SAML SSO configuration page in Cymmetri
Let us start entering the fields one by one.
SAML Type - We select the “IDP_INITIATED” from the dropdown.
All the remaining steps for configuring IdP Initiated SAML 2.0 flow are same as shown above in the SP Initiated flow.
Now that both sides are configured, let us test the flow by assigning the application to the current user.
Click on the currently logged in user's My Workspace-> My Access page and click on the Service Now application tile
We will now be redirected to the ServiceNow home page using the logged in users crendentials as shown below:
Scenario 1: SAML request body does not meet the validation requirements for the SAML request.
Cause: Incorrect implementation of the SAML protocol by the managed application.
Fix: Verify that the SAML protocol is accurately implemented by the managed application.
Scenario 2: SAML request body does not have the same issuer as the configuration in the Cymmetri platform.
Cause: Incorrect configuration of SignOn on the Cymmetri platform for the managed application.
Fix: Change the request Issuer in the managed application configuration on the Cymmetri platform according to the Issuer field in the SAML request.
Scenario 3: SAML response body does not meet the validation requirements for the SAML response.
Cause: Incompatible expectations of the SAML 2.0 response body between the managed application and the Cymmetri Identity platform.
Fix: Connect with the Cymmetri Identity platform support team.
Scenario 4: SAML Response assertion has the incorrect audience.
Cause: Incorrect configuration of the entity id/request issuer field in the Cymmetri Identity platform for the managed application.
Fix: Verify and change the entity id/ request issuer field in the managed application configuration on the Cymmetri platform according to the Issuer field in the SAML request.
Scenario 5a: User from the SAML Assertion is not valid.
Cause: Incorrect name ID format.
Fix: Verify and change the NameID format as expected by the managed application.
Scenario 5b: User from the SAML Assertion is not valid.
Cause: Incorrect user field in the assertion.
Fix: Verify that the right user field is selected as the “NameID Value” in the managed application configuration and Verify that the user information has the correct information as expected by the managed application in the field selected as the “NameID Value” in the managed application configuration on the Cymmetri platform.
Scenario 5c: User from the SAML Assertion is not valid.
Cause: User information is as expected but scenario 5b is not the cause.
Fix: Verify that the user information is present in the user database of the managed application. In case the managed application has JIT feature, ensure that the SAML attributes are correctly configured.
A SAML Attribute Mapper is a component or feature in a Single Sign-On (SSO) or identity federation system that helps map user attributes between different identity providers (IdPs) and service providers (SPs) during the SAML (Security Assertion Markup Language) authentication process.
Here's how it works:
Authentication: When a user tries to access a service or application that requires authentication, they are redirected to an identity provider (IdP) for authentication. The IdP verifies the user's identity and generates a SAML assertion containing information about the user.
SAML Assertion: The SAML assertion typically contains various attributes about the user, such as their username, email address, roles, or other user-related information. These attributes are represented as name-value pairs.
Attribute Mapping: Before the SAML assertion is sent to the service provider (SP), which is the application or service the user is trying to access, there may be a need to map or transform these attributes. This is where the SAML Attribute Mapper comes into play.
Attribute Transformation: Sometimes, the IdP may use different attribute names or formats than what the SP expects. The SAML Attribute Mapper can transform the attributes in the SAML assertion to match the expectations of the SP.
Filtering: The mapper can also be used to filter or select specific attributes from the SAML assertion. For example, if the IdP provides a wide range of attributes, but the SP only needs a subset of them, the mapper can be configured to include only the required attributes in the assertion sent to the SP.
Value Mapping: It can map attribute values as well. For instance, if the IdP uses "userType=employee" and the SP expects "role=employee," the mapper can perform this value mapping.
Forwarding to SP: Once the attributes in the SAML assertion are mapped or transformed as necessary, the SAML assertion is forwarded to the service provider. The SP can then use these attributes for authorization and access control decisions.
In case of default attributes, the user object already has the attributes, we just need to ensure that the right values are assigned to these attributes. In case of custom attributes, custom attributes must be added to your Cymmetri Identity platform deployment.
Let us click on the “configure SAML attributes” link in the configuration page
On clicking the following should pop up
Let us add an attribute mapper as per the table defined above
We have added the First Name of the user from the Cymmetri Identity Platform to the managed Application as the key “First Name”.
Click on the save icon next to the delete icon (trash can icon).
Click on the “X” icon to close the attribute mapper.
Now once again go back to the “My Access” page and click the application tile.
Service Now can use this data for auto provisioning of users via jit provisioning provided Auto Provisioning User is enabled under the User Provisioning tab in the Identity Provider Configuration page.
Cymmetri's Single Sign-On (SSO) module is designed to simplify user authentication within the Cymmetri platform's web portal. With SSO, end-users authenticate just once, gaining seamless access to all their assigned applications without the hassle of repeated logins.
This article provides step-by-step guidance on configuring applications for SSO within your Cymmetri platform.
Note: Before proceeding with the configuration, ensure that the Single Sign-On Module is enabled for your tenant to activate and utilize SSO effectively.
1. SAML 2.0: SAML 2.0 (Security Assertion Markup Language) serves as a primary mechanism for web applications to exchange messages, facilitating Single Sign-On for end-users.
2. OpenID Connect: Derived from the OpenID family of SSO mechanisms, OpenID Connect offers versatile SSO capabilities across a wide range of application types, including web, mobile native, and desktop-based applications. It is therefore more versatile than SAML 2.0, and particularly well-suited for mobile applications and social logins.
Note: For either SAML 2.0 or OpenID Connect to function, the managed application must support the corresponding mechanism.
3. REST API-Based SSO: While SAML 2.0 and OpenID Connect adhere to established standards, certain legacy applications within your organization may face integration challenges with these protocols. To address this, we have introduced Custom API-Based SSO as an alternative SSO mechanism. This involves making specific code modifications to the managed application, as elaborated in the following section.
Note: While the Cymmetri Identity platform supports Custom API-Based SSO, we strongly recommend transitioning to the aforementioned SAML 2.0 and OpenID Connect mechanisms for enhanced security and compatibility.
To allow your end-users to access applications managed by your Cymmetri Identity platform deployment, the applications must be configured for Single SignOn, and then assigned the application.
To enable end-users to access applications managed through your Cymmetri platform, applications must configure Single Sign-On for the desired applicationsa
While it is not recommended for obvious reasons, as an administrator you may configure an application to be used simply for provisioning and redirection, without performing Single SignOn.
Note: The following section is to be used for configure only applications for which you do not need to perform Single SignOn. In case you need to configure any of the following Single SignOn mechanisms, you may skip this section and refer to the corresponding configuration in your chosen method of Single SignOn.
Configuring the Application URL
For configuring an application to simply redirect the enduser to the landing page of the managed application -
Once in the applications menu, click on the application tile for which you need to configure the landing page URL and then on the left side menu, select the SignOn menu item.
Toggle the “Enable Single Sign-On (SSO)” switch to open the corresponding configuration options.
Enter the landing page URL in the “Application URL” text box and click the adjoining “Save” button.
The popup indicating “SSO Updated Successfully” will indicate that the Application URL has been configured successfully for your application.
Conclusion
Assigning the application to an end user will show an application tile as shown below:
Clicking on the application tile, will redirect the user to the assigned landing page URL.
In our increasingly digitized world, safeguarding personal and sensitive information is of paramount importance. With cyber threats on the rise, traditional passwords alone are no longer sufficient to protect our digital identities and assets. This is where Multi-Factor Authentication (MFA) comes into play. MFA is a robust security measure that enhances online protection by requiring users to provide multiple forms of authentication before granting access to an account or system.
MFA typically involves three factors:
Something You Know: This is the traditional password or PIN that users have to enter. While passwords alone are susceptible to brute-force attacks or phishing, the combination with other factors adds an extra layer of security.
Something You Have: Users are also required to possess something physical, like a smartphone, smart card, or a security token. This device generates a one-time code, further authenticating the user.
Something You Are: This factor is based on biometric data, such as fingerprints, facial recognition, or retina scans. Biometrics add a high level of security as they are unique to each individual.
MFA offers several advantages:
Enhanced Security: By combining multiple authentication factors, MFA makes it significantly more challenging for cybercriminals to gain unauthorized access. Even if they have a password, they would still need physical access to a user's second-factor device or their biometric data.
Mitigation of Password Vulnerabilities: Since passwords are vulnerable to theft or hacking, MFA helps reduce the risks associated with compromised passwords.
Improved Compliance: In various industries, compliance standards require the implementation of MFA to protect sensitive data, reinforcing its importance in data protection and privacy.
User-Friendly: Modern MFA solutions are designed to be user-friendly, offering a seamless authentication experience through mobile apps or SMS verification.
Multi-Factor Authentication is a critical tool in our arsenal against the growing threats in the digital realm. By combining what we know, have, and are, MFA offers a robust defense, ensuring that only authorized individuals gain access to sensitive information and systems. It's a key element in the ongoing battle to safeguard our digital identities and data.
Multi-Factor Authentication is a mechanism used across the Cymmetri platform to deal with second level authentication.Typically employed using off-band mechanisms, Cymmetri allows flexibility by introducing both modern and traditional mechanisms, such as:
Cymmetri Authenticator
Push Authenticator
Google Authenticator
SMS Authenticator
Secret Questions
FIDO Authenticator
Access Multi-factor authentication by going to Products > Multifactor
Next, we select Factor sub-menu
In the upcoming sections we will explore each of these mechanisms.
In any Identity and Access Management (IAM) system, provisioning rules are predefined instructions or policies that dictate how user accounts and access privileges are automatically created, modified, or deactivated across various IT systems and applications.
These rules streamline the process of managing user identities and access rights throughout their lifecycle within an organization.
In Cymmetri, administrators have the ability to establish these rules within the "Rules" tab under the Lifecycle Management module. To do so, the administrator navigates to the "Provision" section, where the following page will be displayed.
On this page, administrators can view a comprehensive list of all the currently established rules within Cymmetri, along with an "Edit" button that allows them to make modifications to these rules.
On the top right corner of the page the admin can find the Add new button to add a new provisioning rule in Cymmetri.
To add a new rule you must do the following:
Add the name of the rule
Add Description of the rule
Select whether any condition should be applied to the rule
Activate the rule and save
Once the rule is saved, it will be included in the main listing. To define or modify the rule, click on the "Edit" button corresponding to the record.
The initial step involves defining the rule by specifying the application and the corresponding roles that will activate the rule.
If necessary, roles can be created for the application directly within the provisioning rule before adding them.
Note: Multiple application and roles can be added in a single provisioning rule
The next step is to add the condition upon which the rule will be activated within the system.
To add a condition navigate to the conditions section and click on Add new condition button.
You can set up multiple conditions for the rule. For example, in the rule below, the conditions are that the user must be an "employee," and their department should be "Sales."
Note: Only the active conditions will be executed for the rule to trigger while provisioning.
If required these conditions can be added, deleted or modified.
These rules automate and streamline the process of managing user accounts and access privileges across various systems and applications within an organization.
Custom workflows can be configured and customized further by creating workflow rules.
To create Workflow Rules Navigate to Products -> Lifecycle Management -> Workflow -> Rules and click on the +Add New button
Following details need to be provided whenever a new rule is added: Name: (Mandatory)Name of the Worflow Rule
Workflow: (Mandatory) Need to select the custom workflow for which the rule will be applicable
Event: (Mandatory) Select event triggering the workflow, such as Application Provisioning, Deprovisioning, User Creation, Workflow Setup, Application Role, Application Update, Decommission Device, and more.
Description: (Optional) General description of the rule
Conditions:
Conditions and filters can be added for country, department, designation, login pattern, user type, application, application role, and workflow depending upon the event selected
Multiple conditions can be combined using AND/ OR operators
Conditions can also be grouped to evaluate to true or false as a group
Meta conditions can be added for application events if meta values are added for applications
Github Enterprise provides provisioning using SCIM 2.0
Pre-requisites
Create an account in Github (Enterprise).
Enable SAML for the Github tenant to be used with Cymmetri.
Step 1. Configure SSO in Cymmetri
Note the application URL received from the Git SAML configuration
Continue the configuration by logging into Cymmetri using at least Application Administrator role
Note: Public certificate gets from SSO metadata(cymmetri) and format it using following
https://www.samltool.com/format_x509cert.php
Note: Make sure when you test SAML then in cymmetri login with github admin users loginid which is added in cymmetri.
Configure Profile Mapping
Create User in Cymmetri and make sure login id of Cymmetri is same as gitHub Admin user login id.
Test SSO with the Cymmetri user.
Configure SCIM v2.0 (Github) application from master (cymmetri).
Basic provisioning policy attribute and policy map already aaded in default schema.
Github Application is run using Fixed Bearer token.
To get Fixed bearer token following steps used.
Step 1: Go to user settings in github
Step 2: Go to developer settings
Step 3: Go to personal access token and generate new token
Step4: Click on Configure SSO
Step 5: Click on Authorize
Use following cymmetri provision configuration and change according to github account.
Fixed Bearer Value copy from personal access token
Click on save
Click on Test Configuration with success message.
Check Policy map
Disable default for the respective attribute
Once the applications have been configured to allow that the end-users have been provisioned into the managed application. We may now start configuring the reconciliation process for an application. The reconciliation process involves identifying the user attributes as stored in the Identity hub (Cymmetri platform) and their attributes as a user or a group account in the managed application; and the ensuring that the synchronization of the user and group accounts takes place either one-way or both ways between the managed application and the Identity hub, to ensure that there no discrepancies in the accounts stored by both the systems.
The reconciliation process may follow two strategies -
Full Reconciliation Full reconciliation is typically carried out when the managed application is first introduced into an organization’s Cymmetri platform. This involves ensuring all user accounts (and group accounts, wherever applicable) from the Cymmetri platform, are synchronized with the account information on the managed application. This type of reconciliation often takes a longer time, and is often only used as a one-time activity.
Filtered Reconciliation The Cymmetri platform and the managed application might lose synchronization due to a number of reasons, including backend changes to the user or group account information on the managed application or failure of communication between the identity platform and the managed application. In such cases, filtered reconciliation is employed on a regular, scheduled basis. This includes filters for a particular set of users, or to choose only the users that have been modified on either platforms, this is known as filtered reconciliation.
Cymmetri platform allows for both types of reconciliation phases, by allowing administrator to define an optional user filter during the reconciliation process.
The reconciliation process involves two major processes:
Pull In this mechanism, the Cymmetri platform allows for user and group account information to be pulled from the managed application.
Push In this mechanism, the Cymmetri platform pushes the user and group account information to be pushed to the managed application.
Regardless of the process employed, the configuration for the most part remains the same. Let us explore the reconciliation configurations on the Cymmetri Platform:
You may access the reconciliation menu by clicking on the application tile, and then clicking on the “Reconciliation” left-hand side menu.
Proceed to configure by clicking on the “+ Add New” button.
Name: Refers to the name of the Reconciliation process
Modes: FILTERED_RECONCILIATION (Currently the only mode supported by Cymmetri)
Sync Fields: The field from the user/group’s account information as available on the Cymmetri platform that must be used as a basis to identify the corresponding account on the managed application database.
Source Attributes: The field from the user/group’s account information as available on the managed application database that must be used as a basis to match with the “Sync fields”.
Status: Whether to run the reconciliation for Active/Inactive users.
Type: Some applications allow GROUP reconciliation, but most will have USER reconciliation only.
Filled Reconciliation basic configuration looks as above.
Let us assume we are synchronizing the Cymmetri Platform with a cloud provider using email or mail attribute as the Sync field. As such users on both platforms having the same email address will be matched/un-matched.
User does not exist in Target system & exists in Cymmetri: This indicates a situation during a pull phase or a push phase, where the user account exists on the Cymmetri platform, but not in the managed application. This typically occurs when the users have been pulled into the Cymmetri platform, but the managed application is yet to be synchronized with these users.
User exists in Cymmetri & Target system: This indicates a situation during a pull phase or a push phase, where the user account exists on the Cymmetri platform and in the managed application, but they may or may not have the same attributes or the same values of the attributes.
User exists in Target system & does not exist in Cymmetri: This indicates a situation during a pull phase or a push phase, where the user account exists in the managed application database but not on the Cymmetri Identity platform. This typically occurs when the users have been pulled into the managed application through its backend and the users have not been centrally managed through the Cymmetri platform.
User does not exist in Target system & exists in Cymmetri:
PROVISION: User is created in the target system with the attributes as present in their Cymmetri user profile.
IGNORE: User is not modified in either system.
UPDATE: Not relevant for this scenario.
DEPROVISION: User is removed from the Cymmetri platform to be consistent with the managed application user database.
UNASSIGN: Not relevant for this scenario.
ASSIGN: User is assigned access to this system in Cymmetri, this option may be used in the case of options like JIT being available to generate user profile in the managed application.
UNLINK: Not relevant for this scenario.
LINK: Not relevant for this scenario.
User exists in Cymmetri & Target system:
PROVISION: User is created in the target system with the attributes as present in their Cymmetri user profile.
IGNORE: User is not modified in either system.
UPDATE: User information from the Cymmetri Identity platform is updated using the account information from the managed application and vice versa.
DEPROVISION: Not relevant for this scenario.
UNASSIGN: Not relevant for this scenario.
ASSIGN: User is assigned the managed application on the Cymmetri platform in case they are already not assigned.
UNLINK: Not relevant for this scenario.
LINK: Not relevant for this scenario.
User exists in Target system & does not exist in Cymmetri:
PROVISION: User is created in the Cymmetri Identity platform deployment using the account information from the managed application.
IGNORE: User is not modified in either system.
UPDATE: Not relevant for this scenario.
DEPROVISION: User is removed from the managed application user database.
UNASSIGN: Not relevant for this scenario.
ASSIGN: Not relevant for this scenario.
UNLINK: Not relevant for this scenario.
LINK: Not relevant for this scenario.
Scheduling the reconciliation process:
Next Execution Date: This indicates the base date to start the execution date and time of the reconciliation process.
Cron Expression: This indicates the frequency with which the further reconciliation events will be run. There are 6 fields here - * * * * * * (e.g., 5 15 0 1 8 *) ; they refer to seconds, minutes, hours, days, months, and year after the first execution date.
Deprovisioning rules in any IAM system define the automated processes for managing the removal or deactivation of user accounts and access privileges when certain conditions are met.
These rules play a critical role in ensuring that access rights are promptly revoked when users no longer require them, enhancing security and compliance.
In Cymmetri, to establish deprovisioning rules, navigate to the "Deprovisioning" section within the rules under the User Lifecycle Management module.
Deprovisioning configuration includes the following:
Deprovisioning the user based on the Status or End Date of the user retrieved from the source system. Additionally, administrators can also choose to define provisioning based on any Hook Rule that provides users with the ability to insert custom logic for deprovisioning event.
Exclusion Application: This feature enables administrators to specify which applications should be exempt from the deprovisioning event in Cymmetri. Consequently, whenever deprovisioning is initiated, these selected applications will not be removed from a user's access.
Grace Period: The grace period allows you to set the number of days before the application is removed from the user's access.
Process Allocation Size: It refers to the number of simultaneous threads or parallel processes that Cymmetri allocates for executing the deprovisioning tasks. It determines how many user accounts or access revocations can be processed concurrently.
In Cymmetri, administrators can create a custom scheduler for a Deprovisioning rule to promptly eliminate unauthorized user access as per a specified timetable. This involves defining the scheduler using a cron expression, activating it, and saving the configured settings.
Workflows may be configured for a number of use cases in the Cymmetri Identity Platform, primary among them being for assigning application to a user (provisioning), unassigning application to a user (deprovisioning), and running reconciliation campaigns.
Workflows in Cymmetri Identity Platform may be configured for upto 4 stages of approval.
The administrator may select upto 4 approvers.
For each stage, the administrator may select one of the three options -
User - A particular user may approve workflow request at this stage.
Group - A user belonging to the selected Group may approve Workflow request at this stage.
Reporting Manager - The reporting manager of the user for which the approval is to be provided may approve the workflow request at this stage.
To observe how to workflow runs in action, refer Inbox
The Workflow List page serves as a comprehensive repository, showcasing a detailed overview of completed workflows, whether approved or rejected.
This tool provides at-a-glance insights into each workflow's essential information, including Topic,Workflow Level, Status, Group Name, Requestor, and Current Assignee. Users can efficiently navigate and assess the historical progression of tasks, gaining clarity on the completion of each workflow.
With a user-friendly interface, administrators can quickly get a view of all the completed workflows for managing and analyzing completed workflows
The Actions button allows to view further details about the workflow stage and details about approval and/ or rejection
The Pending Workflows List page provides a consolidated view of all ongoing workflows awaiting approval or rejection.
The comprehensive snapshot enables administrators to quickly identify pending tasks, their current status, and the associated contextual details.This tool provides at-a-glance insights into each workflow's essential information, including Topic,Workflow Level, Status, Group Name, Requestor, and Current Assignee.
By providing a centralized location for pending workflows, this page allows Administrators to effortlessly track the progression of tasks, ensuring timely reviews and approvals.
The Teams Config feature is designed for Reporting Managers, providing them with controlled access based on specific conditions to perform various actions for their team members. Based on different conditions like Country, Department, Designation, Login Pattern and UserType multiple such configurations can be created in different combinations and different set of permissions.
Administrators can grant the following permissions to Reporting Managers:
Archived Users: Allows the manager to view archived users from their team.
Suspended User View: Enables the manager to view suspended users from their team.
Suspended Users Resume : Allows the manager to resume suspended users from their team.
Suspended Users Delete : Permits the manager to delete suspended users from their team.
Create User: Enables the manager to create new users.
Update User: Allows the manager to update user information.
User Info: (Enabled By Default) Provides access to view detailed user information.
User Application View: Allows the manager to view applications assigned to team members.
Assign Application: Permits the manager to assign applications to team members.
Assign Role: Enables the manager to assign roles to team members.
Unassign Application: Allows the manager to unassign applications from team members.
Unassign Role: Permits the manager to unassign roles from team members.
Menu Action: Grants access to context menu actions.
Assign Group: Enables the manager to assign user groups.
Unassign Group: Permits the manager to unassign user groups.
User Lock & Unlock: Allows the manager to lock or unlock user accounts.
User Delete: Permits the manager to delete user accounts.
Reset Password: Enables the manager to reset user passwords.
Assign RBAC Role: Allows the manager to assign RBAC roles.
Unassign RBAC Role: Permits the manager to unassign RBAC roles.
Secret Question: Grants access to view secret questions of team members.
Remove MFA For User: Permits the manager to remove MFA for team members.
Active User Status: Sets a user's status to active.
Inactive User Status: Sets a user's status to inactive.
Risks and Violations: Allows the manager to view risks and violations associated with team members.
To configure Teams Config, follow these simple steps:
Navigate to Products -> Lifecycle Management -> Teams Config.
Administrator can choose to Add a new teams config or update an existing one. A newly added configuration added by the administrator can be both deleted and/or deactivated.
Click on the +Add Teams Config button and a page as below will be shown:
Name: A name for the configuration
Description: A detailed description for the configurations
Status: Set to active for enabling the configuration
Team: Set of permissions (as explained above) that the administrator can select from, to provide different levels of access to the manager
Conditions: Set of conditions (like Country, Department, Designation, Login Pattern and UserType) that the manager need to satisfy for the permissions to be provided to the manager
There is a Default Teams Config that applies to all reporting managers. Any permission enabled here is universally applicable. It cannot be deleted but can be deactivated.
Customization based on specific conditions for a particular set of managers is not possible in this default configuration.
Webhooks are a way for external systems to receive events from the Cymmetri Identity Platform.
Requires the tenant organization to run a web server that is exposed to the Internet or at least accessible from the Cymmetri Cloud 2.0 deployment on the cloud
Events may be received for the following events -
Testing Webhook - Generates a POST request to the /test endpoint of the web server hosted by the tenant. It provides an authorization token that can be used for making any API calls to the Cymmetri Cloud 2.0 APIs. Is generated after this configuration. Go to the Configuration Menu and Select the webhooks menu -
Click on the save & test button.
Pre Create User - Generates a POST request, before the user is created, to the /preCreateUser endpoint of the web server hosted by the tenant.
Pre Update User - Generates a POST request, before the user is updated, to the /preUpdateUser endpoint of the web server hosted by the tenant.
Post Update User - Generates a POST request, after the user is updated, to the /postUpdateUser endpoint of the web server hosted by the tenant.
Validate User - Generates a POST request, before the user is created and validation is to be run, to the /validateUser endpoint of the web server hosted by the tenant.
Validate Update User - Generates a POST request, before the user is created and validation is to be run, to the /validateUpdateUser endpoint of the web server hosted by the tenant.
Change password - Generates a POST request, upon the change of password for a user, to the /changePassword endpoint of the web server hosted by the tenant.
Pre Provision - Generates a POST request, before the provisioning of the user to an application, to the /preProvision endpoint of the web server hosted by the tenant.
Post Provision - Generates a POST request, after the provisioning of the user to an application, to the /postProvision endpoint of the web server hosted by the tenant.
Policy Map - Generates a POST request, while assigning the application to a user, to the /policyMap endpoint of the web server hosted by the tenant.
Deprovision Run - Generates a POST request, upon the update of a user to deprovision a user, to the /runDeprovision endpoint of the web server hosted by the tenant.
While other webhooks operate on a principle of fire-and-forget, the validateUser and the validateUpdateUser expect the response from the tenant as the same or modified body as sent to it for validation.
Test web hook
Purpose : This api is used to test web hook api.
Input Needed: NA
Curl Request:
curl --location --request POST 'http://192.168.29.227:8080/webhook/test' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImRlbGVnYXRlZSI6bnVsbCwiZGVsZWdhdGVlSWQiOm51bGwsImZpcnN0TG9naW4iOmZhbHNlLCJyb2xlcyI6WyJPUkdfQURNSU4iLCJVU0VSIl0sInRlbmFudElkIjoiYXMxMDAiLCJleHAiOjE2NDYzOTYzMDgsInVzZXJJZCI6IjYyMTRkYjdiZDY2MWE1NzM4NmE3MWYxMCIsImlhdCI6MTY0NjM5MDMwOH0.bdKZ3UBCedT91bJAWLCo2AOahIs5ClFMAhnj36f_ecQ' \
--header 'Content-Type: application/json' \
--data-raw '{
}'
Response:
{ "response": {} }
Pre Create User
Purpose : This web hook api is used to do some events before creating a user in the target system.
Input needed :
{
"request": {
"user": {
"assignedGroups": [],
"provisionedApps": {},
"securityQuestion": {},
"country": "India",
"firstName": "Shreyash2",
"lastName": "Pande2",
"login": "shreyash2",
"userType": "Employee"
}
}
}
Curl request:
curl --location --request POST 'https://52.66.206.31:8080/webhook/preCreateUser' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImRlbGVnYXRlZSI6bnVsbCwiZGVsZWdhdGVlSWQiOm51bGwsImZpcnN0TG9naW4iOmZhbHNlLCJyb2xlcyI6WyJPUkdfQURNSU4iLCJVU0VSIl0sInRlbmFudElkIjoiYXMxMDAiLCJleHAiOjE2NDYzOTYzMDgsInVzZXJJZCI6IjYyMTRkYjdiZDY2MWE1NzM4NmE3MWYxMCIsImlhdCI6MTY0NjM5MDMwOH0.bdKZ3UBCedT91bJAWLCo2AOahIs5ClFMAhnj36f_ecQ' \
--header 'Content-Type: application/json' \
--data-raw '{
"request": {
"user": {
"assignedGroups": [],
"provisionedApps": {},
"securityQuestion": {},
"country": "India",
"firstName": "Shreyash2",
"lastName": "Pande2",
"login": "shreyash2",
"userType": "Employee"
}
}
}'
Response: {
"response": {
"data": {
"assignedGroups": [],
"provisionedApps": {},
"securityQuestion": {},
"country": "India",
"firstName": "Shreyash2",
"lastName": "Pande2",
"login": "shreyash2",
"userType": "Employee"
}
}
}
Post create User
Purpose : This web hook is used to do some events after creating a user in the target system.
Curl request: curl --location --request POST 'http://192.168.1.193:8080/webhook/postCreateUser' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImRlbGVnYXRlZSI6bnVsbCwiZGVsZWdhdGVlSWQiOm51bGwsImZpcnN0TG9naW4iOmZhbHNlLCJyb2xlcyI6WyJPUkdfQURNSU4iLCJVU0VSIl0sInRlbmFudElkIjoiYXMxMDAiLCJleHAiOjE2NDYzOTYzMDgsInVzZXJJZCI6IjYyMTRkYjdiZDY2MWE1NzM4NmE3MWYxMCIsImlhdCI6MTY0NjM5MDMwOH0.bdKZ3UBCedT91bJAWLCo2AOahIs5ClFMAhnj36f_ecQ' \
--header 'Content-Type: application/json' \
--data-raw '{
"request": {
"user": {
"assignedGroups": [],
"provisionedApps": {},
"securityQuestion": {},
"country": "India",
"firstName": "Shreyash2",
"lastName": "Pande2",
"login": "shreyash2",
"userType": "Employee"
}
}
}'
Response : NA
Restful API - Pre update user
Purpose : This web hook is used to do some events before updating a user in the target system.
Input needed:
{
"request": {
"user": {
"assignedGroups": [],
"provisionedApps": {},
"securityQuestion": {},
"country": "India",
"firstName": "Shreyash2",
"lastName": "Pande2",
"login": "shreyash2",
"userType": "Employee"
}
}
}
Curl request:
curl --location --request POST 'http://192.168.1.193:8080/webhook/preUpdateUser' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImRlbGVnYXRlZSI6bnVsbCwiZGVsZWdhdGVlSWQiOm51bGwsImZpcnN0TG9naW4iOmZhbHNlLCJyb2xlcyI6WyJPUkdfQURNSU4iLCJVU0VSIl0sInRlbmFudElkIjoiYXMxMDAiLCJleHAiOjE2NDYzOTYzMDgsInVzZXJJZCI6IjYyMTRkYjdiZDY2MWE1NzM4NmE3MWYxMCIsImlhdCI6MTY0NjM5MDMwOH0.bdKZ3UBCedT91bJAWLCo2AOahIs5ClFMAhnj36f_ecQ' \
--header 'Content-Type: application/json' \
--data-raw '{
"request": {
"user": {
"assignedGroups": [],
"provisionedApps": {},
"securityQuestion": {},
"country": "India",
"firstName": "Shreyash2",
"lastName": "Pande2",
"login": "shreyash2",
"userType": "Employee"
}
}
}'
Response
{
"response": {
"data": {
"assignedGroups": [],
"provisionedApps": {},
"securityQuestion": {},
"country": "India",
"firstName": "Shreyash2",
"lastName": "Pande2",
"login": "shreyash2",
"userType": "Employee"
}
}
}
Post update user
Purpose : This web hook is used to do some events after updating a user in the target system.
Input needed :
{
"request": {
"user": {
"assignedGroups": [],
"provisionedApps": {},
"securityQuestion": {},
"country": "India",
"firstName": "Shreyash2",
"lastName": "Pande2",
"login": "shreyash2",
"userType": "Employee"
}
}
}
Curl request:
curl --location --request POST 'http://192.168.1.193:8080/webhook/postUpdateUser' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImRlbGVnYXRlZSI6bnVsbCwiZGVsZWdhdGVlSWQiOm51bGwsImZpcnN0TG9naW4iOmZhbHNlLCJyb2xlcyI6WyJPUkdfQURNSU4iLCJVU0VSIl0sInRlbmFudElkIjoiYXMxMDAiLCJleHAiOjE2NDYzOTYzMDgsInVzZXJJZCI6IjYyMTRkYjdiZDY2MWE1NzM4NmE3MWYxMCIsImlhdCI6MTY0NjM5MDMwOH0.bdKZ3UBCedT91bJAWLCo2AOahIs5ClFMAhnj36f_ecQ' \
--header 'Content-Type: application/json' \
--data-raw '{
"request": {
"user": {
"assignedGroups": [],
"provisionedApps": {},
"securityQuestion": {},
"country": "India",
"firstName": "Shreyash2",
"lastName": "Pande2",
"login": "shreyash2",
"userType": "Employee"
}
}
}'
Response: NA
Validate User
Purpose : This web hook is used to validate users before creating a user in the target system.
Input Needed :
{
"request": {
"user": {
"assignedGroups": [],
"provisionedApps": {},
"securityQuestion": {},
"country": "India",
"firstName": "Shreyash2",
"lastName": "Pande2",
"login": "shreyash2",
"userType": "Employee"
}
}
}
Curl request: curl --location --request POST 'http://192.168.1.193:8080/webhook/validateUser' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImRlbGVnYXRlZSI6bnVsbCwiZGVsZWdhdGVlSWQiOm51bGwsImZpcnN0TG9naW4iOmZhbHNlLCJyb2xlcyI6WyJPUkdfQURNSU4iLCJVU0VSIl0sInRlbmFudElkIjoiYXMxMDAiLCJleHAiOjE2NDYzOTYzMDgsInVzZXJJZCI6IjYyMTRkYjdiZDY2MWE1NzM4NmE3MWYxMCIsImlhdCI6MTY0NjM5MDMwOH0.bdKZ3UBCedT91bJAWLCo2AOahIs5ClFMAhnj36f_ecQ' \
--header 'Content-Type: application/json' \
--data-raw '{
"request": {
"user": {
"assignedGroups": [],
"provisionedApps": {},
"securityQuestion": {},
"country": "India",
"firstName": "Shreyash2",
"lastName": "Pande2",
"login": "shreyash2",
"userType": "Employee"
}
}
}'
Response: {
"response": {
"error": true,
"message": "MobileAlreadyExist"
}
}
Validate update user
Purpose : This web hook is used to validate users before updating a user in the target system.
Input needed:
"request": {
"user": {
"assignedGroups": [],
"provisionedApps": {},
"securityQuestion": {},
"country": "India",
"firstName": "Shreyash2",
"lastName": "Pande2",
"login": "shreyash2",
"userType": "Employee"
}
}
}
Curl request:
curl --location --request POST 'http://192.168.1.193:8080/webhook/validateUpdateUser' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImRlbGVnYXRlZSI6bnVsbCwiZGVsZWdhdGVlSWQiOm51bGwsImZpcnN0TG9naW4iOmZhbHNlLCJyb2xlcyI6WyJPUkdfQURNSU4iLCJVU0VSIl0sInRlbmFudElkIjoiYXMxMDAiLCJleHAiOjE2NDYzOTYzMDgsInVzZXJJZCI6IjYyMTRkYjdiZDY2MWE1NzM4NmE3MWYxMCIsImlhdCI6MTY0NjM5MDMwOH0.bdKZ3UBCedT91bJAWLCo2AOahIs5ClFMAhnj36f_ecQ' \
--header 'Content-Type: application/json' \
--data-raw '{
"request": {
"user": {
"assignedGroups": [],
"provisionedApps": {},
"securityQuestion": {},
"country": "India",
"firstName": "Shreyash2",
"lastName": "Pande2",
"login": "shreyash2",
"userType": "Employee"
}
}
}'
Response:
{
"response": {
"error": true,
"message": "EmailAlreadyExist"
}
}
Change password
Purpose : This web hook is used to do some events on password change.
Input Needed :
{
"request": {
"user": {
"assignedGroups": [],
"provisionedApps": {},
"securityQuestion": {},
"country": "India",
"firstName": "Shreyash2",
"lastName": "Pande2",
"login": "shreyash2",
"userType": "Employee"
},
"passwordText" : "Welcome@123"
}
}
Curl request: curl --location --request POST 'http://192.168.1.193:8080/webhook/changePassword' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImRlbGVnYXRlZSI6bnVsbCwiZGVsZWdhdGVlSWQiOm51bGwsImZpcnN0TG9naW4iOmZhbHNlLCJyb2xlcyI6WyJPUkdfQURNSU4iLCJVU0VSIl0sInRlbmFudElkIjoiYXMxMDAiLCJleHAiOjE2NDYzOTYzMDgsInVzZXJJZCI6IjYyMTRkYjdiZDY2MWE1NzM4NmE3MWYxMCIsImlhdCI6MTY0NjM5MDMwOH0.bdKZ3UBCedT91bJAWLCo2AOahIs5ClFMAhnj36f_ecQ' \
--header 'Content-Type: application/json' \
--data-raw '{
"request": {
"user": {
"assignedGroups": [],
"provisionedApps": {},
"securityQuestion": {},
"country": "India",
"firstName": "Shreyash2",
"lastName": "Pande2",
"login": "shreyash2",
"userType": "Employee"
},
"passwordText" : "Welcome@123"
}
}'
Response: NA
Pre provision
Purpose : This web hook is used to do some events before assigning applications to a user.
Input Needed :
{
"request": {
"policyMap" : "email",
"form" : "",
"applicationId" : "620231fee789224ec1cec3dd",
"roleList" : [],
"action" : "Application Create",
"user": {
"assignedGroups": [],
"provisionedApps": {},
"securityQuestion": {},
"country": "India",
"firstName": "Shreyash2",
"lastName": "Pande2",
"login": "shreyash2",
"userType": "Employee"
}
}
}
Curl Request:
curl --location --request POST 'http://192.168.1.193:8080/webhook/preProvision' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImRlbGVnYXRlZSI6bnVsbCwiZGVsZWdhdGVlSWQiOm51bGwsImZpcnN0TG9naW4iOmZhbHNlLCJyb2xlcyI6WyJPUkdfQURNSU4iLCJVU0VSIl0sInRlbmFudElkIjoiYXMxMDAiLCJleHAiOjE2NDYzOTYzMDgsInVzZXJJZCI6IjYyMTRkYjdiZDY2MWE1NzM4NmE3MWYxMCIsImlhdCI6MTY0NjM5MDMwOH0.bdKZ3UBCedT91bJAWLCo2AOahIs5ClFMAhnj36f_ecQ' \
--header 'Content-Type: application/json' \
--data-raw '{
"request": {
"policyMap" : "email",
"form" : "",
"applicationId" : "620231fee789224ec1cec3dd",
"roleList" : [],
"action" : "Application Create",
"user": {
"assignedGroups": [],
"provisionedApps": {},
"securityQuestion": {},
"country": "India",
"firstName": "Shreyash2",
"lastName": "Pande2",
"login": "shreyash2",
"userType": "Employee"
}
}
}'
Response : NA
Post provision
Purpose : This web hook is used to do some events after assigning applications to a user.
Input Needed :
{
"request": {
"policyMap" : "email",
"form" : "",
"applicationId" : "620231fee789224ec1cec3dd",
"roleList" : [],
"action" : "Application Create",
"user": {
"assignedGroups": [],
"provisionedApps": {},
"securityQuestion": {},
"country": "India",
"firstName": "Shreyash2",
"lastName": "Pande2",
"login": "shreyash2",
"userType": "Employee"
},
"isSuccess" : true,
"uid" : "5f36283bc193991db0990d3e"
}
}
Curl response :
curl --location --request POST 'http://192.168.1.193:8080/webhook/postProvision' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImRlbGVnYXRlZSI6bnVsbCwiZGVsZWdhdGVlSWQiOm51bGwsImZpcnN0TG9naW4iOmZhbHNlLCJyb2xlcyI6WyJPUkdfQURNSU4iLCJVU0VSIl0sInRlbmFudElkIjoiYXMxMDAiLCJleHAiOjE2NDYzOTYzMDgsInVzZXJJZCI6IjYyMTRkYjdiZDY2MWE1NzM4NmE3MWYxMCIsImlhdCI6MTY0NjM5MDMwOH0.bdKZ3UBCedT91bJAWLCo2AOahIs5ClFMAhnj36f_ecQ' \
--header 'Content-Type: application/json' \
--data-raw '{
"request": {
"policyMap" : "email",
"form" : "",
"applicationId" : "620231fee789224ec1cec3dd",
"roleList" : [],
"action" : "Application Create",
"user": {
"assignedGroups": [],
"provisionedApps": {},
"securityQuestion": {},
"country": "India",
"firstName": "Shreyash2",
"lastName": "Pande2",
"login": "shreyash2",
"userType": "Employee"
},
"isSuccess" : true,
"uid" : "5f36283bc193991db0990d3e"
}
}'
Response : NA
Policy map
Purpose : This web hook is used to do some events on policy map while assigning the application to a user.
Input needed :
"request": {
"targetAttribute" : "email",
"cymmetrifield" : "email",
"defaultValue" : "example@gmail.com",
"formVeriable" : "",
"user": {
"assignedGroups": [],
"provisionedApps": {},
"securityQuestion": {},
"country": "India",
"firstName": "Shreyash2",
"lastName": "Pande2",
"login": "shreyash2",
"userType": "Employee"
}
}
}
Curl request :
curl --location --request POST 'https://52.66.206.31:8080/webhook/policymap' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImRlbGVnYXRlZSI6bnVsbCwiZGVsZWdhdGVlSWQiOm51bGwsImZpcnN0TG9naW4iOmZhbHNlLCJyb2xlcyI6WyJPUkdfQURNSU4iLCJVU0VSIl0sInRlbmFudElkIjoiYXMxMDAiLCJleHAiOjE2NDYzOTYzMDgsInVzZXJJZCI6IjYyMTRkYjdiZDY2MWE1NzM4NmE3MWYxMCIsImlhdCI6MTY0NjM5MDMwOH0.bdKZ3UBCedT91bJAWLCo2AOahIs5ClFMAhnj36f_ecQ' \
--header 'Content-Type: application/json' \
--data-raw '{
"request": {
"targetAttribute" : "email",
"cymmetrifield" : "email",
"defaultValue" : "example@gmail.com",
"formVeriable" : "",
"user": {
"assignedGroups": [],
"provisionedApps": {},
"securityQuestion": {},
"country": "India",
"firstName": "Shreyash2",
"lastName": "Pande2",
"login": "shreyash2",
"userType": "Employee"
}
}
}'
Response :
{
"response": {
"mappedValue": "valid"
}
}
Run deprovisioning
Purpose : This web hook is used for deprovisioning applications when users get updated .
Input needed :
{
"request": {
"user": {
"assignedGroups": [],
"provisionedApps": {},
"securityQuestion": {},
"country": "India",
"firstName": "Shreyash2",
"lastName": "Pande2",
"login": "shreyash2",
"userType": "Employee"
}
}
}
Curl request:
curl --location --request POST 'https://52.66.206.31:8080/webhook/runDeprovision' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImRlbGVnYXRlZSI6bnVsbCwiZGVsZWdhdGVlSWQiOm51bGwsImZpcnN0TG9naW4iOmZhbHNlLCJyb2xlcyI6WyJPUkdfQURNSU4iLCJVU0VSIl0sInRlbmFudElkIjoiYXMxMDAiLCJleHAiOjE2NDYzOTYzMDgsInVzZXJJZCI6IjYyMTRkYjdiZDY2MWE1NzM4NmE3MWYxMCIsImlhdCI6MTY0NjM5MDMwOH0.bdKZ3UBCedT91bJAWLCo2AOahIs5ClFMAhnj36f_ecQ' \
--header 'Content-Type: application/json' \
--data-raw '{
"request": {
"user": {
"assignedGroups": [],
"provisionedApps": {},
"securityQuestion": {},
"country": "India",
"firstName": "Shreyash2",
"lastName": "Pande2",
"login": "shreyash2",
"userType": "Employee"
}
}
}'
Response:
{
"response": {
"data": true
}
}
Push Authenticator is a modern and highly convenient multi-factor authentication (MFA) mechanism of Cymmetri's Multi-factor Authentication mechanisms designed to bolster security while offering a user-friendly experience. This authentication method simplifies the process of verifying one's identity, reducing the reliance on traditional methods like SMS codes or hardware tokens.
With Push Authenticator, users receive authentication requests directly on their registered mobile devices. A push notification is sent to the user's device in the Cymmetri Authenticator App, prompting them to approve or deny the login attempt. This approval process occurs with a simple tap.
The advantages of Push Authenticator are twofold. First, it enhances security by reducing the risk of intercepted codes or phishing attacks. Second, it streamlines the user experience, making MFA more accessible and less intrusive.
For configuring the Push Authenticator, select the Push Notification toggle button and click confirm to setup Push Authenticator as an MFA option
And click confirm to setup Push Authenticator as an MFA option
Next we move to configure the rules for Multi-factor authentication policy for login
Click on the pencil icon to start editing the rule.Optionally you may also add a new rule by clicking on the "+ Add New" button.
For adding a New Rule enter Name of the Rule and Description also Enable the rule; you may optionally select whether you want to enable Adaptive MFA and the click on the Save button to add the rule
Once added you need to configure the rule to select the Push Authenticator mechanism as Required and enable it.
The other options that can be selected are as explained below:
Required: This setting means that the corresponding factor is required to be enabled for each user, and every user must set up this factor in their next login.
Optional: This setting means that the corresponding factor is not required to be enabled for each user, and they may configure this option from their "My Workspace". Once the user configures it, they may use it for the purpose of second level of authentication during authentication. Disabled: This settings means that the corresponding factor is not required or enabled for each user, and the user may not configure or use it for authentication into the Cymmetri platform.
An administrator can further customize to whom the rule would be applicable by selecting user(s) or group of users in the "Assigned to" Tab, If the rule is to be applied to all the users then the "All Users" option need to be selected
All subsequent logins of any user on the Cymmetri Identity platform will now require the use of the Push Authenticator mechanism.
The user needs to setup the Cymmetri Authenticator for receiving the push notification on the device, for which the user needs to download the Cymmetri Verifier app. The links below can be used to download the Cymmetri Verifier App on Android or IOS:
Once downloaded we need to scan the QR Code in the Cymmetri Verifier App to register the device
Once the device is registered successfully a notification is show on the dashboard
Now when the user selects Push Authenticator as an MFA mechanism and consent notification is sent to the mobile device and the user needs to accept the consent in the stipulated time to be allowed to login.
A notification like as shown below appears on the mobile device where the user needs to click on Yes button to allow login
Once successfully verified the user is redirected to the Dashboard
SMS Authenticator involves sending a unique verification code to the user's mobile device via SMS and/ or to the user's email. The user then enters this code along with their password to complete the login process.
For configuring the SMS Authenticator, select the SMS Authenticator toggle button and click confirm to setup SMS Authenticator as an MFA option
Next we move to configure the rules for Multi-factor authentication policy for login
You may either click on the pencil icon to start editing the rule, or create a new rule
Once you have either created a new rule or edited an existing one, change the dropdown of the SMS Authenticator factor to indicate that it is mandatory (required).
The options available for each factor are:
Required: This setting means that the corresponding factor is required to be enabled for each user, and every user must set up this factor in their next login.
Optional: This setting means that the corresponding factor is not required to be enabled for each user, and they may configure this option from their "My Workspace". Once the user configures it, they may use it for the purpose of second level of authentication during authentication. Disabled: This settings means that the corresponding factor is not required or enabled for each user, and the user may not configure or use it for authentication into the Cymmetri platform.
An administrator can further customize to whom the rule would be applicable by selecting user(s) or group of users in the "Assigned to" Tab, If the rule is to be applied to all the users then the "All Users" option need to be selected
Once the changes are saved this is how the rule appears:
All subsequent logins of any user on the Cymmetri platform will now require the use of sms received on the mobile device as an SMS or email.
Once successfully verified the user is redirected to the Dashboard
Cymmetri also allow you to customize the SMS Authenticator parameters using the Configuration section. Here you may configure the values as shown below:
Number of Digits: The length of the generated OTPs, which can be 4-6 numbers. Default is 6.
OTP Expiry (Minutes): This number determines how long a one-time password is active before it expires and a new OTP needs to be generated. Default is 10 minutes.
OTP Resent Time: The number of OTP resend requests allowed by the server in the case of SMS lost in transmission. Default is 2.
OTP on Email: when enabled OTP is sent on email.
OTP on SMS: when enabled OTP is sent as an SMS on user's mobile device
Secret questions are a form of knowledge-based authentication where users set up personalized questions and provide answers during the account setup. These questions might serve as an additional layer of identity verification. Users are prompted to answer these questions during login or account recovery processes, supplementing other authentication methods.
For configuring the Secret Questions Authenticator, select the Secret Questions Authenticator toggle button and click confirm to setup Secret Questions Authenticator as an MFA option
Next we move to configure the rules for Multi-factor authentication policy for login
You may either click on the pencil icon to start editing the rule, or create a new rule
Once you have either created a new rule or edited an existing one, change the dropdown of the Secret Questions Authenticator factor to indicate that it is mandatory (required).
The options available for each factor are:
Required: This setting means that the corresponding factor is required to be enabled for each user, and every user must set up this factor in their next login.
Optional: This setting means that the corresponding factor is not required to be enabled for each user, and they may configure this option from their "My Workspace". Once the user configures it, they may use it for the purpose of second level of authentication during authentication. Disabled: This settings means that the corresponding factor is not required or enabled for each user, and the user may not configure or use it for authentication into the Cymmetri platform.
An administrator can further customize to whom the rule would be applicable by selecting user(s) or group of users in the "Assigned to" Tab, If the rule is to be applied to all the users then the "All Users" option need to be selected
Once the changes are saved this is how the rule appears:
All subsequent logins of any user on the Cymmetri platform will now require the use of the Secret Questions Authenticator and answer the configured questions.
The user needs to setup the Secret Questions, for which the user needs to select the questions from a predefined set of questions and provide their relevant answers which the user can answer later when logging into the system.
When the user logs in the next time user needs to answer these questions to be able to successfully login into Cymmetri
Once successfully verified the user is redirected to the Dashboard
Cymmetri also allow you to customize the Secret Questions parameters using the Configuration section. Here you may configure the values as shown below:
Required Questions To Configure: Select the number of Secret Questions that users need to configure to set up for verifying the account. Default is 3.
Minimum Correct Questions: Choose the minimum number of questions that users need to answer correctly to gain access to their accounts or retrieve passwords. Default is 3.
Minimum Answer Length: Choose the minimum number of characters for the answer to these questions. Default is 2.
Maximum Answer Length: Choose the maximum number of characters for the answer to these questions. Default is 35.
Administrators can create a predefined set of Secret Questions that users can choose from while setting up their Secret Question/Answer combinations as an added layer of protection for their Cymmetri accounts.
To a new question Administrator needs to click on the "Add New" button and enter the following details:
Question: The question that the administrator wants to add
Status: needs to be enabled for the question to appear in the list
Administrators can easily edit, delete, activate or deactivate Secret Questions in use.
Google Authenticator is a widely used two-factor authentication app developed by Google. It generates time-based one-time passcodes (TOTPs) on users' mobile devices, providing an additional layer of security beyond passwords. Users typically scan QR codes presented by online services to set up two-factor authentication.
For configuring the Google Authenticator, select the Google Authenticator toggle button and click confirm to setup Google Authenticator as an MFA option
Next we move to configure the rules for Multi-factor authentication policy for login
You may either click on the pencil icon to start editing the rule, or create a new rule
Once you have either created a new rule or edited an existing one, change the dropdown of the Google Authenticator factor to indicate that it is mandatory (required).
The options available for each factor are:
Required: This setting means that the corresponding factor is required to be enabled for each user, and every user must set up this factor in their next login.
Optional: This setting means that the corresponding factor is not required to be enabled for each user, and they may configure this option from their "My Workspace". Once the user configures it, they may use it for the purpose of second level of authentication during authentication. Disabled: This settings means that the corresponding factor is not required or enabled for each user, and the user may not configure or use it for authentication into the Cymmetri platform.
An administrator can further customize to whom the rule would be applicable by selecting user(s) or group of users in the "Assigned to" Tab, If the rule is to be applied to all the users then the "All Users" option need to be selected
Once the changes are saved this is how the rule appears:
All subsequent logins of any user on the Cymmetri platform will now require the use of the Google Authenticator Code.
The user needs to setup the Google Authenticator, for which the user needs to download the Google Authenticator App. The links below can be used to download the Google Authenticator App on Android or IOS:
Once downloaded we need to scan the QR Code as shown below in the Google Authenticator App and obtain a 6 digit code which needs to be entered in the space provided below and verify the user login.
Once successfully verified the user is redirected to the Dashboard
Cymmetri also allow you to customize the Cymmetri Authenticator parameters using the Configuration section. Here you may configure the values as shown below:
OTP Type: Select the OTP Type to be implemented.Time Based is the default value here.
OTP Hash Algorithm: Select the appropriate cryptographic algorithm to generate the OTP. Default option is HmacSHA1.
Number of Digits: The length of the generated OTPs, which can be 6-9 numbers. The default is 6.
OTP Token Period: This number determines how long a one-time password is active before the next one-time password generates. The default is 30 seconds.
Look Ahead Window: The Look Ahead Window considers any possible synchronization delay between the server and the client that generates the one-time password. Default value is 2.
Supported Applications: Two-Factor Authentication apps that can be used by users to secure their Cymmetri IAM accounts.
The Cymmetri Authenticator is a robust multi-factor authentication (MFA) mechanism. This mechanism enhances digital security by adding an additional layer of authentication to verify user identity, using a time based OTP (TOTP)
The Cymmetri Authenticator uses the Cymmetri Verifier App that generates time-based one-time passwords (TOTPs) that expire after a short time window. Users must enter these constantly changing codes along with their regular passwords to gain access to their accounts, ensuring that even if a malicious actor obtains their password, access remains highly restricted.
The Cymmetri Authenticator App is user-friendly and easy to set up, often by scanning QR codes provided by the service requiring authentication. It's a valuable tool for businesses and individuals looking to protect their sensitive data effectively.
For configuring the Cymmetri Authenticator, select the Cymmetri Authenticator (Time based OTP) toggle button and click confirm to setup Cymmetri Authenticator as an MFA option
Next we move to configure the rules for Multi-factor authentication policy for login
Click on the pencil icon to start editing the rule.
To enable this rule click on the pencil icon in the upper box to toggle on this rule.
Change the dropdown of the Cymmetri Authenticator factor to indicate that it is mandatory (required).
The options available for each factor are:
Required: This setting means that the corresponding factor is required to be enabled for each user, and every user must set up this factor in their next login.
Optional: This setting means that the corresponding factor is not required to be enabled for each user, and they may configure this option from their "My Workspace". Once the user configures it, they may use it for the purpose of second level of authentication during authentication. Disabled: This settings means that the corresponding factor is not required or enabled for each user, and the user may not configure or use it for authentication into the Cymmetri platform.
An administrator can further customize to whom the rule would be applicable by selecting user(s) or group of users in the "Assigned to" Tab, If the rule is to be applied to all the users then the "All Users" option need to be selected
All subsequent logins of any user on the Cymmetri platform will now require the use of the Cymmetri Authenticator Code.
The user needs to setup the Cymmetri Authenticator, for which the user needs to download the Cymmetri Verifier app. The links below can be used to download the Cymmetri Verifier App on Android or IOS:
Once downloaded we need to scan the QR Code as shown below in the Cymmetri Verifier App and obtain a 6 digit code which needs to be entered in the space provided below and verify the user login.
Once successfully verified the user is redirected to the Dashboard
Cymmetri also allow you to customize the Cymmetri Authenticator parameters using the Configuration section. Here you may configure the values as shown below:
OTP Type: Select the OTP Type to be implemented.Time Based is the default value here.
OTP Hash Algorithm: Select the appropriate cryptographic algorithm to generate the OTP. Default option is HmacSHA1.
Number of Digits: The length of the generated OTPs, which can be 6-9 numbers. The default is 6.
OTP Token Period: This number determines how long a one-time password is active before the next one-time password generates. The default is 30 seconds.
Look Ahead Window: The Look Ahead Window considers any possible synchronization delay between the server and the client that generates the one-time password. Default value is 2.
Supported Applications: Two-Factor Authentication apps that can be used by users to secure their Cymmetri IAM accounts.
Cymmetri platform highly recommends adding support to either SAML 2.0 or OpenID Connect protocols owing to their well-accepted standards and to avoid vendor lock-in.
In the absence of the ability of the managed application to adopt either the SAML 2.0 or the OpenID Connect 1.0 standard, the Cymmetri platform provides with the ability to integrate simple REST API based mechanism to allow an end-user to perform Single SignOn from the Cymmetri Identity Portal
User is assigned the application and clicks on the application tile.
The end user session is captured as the client IP address as received from the user’s browser.
The user session is validated and the Cymmetri platform checks if the end user is authorized to perform Single SignOn into the managed application.
In case, such a session token is created and the end-user is redirected as a query parameter to an endpoint on the managed application.
The endpoint on the managed application also captures the end-user’s client IP address, and sends the received token to its backend.
The managed application backend already holds the Application ID and Application password assigned to it when the API-based SSO is configured on the Cymmetri Identity platform.
The managed application backend now makes a POST call to the validate token API endpoint exposed by the Cymmetri Identity platform with the form parameters as follows -
app_id - Previously shared application ID
app_pass - Previously shared application password
user_ip - End-user’s client IP address as captured from the end-user’s browser
auth_token - the token sent to the endpoint of the managed application.
The Cymmetri platform responds back with a success message in case the application ID, application password, client IP address and the user session string match with the corresponding records in its backend.
In case of success, the managed application is expected to generate a user session for the prescribed user Id as shared in the success response message.
The Cymmetri platform responds back with a failure message in case of even one parameter mismatches from among - application ID, application password, client IP address or the user session string (shared token).
In case of failure, the managed application is expected to cancel the login attempt and show the error message shared by the Cymmetri Identity platform.
For configuring the REST API based SSO mechanism, first select the application already added into your Cymmetri platform.
Then proceed to the SSO configuration using the “SignOn” link in the left-hand side menu bar.
Enable the Single SignOn by clicking the toggle button on the right-hand side of the page.
Now enter the application URL as below -
Application URL = <base url of the deployment>/apiSSO?applicationId=<applicationId>
Let us first copy the URL from the address bar -
The corresponding URL in my case is -
We evaluate the following values from the URL -
applicationId - 6241c3b604c15417a91c7030
Let us enter this value in the Application URL text bar and click the “Save” button.
Let us proceed by selecting the radio button “API-based SSO”
Click on the dropdown “Advanced Settings (API)” to configure the API-based SSO and enter the information:
Source app token param name - Refers to the key of the query parameter used to share the randomly generated token from the Cymmetri backend.
Application Secret - Refers to the parameter app_pass that must be sent back by the managed application to validate the token.
Target App Redirect URL - Refers to the endpoint exposed by the managed application to receive the token as a query parameter.
Token Validity - number of seconds for which the generated token is valid. The managed application must send back the token for validation within these many seconds.
Target app token param name - This is the field that the managed application must use to send back the token for validation.
External Application ID - Refers to the parameter app_id that must be sent back by the managed application to validate the token.
On clicking the application tile, the user is redirected to the URL below as per the configuration above.
Once the token is received by the application, the application makes a POST call as indicated by the CURL request below -
Mentioned below is a sample getToken method implemented in the managed application that wishes to use API SSO implementation. The url in the api call and the app_id and app_pass may vary from tenant to tenant
In case of this error, “User not verified” message must be shown by the managed application. The user must not be allowed to login.
In case of this error, “Application not verified” message must be shown by the managed application. The user must not be allowed to login. The application configuration on the Cymmetri Identity platform and the managed application must be validation and cross-verified.
This indicates the manner in which the response (access token or ID token) is shared back by the Cymmetri Identity platform to the managed application.
This indicates the manner in which the response (access token or ID token) is shared back by the Cymmetri Identity platform to the managed application.
Let us investigate how this works out in the SAML 2.0 process and how the data is received from the Cymmetri Identity platform.
Click on save to save the workflow.
IOS-
Android -
Android:
IOS:
IOS-
Android -
Base URL of the deployment -
Now we generate the Application URL as -
<random token>
curl --location --request POST '' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'app_id=demoapps' \ --data-urlencode 'app_pass=Pras@4i1m$' \ --data-urlencode 'auth_token=<random token>' \ --data-urlencode 'user_ip=<client IP address>'
Cymmetri Attribute
Default / Custom
user.eduPersonPrincipalName
Custom
user.eduPersonTargetedID
Custom
user.displayName
Default
user.cn
Custom
user.givenName
Custom
user.sn
Custom
user.mail
Default
user.schacHomeOrganization
Custom
user.schacHomeOrganizationType
Custom
user.schacPersonalUniqueCode
Custom
user.eduPersonAffiliation
Custom
user.eduPersonScopedAffiliation
Custom
user.eduPersonEntitlement
Custom
user.eduPersonOrcid
Custom
user.isMemberOf
Custom
user.preferredLanguage
Custom
user.eckid
Custom
user.surfCrmId
Custom
user.uid
Default
user.login
Default
user.firstName
Default
user.lastName
Default
user.country
Default
user.countryCode
Default
user.city
Default
user.mobile
Default
user.address1
Default
user.address2
Default
user.managerId
Default
user.userType
Default
user.orgUnitId
Default
user.employeeId
Default
user.department
Default
user.designation
Default
user.status
Default
user.associatedPartner
Default
user.dateOfBirth
Default
user.landline
Default
FIDO Authenticator
The Cymmetri Architecture without the password filter utility allows for one-way synchronization of passwords from Cymmetri to managed applications like Active Directory. Active Directory passwords may therefore be updated, once the user password is updated in Cymmetri.
However, to keep both the Cymmetri database and Active Directory user passwords in synchronization, there is a need for Cymmetri database to receive password change notification from the Active Directory, when the password is directly updated in Active Directory.
Active Directory provides for the use of Password Filter which can intercept the request for password change and can make an API call to Cymmetri to update the password in Cymmetri database as well.
Cymmetri Password Filter dll will be deployed in the Active directory environment and system variables (environment variables) are configured to allow the password filter to connect to the Cymmetri deployment.
Active Directory server needs to be restarted once the configuration is performed.
Once the user changes the password on a domain-connected computer using Ctrl+Alt+Delete utility OR if the Active Directory administrator resets the user's password using Active Directory tools, the password filter will be triggered.
The password filter DLL will receive the username and the plaintext password from the Active Directory, once the password change has been applied on the Active Directory.
The password filter DLL will encrypt the password using RSA encryption with a public key and will send the encrypted password and the username to the Cymmetri deployment using a REST API call over HTTPS.
The Cymmetri deployment receives the username and encrypted password, it decrypts the password using private key.
Once the password is decrypted, the Cymmetri deployment updates the password in Cymmetri database for the given user.
If the user is assigned multiple applications for provisioning, the action of updating user's password in Cymmetri database will trigger password update for the user in other provisioned applications. However, Active directory application will not receive this password update, to avoid loops.
Download the dll file and the public key file from here - CPFv308.dll - https://drive.google.com/file/d/15uPQYnJr7HUWnxHLPSpYtsWGKkm5HnLC/view?usp=share_link public.pem - https://drive.google.com/file/d/1OdBLal4RTA5bMqABJEq3zQeLxNzSOE0R/view?usp=share_link
Place the CPFv308.dll file in the C:\Windows\System32 folder.
Run regedit and go to the following path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
You must now see a page similar to this:
Select the element Notification Packages and double click it
Add the line “CPFv308” and Click on OK to save the registry entry.
Exit the registry editor.
Save the public.pem file to any directory and note the name of the directory. Ex - C:\Users\Administrator\Desktop\public.pem
For testing the deployment, Login into the Cymmetri portal as an administrator and note the application ID of the Active Directory application configured for provisioning. Ex - 69125912519fb123
Also, create a new API client.
Click on renew secret and note the bearer token generated.
Ex - eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJOZXcgQVBJIENsaWVudCIsInRlbmFudCI6IjI3NyJ9.L_q7I4MFcZSFXetdSvzD7hxvfcSrUUaJEkwhUTfHgus
Go to Control Panel > System > Advanced System Settings and click on environment variables.
Add the following System variables.
Key = CYMMETRI_APP_ID; Value = <application-id-of-active-directory>; Example = 6015991fdfeab12c
Key = CYMMETRI_CLIENT_TOKEN; Value = Authorization Bearer <token-from-api-client>; Example = Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJOZXcgQVBJIENsaWVudCIsInRlbmFudCI6IjI3NyJ9.L_q7I4MFcZSFXetdSvzD7hxvfcSrUUaJEkwhUTfHgus
Key = CYMMETRI_ENDPOINT_URL; Value = <domain>/apiext/api/password/filter/updateUserPassword; Example = https://277.newqa.cymmetri.in/apiext/api/password/filter/updateUserPassword
Key = CYMMETRI_PUBLIC_KEY_FILE; Value = <path of public.pem file>; Example = C:\Users\Administrator\Desktop\public.pem
Save the environment variables.
Create a folder as C:\passfilter_logs to store the logs.
Take a restart of the Active Directory Server.
Navigate to the Configuration Menu.
Look for the Password Filter option in the Configuration Menu.
Once on the page click on "+Add New" button
This will open the configuration page, You should find a toggle button to enable the Password Filter. Turn it on to enable the filter.
Once the Password Filter is enabled, you'll need to choose the filter type.There are two options: "Include" and "Exclude."
"Include" means that only the applications selected in the included applications dropdown will receive synced passwords and have their passwords changed correspondingly.
"Exclude" means that all applications except the ones selected in the excluded applications dropdown will receive synced passwords and have their passwords changed correspondingly.
Next you select the Filtered Application this is usually the managed application where the password changed has happened which in this case is Active Directory
Next, determine which type of authenticator you want to use for password synchronization.
You typically have three options: Cymmetri Authenticator, AD (Active Directory) Authenticator, or LDAP (Lightweight Directory Access Protocol) Authenticator.
Choose the appropriate authenticator based on your requirements and configuration.
After completing the above steps, make sure to save your configuration settings.Click on the "Save" button to save your changes.
Key | Value |
---|---|
CYMMETRI_APP_ID
<application-id-of-active-directory-in-Cymmetri>
CYMMETRI_CLIENT_TOKEN
Authorization: Bearer <token-from-api-client>
CYMMETRI_ENDPOINT_URL
https://<cymmetri-domain>/apiext/api/password/filter/updateUserPassword
CYMMETRI_PUBLIC_KEY_FILE
<path of public key file in Active Directory Server>