Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
This article describes authentication profiles in Smart ID Identity Manager and how to configure them. 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 / Login mechanism
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.
External login mechanism based on LDAP
Client Certificate and LDAP
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 Core Object
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.
Internal roles mapped to core objects
Internal roles mapped to core objects
SAML SSO Core Object
Configured attribute in SAML token
Internal roles mapped to core objects
Configured attribute in SAML token
Configured attribute in SAML token
Prerequisites
title | Prerequisites |
---|
The following prerequisites apply:
For SAML authentication, it is required to have an identity provider, such as Smart ID Digital Access component (Hybrid Access Gateway), with the correct configuration for Identity Manager authentication. For information and examples with Digital Access, see Enable two-factor authentication to Identity Manager clients via SAML federation.
Step-by-step instruction
title | Set up authentication profile |
---|
To set up an authentication profile:
Select a Profile type:
Image Removed
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. |
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.
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 | ||
---|---|---|
| ||
No further configuration required. |
Expand | ||
---|---|---|
| ||
|
title | Configure LDAP profile |
---|
In Connection string, enter the URL of the LDAP server and base address in the directory service, for example:
Panel | ||
---|---|---|
| ||
Connection string: ldap://localhost:389/ou=NexusEmployees,dc=nexus,dc=local |
where
ou = organizationalUnitNamedc = domainComponent
For more information on LDAP string attributes, see RFC 2253, LDAP (v3): UTF-8 String Representation of Distinguished Names.
Enter a Search pattern. Here are two examples:
Panel | ||
---|---|---|
| ||
Search pattern: (userPrincipalName={0}) |
Panel | ||
---|---|---|
| ||
Search pattern: cn={0},ou=users |
For example, if you find the group information under ou = groups, dc = myCompany, dc = de,
This article describes authentication profiles in Smart ID Identity Manager and how to configure them. 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 step-by-step instructions for SAML SSO Core Object, SAML SSO LDAP, and SAML SSO Group profiles below.
Prerequisites
Expand | ||
---|---|---|
| ||
The following prerequisites apply:
|
Step-by-step instruction
Expand | ||
---|---|---|
| ||
To set up an authentication profile:
|
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 | ||
---|---|---|
| ||
No further configuration required. |
Expand | ||
---|---|---|
| ||
|
Expand | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||
|
Expand | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||
|
Expand | ||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||
Expand | ||||||||||||||||||||||||||||||||||||||||||
|
Panel | ||
---|---|---|
| ||
Connection string: ldap://localhost:389/ou=NexusEmployees,dc=nexus,dc=local |
where
ou = organizationalUnitNamedc = domainComponent
For more information on LDAP string attributes, see RFC 2253, LDAP (v3): UTF-8 String Representation of Distinguished Names.
Enter a Search pattern. Here are two examples:
Panel | ||
---|---|---|
| ||
Search pattern: (userPrincipalName={0}) |
Panel | ||
---|---|---|
| ||
Search pattern: cn={0},ou=users |
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/tomcat-9.0-doc/api/org/apache/catalina/valves/SSLValve.html for more information. |
- User Principal Name (UPN)
- SAN Email (RFC822Name)
- Subject CN
- Subject Email
In Connection string, enter the URL of the LDAP server and base address in the directory service, for example:
Panel | ||
---|---|---|
| ||
Connection string: ldap://localhost:389/ou=NexusEmployees,dc=nexus,dc=local |
where
ou = organizationalUnitNamedc = domainComponent
For more information on LDAP string attributes, see RFC 2253, LDAP (v3): UTF-8 String Representation of Distinguished Names.
Enter a Search pattern. Here are two examples:
Panel | ||
---|---|---|
| ||
Search pattern: (userPrincipalName={0}) |
Panel | ||
---|---|---|
| ||
Search pattern: cn={0},ou=users |
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 | ||
---|---|---|
| ||
Basis for group search: ou=groups |
For example, if the group membership of users is stored in a multi-value attribute member
(via the DN), enter the following:
Panel | ||
---|---|---|
| ||
Filter for group search: (member={0}) |
For example, enter the following:
Panel | ||
---|---|---|
| ||
Attribute for group: cn |
- 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.
title | Configure Client Certificate Core Object profile |
---|
Note |
---|
If you have, for example, an Apache proxy or F5 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/tomcat-9.0-doc/api/org/apache/catalina/valves/SSLValve.html for more information. |
- User Principal Name (UPN)
- SAN Email (RFC822Name)
- Subject CN
- Subject Email
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
- 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.
- 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.
title | Configure Username with Password Core Object profile |
---|
title | Configure SAML SSO Core Object profile |
---|
- 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.
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 Statement refers to attributes associated with the subject of a SAML response.Enter Attribute Name
This field is only active when Attribute Statement is selected as Attribute Type. It can be any arbitrary value.
- 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.
- 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 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 | ||
---|---|---|
| ||
...
<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"/>
... |
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.
The alias from the key store for the private key to use for signing. This field is mandatory.
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 and do the following settings:
|
title | Configure SAML SSO LDAP profile |
---|
- Do the same settings as described above under heading "Configure SAML SSO Core Object profile".
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. |
- See under heading "Configure LDAP profile" above.
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.
- 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 title Example SAML response <saml:Attribute Name="my-groups" NameFormat=" : 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 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
|
Expand | ||
---|---|---|
| ||
|
Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
|
Expand | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||
|
Expand | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
|
Expand | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||
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.
|
Configure post-login process
Expand | ||
---|---|---|
| ||
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.
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.
|
Tenant ID settings
Expand | ||
---|---|---|
| ||
Using the correct URL, the desired authentication method can be called directly. You need to give a valid tenant ID (language will depend on browser language). Read more under headings "Login" and "Admin page" in Identity Manager Operator. Authentication method CertificateUse this URL: https://<idmhost>:<idmPort>/<idmApplicationName>/cert/login?tenantId=X (Example: https://localhost:8444/idm-admin/cert/login?tenantId=32768) The port (default is 8444) must be configured in system.properties. Authentication method SAMLUse this URL: https://<idmhost>:<idmPort>/<idmApplicationName>/saml/login?tenantId=X (Example: http://localhost:8080/idm/saml/login?tenantId=1) Validate tenant idYou can use the flag "tenantContextFilter.shouldValidateTenant" in system.properties of Identity Manager for validation of the tenant id:
|
Configure Smart ID Self-Service login page
Expand | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
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:
|
Configure Identity Manager Operator login page
Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
|
Expand | ||
---|---|---|
| ||
|
This article is valid for Smart ID 2122.10.2 04 and later.