Info |
---|
This article includes updates for Smart ID 23.04.13. |
This article describes authentication profiles in Smart ID Identity Manager and how to configure the profiles. Authentication profiles are used to define how users can gain access to Identity Manager and what they gain access to.
Authentication is done in two steps:
...
Info |
---|
This article includes updates for Smart ID 23.10.5. |
This article describes authentication profiles in Smart ID Identity Manager and how to configure the profiles. Authentication profiles are used to define how users can gain access to Identity Manager and what they gain access to.
Authentication is done in two steps:
Authentication: login in with a certain user credential. The user will be extracted from the credential depending on the authentication type.
Authorization: after successful authentication the assigned roles for the user are determined depending on the authentication type.
The following authentication profiles are available:
Authentication profile | Authentication / Login mechanism | User / Principal | Authorization / Roles / Permissions |
---|
Internal In the runtime system (Identity Manager Operator and Smart ID Self-Service), this profile type is not recommended for production. Usually, the administrator of Identity Manager Admin has an internal account. | Login with username and password based on internal user table
| Username | Roles from internal roles table |
LDAP | External login mechanism based on LDAP | DN from LDAP configuration | Group membership in LDAP directory is mapped to internal roles |
LDAP Core Object | External login mechanism based on LDAP | DN from LDAP configuration | Internal roles mapped to core objects |
Client Certificate and LDAP | Client certificate login based on LDAP | Configured attribute in certificate | Group membership in LDAP directory is mapped to internal roles |
Client Certificate Internal In the runtime system (Identity Manager Operator and Smart ID Self-Service), this profile type is not recommended for production.
| Client certificate login based on internal user | Configured attribute in certificate | Roles from internal roles table |
Client Certificate Core Object | Client certificate login based on Core Objects
| Configured attribute in certificate | Internal roles mapped to core objects |
Smart Card and Core Object This authentication profile is deprecated, but can still be used for older versions of Identity Manager. From PRIME 3.9, use Client Certificate Core Object. | Smart card certificate | Configured attribute in certificate | Internal roles mapped to core objects |
Username and Password Core Object | Login with username and password based on core objects | Username | Internal roles mapped to core objects
|
SAML SSO Core Object (*) | External login with SAML SSO
| Configured attribute in SAML token
| Internal roles mapped to core objects
|
SAML SSO LDAP (*) | External login with SAML SSO. | Configured attribute in SAML token | Group membership in LDAP directory is mapped to internal roles |
SAML SSO Group (*) | External login with SAML SSO. | Configured attribute in SAML token | Configured attribute in SAML token |
(*) For SAML, an extra layer of security is added by limiting the role assignment based on authentication method. For more information, see the instructions for SAML SSO Core Object, SAML SSO LDAP, and SAML SSO Group profiles below.
Prerequisites
...
Expand |
---|
title | Set up authentication profile |
---|
|
To set up an authentication profile: Go to Home > Authentication Profiles. Click +New to add an authentication profile. Select a Profile type: Image Modified Note |
---|
The Internal profile is not available for selection, since it is created by default in any Identity Manager installation and only one internal profile is allowed.
|
For SAML profiles, the Priority will be assigned automatically. Click Save + Edit.
A new tab is displayed where the authentication profile is configured. See the following sections for how to configure the authentication profile you have selected.
For all authentication profiles there is a Processes Processes tab. Select from the drop-down list, which process that shall run after a successful login in Identity Manager Operator. Read more in section Configure Read more in section Set up authentication profile in Identity Manager#Configure post-login process. To edit an existing identity template, double-click on its name.
|
Configure profile types
The configuration of authentication profiles differs according to the different profile types. Find your selected authentication profile type below and follow the instruction to set up the configuration.
Expand |
---|
title | Configure Internal profile |
---|
|
The system will lock internal users after too many failed logins. The users can be unlocked automatically after a certain amount of time. To configure this, follow the instructions below. AdministratorIn Identity Manager Admin, do the following: In Identity Manager Admin, Go to Home > Authentication Profiles. Select the profile with an INTERNAL profile type. Define the Maximum failed login count. Optional: Enable the Automatic unlock mechanism and set the Blocked user wait time in seconds. Click Save.
Tenant In Identity Manager Tenant, do the following: Open the tenant application and navigate to the icon next to the info button. A dialog appears. Define the Maximum failed login count. Optional: Enable the Automatic unlock mechanism and set the Blocked user wait time in seconds. Click Save.
|
Expand |
---|
title | Configure internal profile with client certificate |
---|
|
In Client Certificate Configuration: select the method which extracts the information from the certificate used to identify the user: |
Expand |
---|
title | Configure LDAP profile |
---|
|
In Connection settings: In Connection string, enter the URL of the LDAP server and base address in the directory service, for example: where ou = organizationalUnitName dc = domainComponent
For more information on LDAP string attributes, see RFC 2253, LDAP (v3): UTF-8 String Representation of Distinguished Names. In Username and Password, enter the Active Directory domain user name and password.
In User search: Select Direct binding or With password comparison. Direct binding attempts to bind to the LDAP with the user entered. With password comparison the data of the LDAP entry is retrieved and the password is compared with the entered password. Enter a Search pattern. Here are two examples: Panel |
---|
title | Example: Search pattern |
---|
| Search pattern: (userPrincipalName={0}) |
Panel |
---|
title | Example: Search pattern using Distinguished Name (DN) of user |
---|
| Search pattern: cn={0},ou=users |
If password comparison was selected, enter the Attribute for password used in LDAP and, if applicable, the mechanism that LDAP uses for Password encryption.
In Group search: In Basis for group search, enter the subpath to the group information in LDAP. For example, if you find the group information under ou = groups, dc = myCompany, dc = de, enter the following: Panel |
---|
title | Example: Basis for group search |
---|
| Basis for group search: ou=groups |
In Filter for group search, enter afilter expression, that defines the search starting with the subpath above.
For example, if the group membership of users is stored in a multi-value attribute member (via the DN), enter the following: Panel |
---|
title | Example: Filter for group search |
---|
| Filter for group search: (member={0}) |
In Attribute for group, enter an attribute with unique values to define the group belonging. The groups to which the user belongs are compared in the last step with the assignment to the roles in the system and access to the system is
assigned based on the assigned roles.For example, enter the followingassigned based on the assigned roles. For example, enter the following: Panel |
---|
title | Example: Attribute for group |
---|
| Attribute for group: cn |
Group Permissions Go to the LDAP Group Permissions tab to map the LDAP groups to internal Identity Manager roles. Click + to add an LDAP group to the Groups list Select the roles that should be assigned to that LDAP group in the Roleslist.
|
Expand |
---|
title | Configure LDAP Core Object profile |
---|
|
In Connection settings: In Connection string, enter the URL of the LDAP server and base address in the directory service, for example:
Attribute for group |
Attribute for group: cn |
Group PermissionsGo to the LDAP Group Permissions tab to map the LDAP groups to internal Identity Manager roles.Click + to add an LDAP group to the Groups listSelect the roles that should be assigned to that LDAP group in the Roles list.
Expand |
---|
title | Configure LDAP Core Object profile |
---|
|
In Connection settings:In Connection string, enter the URL of the LDAP server and base address in the directory service, for examplewhere ou = organizationalUnitName dc = domainComponent
For more information on LDAP string attributes, see RFC 2253, LDAP (v3): UTF-8 String Representation of Distinguished Names. In Username and Password, enter the Active Directory domain user name and password.
In User search: Select Direct binding or With password comparison. Direct binding attempts to bind to the LDAP with the user entered. With password comparison the data of the LDAP entry is retrieved and the password is compared with the entered password. Enter a Search pattern. Here are two examples:
Connection string |
Connection string: ldap://localhost:389/ou=NexusEmployees,dc=nexus,dc=local |
where
ou = organizationalUnitName
dc = domainComponent
For more information on LDAP string attributes, see RFC 2253, LDAP (v3): UTF-8 String Representation of Distinguished Names.In Username and Password, enter the Active Directory domain user name and password. In User search:Select Direct binding or With password comparison. Direct binding attempts to bind to the LDAP with the user entered. With password comparison the data of the LDAP entry is retrieved and the password is compared with the entered password.Enter a Search pattern. Here are two examples:
Panel |
---|
title | Example: Search pattern |
---|
|
Search pattern: (userPrincipalName={0}) |
Panel |
---|
title | Example: Search pattern using Distinguished Name (DN) of user |
---|
|
Search pattern: cn={0},ou=users |
If password comparison was selected, enter the Attribute for password used in LDAP and, if applicable, the mechanism that LDAP uses for Password encryption. Insert excerpt |
---|
Set up authentication profile in Identity Manager | Set up authentication profile in Identity Manager | nopanel | true |
---|
Expand |
---|
title | Configure Client Certificate and LDAP profile |
---|
|
Note |
---|
If you have, for example, an Apache proxy or F5 proxy in front of Identity Manager which enforces client authentication with TLS, you need to add an SSLValve to your Tomcat server.xml under <SMARTIDHOME>/docker/compose/config/idm-tomcat-server.xml <Valve className="org.apache.catalina.valves.SSLValve" /> See: https://tomcat.apache.org/ for more information. |
In Client Certificate Configuration: select the method, which extracts the information from the certificate used to identify the user:- User Principal Name (UPN)
- SAN Email (RFC822Name)
- Subject CN
- Subject Email
- Object Security Identifier (objectSid)
In Connection settings:In Connection string, enter the URL of the LDAP server and base address in the directory service, for example:
where
ou = organizationalUnitName
dc = domainComponent
For more information on LDAP string attributes, see RFC 2253, LDAP (v3): UTF-8 String Representation of Distinguished Names.In Username and Password, enter the Active Directory domain user name and password. In User search:Enter a Search pattern. Here are two examples:
Panel |
---|
title | Example: Search pattern |
---|
|
Search pattern: (userPrincipalName={0}) |
Panel |
---|
title | Example: Search pattern using Distinguished Name (DN) of user |
---|
|
Search pattern: cn={0},ou=users |
If password comparison was selected, enter the Attribute for password used in LDAP and, if applicable, the mechanism that LDAP uses for Password encryption. In Group search:In Basis for group search, enter the subpath to the group information in LDAP.
For example, if you find the group information under ou = groups, dc = myCompany, dc = de, enter the following:
Panel |
---|
title | Example: Basis for group search |
---|
|
Basis for group search: ou=groups |
In Filter for group search, enter a filter expression, that defines the search starting with the subpath above.
For example, if the group membership of users is stored in a multi-value attribute member
(via the DN), enter the following:
Panel |
---|
title | Example: Filter for group search |
---|
|
Filter for group search: (member={0}) |
In Attribute for group, enter an attribute with unique values to define the group belonging. The groups to which the user belongs are compared in the last step with the assignment to the roles in the system and access to the system is assigned based on the assigned roles.For example, enter the following:
Panel |
---|
title | Example: Attribute for group |
---|
|
Attribute for group: cn |
Group Permissions- Go to the LDAP Group Permissions tab to map the LDAP groups to internal Identity Manager roles.
- Click + to add an LDAP group to the Groups list
- Select the roles that should be assigned to that LDAP group in the Roles list.
Expand |
---|
title | Configure Client Certificate Core Object profile |
---|
|
In Client Certificate Configuration: select the method, which extracts the information from the certificate used to identify the user:- User Principal Name (UPN)
- SAN Email (RFC822Name)
- Subject CN
- Subject Email
- Object Security Identifier (objectSid)
Insert excerpt |
---|
Set up authentication profile in Identity Manager | Set up authentication profile in Identity Manager | nopanel | true |
---|
Expand |
---|
title | Configure Smart Card and Core Object profile |
---|
|
Note |
---|
This authentication profile is deprecated, but can still be used for older versions of Identity Manager. From PRIME 3.9, use the Client Certificate Core Object profile. | In Certificate settings: select the method, which extracts the information from the certificate used to identify the user:- User Principal Name (UPN)
- SAN Email (RFC822Name)
- Subject CN
- Subject Email
- Object Security Identifier (objectSid)
In User identification: enter details to map the userPrincipalName to a core object. In Identity template, select one or more core object types, for example, Employee and | Search pattern: (userPrincipalName={0}) |
Panel |
---|
title | Example: Search pattern using Distinguished Name (DN) of user |
---|
| Search pattern: cn={0},ou=users |
If password comparison was selected, enter the Attribute for password used in LDAP and, if applicable, the mechanism that LDAP uses for Password encryption.
Go to the Core Object Configuration tab and do the following settings: In Identity template, select one or more core object types, for example, Employee and Contractor, on which the core object search will be performed. The first matching template will be used.
In User name field, select the core object field to match the user principal, for example UPN or Email. Identity Manager will use it to search the core object in the selected identity template.
In User display, enter fields in a comma separated list, for example FirstName, LastName. These fields are used to display the logged in user in Identity Manager Operator or Smart ID Self-Service.
|
Expand |
---|
title | Configure Client Certificate and LDAP profile |
---|
|
Note |
---|
If you have, for example, an Apache proxy or F5 proxy in front of Identity Manager which enforces client authentication with TLS, you need to add an SSLValve to your Tomcat server.xml under <SMARTIDHOME>/docker/compose/config/idm-tomcat-server.xml <Valve className="org.apache.catalina.valves.SSLValve" /> See: https://tomcat.apache.org/ for more information. |
In Client Certificate Configuration: select the method, which extracts the information from the certificate used to identify the user: User Principal Name (UPN) SAN Email (RFC822Name) Subject CN Subject Email Object Security Identifier (objectSid)
In Connection settings: In Connection string, enter the URL of the LDAP server and base address in the directory service, for example: where ou = organizationalUnitName dc = domainComponent
For more information on LDAP string attributes, see RFC 2253, LDAP (v3): UTF-8 String Representation of Distinguished Names. In Username and Password, enter the Active Directory domain user name and password.
In User search: Enter a Search pattern. Here are two examples: Panel |
---|
title | Example: Search pattern |
---|
| Search pattern: (userPrincipalName={0}) |
Panel |
---|
title | Example: Search pattern using Distinguished Name (DN) of user |
---|
| Search pattern: cn={0},ou=users |
If password comparison was selected, enter the Attribute for password used in LDAP and, if applicable, the mechanism that LDAP uses for Password encryption.
In Group search: In Basis for group search, enter the subpath to the group information in LDAP. For example, if you find the group information under ou = groups, dc = myCompany, dc = de, enter the following: Panel |
---|
title | Example: Basis for group search |
---|
| Basis for group search: ou=groups |
In Filter for group search, enter a filter expression, that defines the search starting with the subpath above.
For example, if the group membership of users is stored in a multi-value attribute member (via the DN), enter the following: Panel |
---|
title | Example: Filter for group search |
---|
| Filter for group search: (member={0}) |
In Attribute for group, enter an attribute with unique values to define the group belonging. The groups to which the user belongs are compared in the last step with the assignment to the roles in the system and access to the system is assigned based on the assigned roles. For example, enter the following: Panel |
---|
title | Example: Attribute for group |
---|
| Attribute for group: cn |
Group Permissions Go to the LDAP Group Permissions tab to map the LDAP groups to internal Identity Manager roles. Click + to add an LDAP group to the Groups list Select the roles that should be assigned to that LDAP group in the Roles list.
|
Expand |
---|
title | Configure Client Certificate Core Object profile |
---|
|
In Client Certificate Configuration: select the method, which extracts the information from the certificate used to identify the user: User Principal Name (UPN) SAN Email (RFC822Name) Subject CN Subject Email Object Security Identifier (objectSid)
Go to the Core Object Configuration tab and do the following settings: In Identity template, select one or more core object types, for example, Employee and Contractor, on which the core object search will be performed. The first matching template will be used.
In User name field, select the core object field to match the user principal, for example UPN or Email. Identity Manager will use it to search the core object in the selected identity template.
In User display, enter fields in a comma separated list, for example FirstName, LastName. These fields are used to display the logged in user in Identity Manager Operator or Smart ID Self-Service.
|
Expand |
---|
title | Configure Smart Card and Core Object profile |
---|
|
Note |
---|
This authentication profile is deprecated, but can still be used for older versions of Identity Manager. From PRIME 3.9, use the Client Certificate Core Object profile. |
In Certificate settings: select the method, which extracts the information from the certificate used to identify the user: User Principal Name (UPN) SAN Email (RFC822Name) Subject CN Subject Email Object Security Identifier (objectSid)
In User identification: enter details to map the userPrincipalName to a core object.
In Identity template, select one or more core object types, for example, Employee and Contractor, on which the core object search will be performed. The first matching template will be used.
In User name field, select the core object field to match the user, for example UPN or Email. Identity Manager will use it to search the core object in the selected identity template.
In User display, enter fields in a comma separated list, for example FirstName,LastName. These fields are used to display the logged in user in Identity Manager Operator or Smart ID Self-Service.
|
Expand |
---|
title | Configure Username with Password Core Object profile |
---|
|
Go to the Core Object Configuration tab and do the following settings: In Identity template, select one or more core object types, for example, Employee and Contractor, on which the core object search will be performed. The first matching template will be used.
In
User name field, select
the the core object field to match the user principal,
for example for example UPN
or or Email. Identity Manager will use it to search the core object in the selected identity template.
In
User display, enter fields in a
comma comma separated list, for
example example FirstName, LastName.
These These fields
are are used to display the logged in user in Identity Manager Operator or Smart ID Self-Service.
|
Expand |
---|
title | Configure Username with Password Core Object profile |
---|
| Insert excerpt |
---|
Set up authentication profile in Identity Manager | Set up authentication profile in Identity Manager |
nopanel | true |
---|
Expand |
---|
title | Configure SAML SSO Core Object profile |
---|
|
Prepare the required SAML configuration files. For file examples, refer to Enable two-factor authentication to Identity Manager clients via SAML federation. You need one metadata file for each Service Provider, that is, one file for Identity Manager Operator, one file for Smart ID Self-Service and one file for other Service Providers that you configure. You also need the metadata file of your Identity Provider and a keystore containing all the keys you would like to use for encryption or signing.
Go to the SAML Configuration tab and do the following settings: In Identity Provider Configuration: Upload a Configuration file Here you can upload and delete the metadata file for an identity provider. The metadata file must contain only one identity provider configuration and no service provider configurations. Select an Attribute Type This is the identifying element of a SAML response. Despite the name, it can contain other elements than attributes. It can have two values, Name ID and Attribute Statement. Name ID refers to the subject of a SAML response,
Attribute Attribute Statement refers to attributes associated with the subject of a SAML response. Enter Attribute Name This field is only active
when when Attribute Statement
is is selected
as titleas Attribute Type. It can be any arbitrary value.
In Keystore Configuration: Upload a Configuration file Here you can upload and delete key store file. The key store file must contain the certificates and the private key used for signing and decryption. A key store is mandatory. When a key store is uploaded, the key store's password must be entered. Objects in the key store, if protected with a password, must have the same password as the key store itself. Available key aliases List of the aliases that mark private keys in the key store.
In Service Provider Configurations:
Click on the + button to add a service provider. This view lists the aliases of the service providers. Any arbitrary number of service providers is allowed but at least one service provider is required. An uploaded service provider must use only private keys available in the key store. If you upload a service provider metadata file that violates the SAML metadata schema, this triggers an error message.
In Service Provider Details: Alias In this context, Alias refers to the location and thus the service provider to use when sending the SAML response to the application for processing. An Alias is mandatory.
This is an example of an excerpt from a typical metadata file that defines the Assertion Consumer Service responsible for processing the SAML response. The Alias in this case is "explorer".
Code Block |
---|
Example: Excerpt from a metadata file Code Block |
---|
...
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="http://hostname:8080/prime_explorer/saml/SSO/alias/explorer" index="0" isDefault="true"/>
... |
Configuration File Click on the upload symbol and select the metadata file.
This field is mandatory. The metadata file must contain only one service provider configuration and no identity provider configurations. If the file is deleted and re-uploaded, Alias must be reset according to the metadata file. Alias for Signing Key The alias from the key store for the private key to use for signing. This field is mandatory. Alias for Encryption Key The alias from the key store for the private key to use for encryption purposes. This field is mandatory.
Excerpt |
---|
Go to the Core Object Configuration tab tab and do the following settings: In Identity template, select one or
more core more core object types, for example, Employee and Contractor, on which the core object search will be performed. The first matching template will be used.
In User name field, select
the the core object field to match the user principal, for example UPN or Email. Identity Manager will use it to search the core object in the selected identity template.
In User display, enter fields in a comma separated list, for example FirstName, LastName. These fields are used to display the logged in user in Identity Manager Operator or Smart ID Self-Service.
Optional: Go to the Authentication Method tab and do the following settings: In Authentication Method, click + to add the reference (AuthnContextClassRef) for the authentication method you want to add. You can find the reference in the Identity Provider, or in the SAML response. If a role has no AuthnContextClassRef assigned, the authentication method check will be skipped. This is an example of an AuthnContextClassRef snippet in a SAML response. (The value here is: urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport ):
code
| title | title | Example: SAML response
Code Block |
---|
<saml:AuthnContext>
<saml:AuthnContextClassRef> urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport </saml:AuthnContextClassRef>
</saml:AuthnContext> |
These AuthnContextClassRef examples are based on OASIS Standard documentation. See https://docs.oasis-open.org/security/saml/v2.0/saml-authn-context-2.0-os.pdf for more information.
Code Block |
---|
Examples: AuthnContextClassRef
Code Block |
---|
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
urn:oasis:names:tc:SAML:2.0:ac:classes:Smartcard
urn:oasis:names:tc:SAML:2.0:ac:classes:X509
urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken
urn:oasis:names:tc:SAML:2.0:ac:classes:MobileOneFactorContract |
Note |
---|
Custom string can also be configured as an AuthnContextClassRef. See the Identity Provider configuration. |
Map the added authentication method to a role by selecting the role you want to use and checking the check box for the authentication method.
Note |
---|
By mapping authentication methods to roles, you will restrict a user of certain roles depending on the authentication method used to log in. This adds an extra layer of security. If no authentication method is configured, all roles are allowed to be assigned to the user regardless of how the user is authenticated with the Identity Provider. |
---|
Expand |
---|
title | Configure SAML SSO LDAP profile |
---|
|
| title | Go to the SAML Configuration tab.
Do the same settings as described above under heading "Configure SAML SSO Core Object profile".
Go to the LDAP Configuration tab.
If you have already a configured LDAP profile, copy the information to here. See heading "Configure LDAP profile" above.
Note |
---|
The Direct binding and With password comparison selection are NOT used for the SAML SSO LDAP profile. |
Go to the LDAP Group Permissions tab.
See under heading "Configure LDAP profile" above.
Optional:
Go to the Authentication Method tab and do the following settings:
In Authentication Method, click + to add the reference (AuthnContextClassRef) for the authentication method you want to add. You can find the reference in the Identity Provider, or in the SAML response. If a role has no AuthnContextClassRef assigned, the authentication method check will be skipped.
This is an example of an AuthnContextClassRef snippet in a SAML response. (The value here is: urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
):
Code Block |
---|
title | Example: SAML response
Code Block |
---|
<saml:AuthnContext>
<saml:AuthnContextClassRef> urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport </saml:AuthnContextClassRef>
</saml:AuthnContext> |
These AuthnContextClassRef examples are based on OASIS Standard documentation. See https://docs.oasis-open.org/security/saml/v2.0/saml-authn-context-2.0-os.pdf for more information.
Code Block |
---|
Examples: AuthnContextClassRef
Code Block |
---|
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
urn:oasis:names:tc:SAML:2.0:ac:classes:Smartcard
urn:oasis:names:tc:SAML:2.0:ac:classes:X509
urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken
urn:oasis:names:tc:SAML:2.0:ac:classes:MobileOneFactorContract |
Note |
---|
Custom string can also be configured as an AuthnContextClassRef. See the Identity Provider configuration. |
Map the added authentication method to a role by selecting the role you want to use and checking the check box for the authentication method.
Note |
---|
By mapping authentication methods to roles, you will restrict a user of certain roles depending on the authentication method used to log in. This adds an extra layer of security. If no authentication method is configured, all roles are allowed to be assigned to the user regardless of how the user is authenticated with the Identity Provider. |
---|
Expand |
---|
title | Configure SAML SSO Group profile |
---|
|
This authentication profile analyzes the SAML response only to determine the user's roles after a successful login. The administrator has to configure the attribute which will be read/parsed from the SAML response. | title | Go to the SAML Configuration tab.
Do the same settings as described above under heading "Configure SAML SSO Core Object profile".
Go to the SAML Group Mapping tab
Specify the attribute name in the SAML response which will contain the user's groups.
Example with "my-groups":
Code Block |
---|
Example SAML response
Code Block |
---|
<saml:Attribute Name="my-groups" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
<saml:AttributeValue xsi:type="xs:string">examplerole1</saml:AttributeValue>
<saml:AttributeValue xsi:type="xs:string">another-role-of-your-user</saml:AttributeValue>
</saml:Attribute> |
For more information see https://www.samltool.com/generic_sso_res.php.
(copied from LDAP:)
Map the groups from the SAML response to internal Identity Manager roles:
Click + to add a group to the Groups list
Select the roles that should be assigned to that group in the Roles list.
Click Save.
Optional:
Go to the Authentication Method tab and do the following settings:
In Authentication Method, click + to add the reference (AuthnContextClassRef) for the authentication method you want to add. You can find the reference in the Identity Provider, or in the SAML response. If a role has no AuthnContextClassRef assigned, the authentication method check will be skipped.
This is an example of an AuthnContextClassRef snippet in a SAML response. (The value here is: urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
):
Code Block |
titletitle | Example: SAML response
Code Block |
---|
<saml:AuthnContext>
<saml:AuthnContextClassRef> urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport </saml:AuthnContextClassRef>
</saml:AuthnContext> |
These AuthnContextClassRef examples are based on OASIS Standard documentation. See https://docs.oasis-open.org/security/saml/v2.0/saml-authn-context-2.0-os.pdf for more information.
Code Block |
---|
Examples: AuthnContextClassRef
Code Block |
---|
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
urn:oasis:names:tc:SAML:2.0:ac:classes:Smartcard
urn:oasis:names:tc:SAML:2.0:ac:classes:X509
urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken
urn:oasis:names:tc:SAML:2.0:ac:classes:MobileOneFactorContract |
Note |
---|
Custom string can also be configured as an AuthnContextClassRef. See the Identity Provider configuration. |
Map the added authentication method to a role by selecting the role you want to use and checking the check box for the authentication method.
Note |
---|
By mapping authentication methods to roles, you will restrict a user of certain roles depending on the authentication method used to log in. This adds an extra layer of security. If no authentication method is configured, all roles are allowed to be assigned to the user regardless of how the user is authenticated with the Identity Provider. |
---|
Configure post-login process
Expand |
---|
title | Configure post-login process |
---|
|
In order for a process to be started after you login in Identity Manager Operator and Self-Service (if applicable), the process must end with the service task "Login - Finalize post-login process", see Login - Standard service tasks in Identity Manager. The post-login process is available for all authentication profiles. A post-login process is automatically executed after successfully authenticating the user. The user will be forwarded to Identity Manager Operator and Self-Service (if applicable) only if the process completed successfully. The post-login process is executed under the internal user named loginProcessUser. Default is to not have a post-login process configured.
When you configure a post-login process for an authentication profile which is core object based (that is: Username with Password Core Object, Client Certificate Core Object, LDAP Core Object and SAML SSO Core Object), add the process for each core template with which it should be used, as additional command. In Identity Manager Admin, Go to Home > Authentication Profiles. Select an authentication profile. In the Processes tab, select from the drop-down list to the left, which process that shall run after a successful login in: Identity Manager Operator (if applicable) OR Self-Service (if applicable) OR in both.
Click Save. Go to Home > Process Designer. Select the same process as in step 3. In the Task List tab, add the service task "Login: Finalize Post-Login Process" in the Attributes field. In the the Permissions tab tab, add the user loginProcessUser to user loginProcessUser to Start process and and to other user tasks, if applicable. If used for SAML authentication in Self-Service, loginProcessUser should should be added to the the Show in Self-Service permission permission as well. Click Save.
|
Tenant ID settings
Expand |
---|
|
To validate the tenant id, use the property tenantContextFilter.shouldValidateTenant in system properties of Identity Manager: If set to true, an error page is shown when the selected tenant (passed in the URL) does not exist. If set to false, the user will be redirected to the login page. Default: tenantContextFilter.shouldValidateTenant =false
|
Expand |
---|
title | Call authentication method directly |
---|
|
If you use the correct URL, the desired authentication method can be called directly. You must give a valid tenant ID, the language will depend on browser language. For more information about the authentication methods, see Identity Manager Operator. Call authentication method "Certificate" directlyUse this URL: https://<idmhost>:<idmPort>/<idmApplicationName>/cert/login?tenantId=X
Panel |
---|
| https://localhost:8444/idm-admin/cert/login?tenantId=32768 |
Configure the port in system properties (default is 8444).
Call authentication method "SAML" directly |
Configure Smart ID Self-Service login page
Expand |
---|
title | Configure Smart ID Self-Service login page |
---|
|
Smart ID Self-Service has additional configuration options for the login page. You can enable or disable the different login mechanism in config.json, see this table: Property | Possible Values | Default | Graphical user interface |
---|
userPassword.enabled | true / false | true | Image RemovedImage RemovedImage Added | clientCert.enabled | true / false | true | Image RemovedImage Added |
|
Configure Identity Manager Operator login page
Expand |
---|
title | Configure Identity Manager Operator login page |
---|
|
Insert excerpt | See Identity Manager Operator
| Identity Manager Operator | nopanel | true .
---|
Expand |
---|
title | Log in to Identity Manager Admin |
---|
|
|