Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
devel:documentation:application_configuration:dev:backend [2023/02/24 12:05] – [Security] add proxy recaptcha kopro | devel:documentation:application_configuration:dev:backend [2025/07/29 07:27] (current) – [Application/ Server] kopro | ||
---|---|---|---|
Line 95: | Line 95: | ||
# - description | # - description | ||
idm.pub.app.show.role.table.columns=name, | idm.pub.app.show.role.table.columns=name, | ||
+ | # Configuration variable that controls how roles are displayed in role requests. | ||
+ | # If set to false, all roles will be shown in the request. | ||
+ | # If set to true, only newly added or changed roles will be shown. | ||
+ | idm.pub.core.audit.switchShowChangesOnly.enabled=false | ||
+ | # List of bulk actions that will not be available in the table in role detail - users with role | ||
+ | # Actions listed here will disappear completely from the table (they won't just be greyed out) | ||
+ | idm.pub.app.show.role.identity.prohibited=identity-enable-bulk-action, | ||
+ | # If set to false, the link to profile detail (looking glass icon) will not appear in | ||
+ | idm.pub.app.show.role.identity.detail=false | ||
# Show role catalogue item code in role catalogue tree | # Show role catalogue item code in role catalogue tree | ||
idm.pub.app.show.roleCatalogue.tree.code=false | idm.pub.app.show.roleCatalogue.tree.code=false | ||
Line 133: | Line 142: | ||
# you can use FE configuration https:// | # you can use FE configuration https:// | ||
idm.pub.app.show.identity.table.columns=username, | idm.pub.app.show.identity.table.columns=username, | ||
- | idm.pub.app.show.identityRole.table.columns=role, | + | # Rendered columns in user roles agenda (Directly assigned roles). Comma is used as separator. Order of rendered columns is preserved as configured. |
+ | idm.pub.app.show.identityRole.table.columns=role, | ||
+ | # Rendered columns in role requests in the table for assigned roles. Comma is used as separator. Order of rendered columns is preserved as configured. | ||
+ | idm.pub.app.show.role.request.table.columns=name, | ||
+ | # if is true, only direct roles are displayed in role request table (@since 13.0.21, 14.0.4) | ||
+ | idm.pub.app.show.role.request.table.directOnly=false | ||
# If is true, then role-request description will be show on the detail. | # If is true, then role-request description will be show on the detail. | ||
# Description will hidden if this property will be false and role request | # Description will hidden if this property will be false and role request | ||
Line 166: | Line 180: | ||
# Set property to false to disable init data creation and updates. | # Set property to false to disable init data creation and updates. | ||
idm.sec.core.init.data.enabled=true | idm.sec.core.init.data.enabled=true | ||
+ | |||
</ | </ | ||
Line 184: | Line 199: | ||
* '' | * '' | ||
* '' | * '' | ||
+ | === Filters and columns to users table and subordinates table === | ||
+ | |||
+ | @since 14.1.0 | ||
+ | |||
+ | A new variable has been added that makes the contract end date column visible and provides a filter to select by "Valid till" date. If a user has multiple contracts, all end dates will be visible. Filtering by contract end date includes the boundary for the entered day. If you want to filter, for example, all subordinates for a specific day, fill both date boxes with that day. If one of these dates is not set, the boundary will be ignored. | ||
+ | |||
+ | You can add the configuration variable '' | ||
+ | |||
+ | The configuration variable '' | ||
+ | |||
+ | {{.: | ||
+ | |||
+ | === Update contract end date pre-fill date === | ||
+ | |||
+ | @since 14.1.0 | ||
+ | |||
+ | If you add the following configuration variable, it will pre-fill the **Valid till** | ||
+ | |||
+ | For example: '' | ||
+ | |||
+ | Date will be pre-filed with today date + 365 days. | ||
+ | |||
==== Jpa ==== | ==== Jpa ==== | ||
Line 220: | Line 257: | ||
# Enlarge pool size by default. This property should be revised for each project. Size should be configured by task and event thread pool size - should be higher than sum of pool sizes. | # Enlarge pool size by default. This property should be revised for each project. Size should be configured by task and event thread pool size - should be higher than sum of pool sizes. | ||
spring.datasource.maximumPoolSize=50 | spring.datasource.maximumPoolSize=50 | ||
+ | |||
</ | </ | ||
Line 233: | Line 271: | ||
There are by default two datasources configured | There are by default two datasources configured | ||
- | | + | |
- | * loggingDatasource - This datasource is used by our database logging appender to write logging messages, when databes appender is enabled. The reason why this is done by separate datasource is to prevent database logging to hog database connections and hinder the application performance | + | * loggingDatasource - This datasource is used by our database logging appender to write logging messages, when databes appender is enabled. The reason why this is done by separate datasource is to prevent database logging to hog database connections and hinder the application performance |
* | * | ||
Configuration properties, that have changed with introduction of additional datasources: | Configuration properties, that have changed with introduction of additional datasources: | ||
- | | + | |
- | * spring.datasource.hikari.* → spring.datasource.* | + | * spring.datasource.hikari.* → spring.datasource.* |
* | * | ||
Both datasources are required for the app to start. | Both datasources are required for the app to start. | ||
- | | + | |
- | * If you specify property spring.datasource.jdbcUrl, | + | * If you specify property spring.datasource.jdbcUrl, |
- | * The same goes for loggingDatasource, | + | * The same goes for loggingDatasource, |
===== Datasource configuration properties | ===== Datasource configuration properties | ||
Line 254: | Line 292: | ||
===== Developer ===== | ===== Developer ===== | ||
- | | + | |
- | * @CoreEntityManager` annotation, if you want to autowire main application datasource (in most cases you want to use this | + | |
- | * @Qualifier(" | + | * @CoreEntityManager` annotation, if you want to autowire main application datasource (in most cases you want to use this |
+ | * @Qualifier(" | ||
=== JNDI datasource === | === JNDI datasource === | ||
Line 275: | Line 314: | ||
maxIdle=" | maxIdle=" | ||
</ | </ | ||
+ | |||
</ | </ | ||
Line 283: | Line 323: | ||
# JNDI location of the datasource. Class, url, username & password are ignored when set. | # JNDI location of the datasource. Class, url, username & password are ignored when set. | ||
spring.datasource.jndi-name=PostgresDS | spring.datasource.jndi-name=PostgresDS | ||
+ | |||
</ | </ | ||
Line 299: | Line 340: | ||
</ | </ | ||
... | ... | ||
+ | |||
</ | </ | ||
Line 327: | Line 369: | ||
# add ssl usage flag, see https:// | # add ssl usage flag, see https:// | ||
spring.datasource.url=jdbc: | spring.datasource.url=jdbc: | ||
+ | |||
</ | </ | ||
Line 347: | Line 390: | ||
# Size in MB | # Size in MB | ||
idm.sec.cache.terracota.resource.pool.size=32 | idm.sec.cache.terracota.resource.pool.size=32 | ||
+ | |||
</ | </ | ||
Line 384: | Line 428: | ||
# Temporary file is used mainly for upload files internaly. When upload is complete, then temporary file is moved into normal IdM attachment (~ temporary file is not reachable, after user session ends). | # Temporary file is used mainly for upload files internaly. When upload is complete, then temporary file is moved into normal IdM attachment (~ temporary file is not reachable, after user session ends). | ||
idm.sec.core.attachment.tempTtl=1209600000 | idm.sec.core.attachment.tempTtl=1209600000 | ||
+ | |||
</ | </ | ||
Line 405: | Line 450: | ||
# definitions name pattern - subfolders can be used | # definitions name pattern - subfolders can be used | ||
spring.activiti.processDefinitionLocationSuffixes=**/ | spring.activiti.processDefinitionLocationSuffixes=**/ | ||
+ | |||
</ | </ | ||
Line 428: | Line 474: | ||
# - test secret key: https:// | # - test secret key: https:// | ||
idm.sec.security.recaptcha.secretKey=xxx | idm.sec.security.recaptcha.secretKey=xxx | ||
- | # Proxy configuration for reCAPTCHA | + | # Proxy configuration for reCAPTCHA |
idm.sec.security.recaptcha.proxy=12.34.56.78: | idm.sec.security.recaptcha.proxy=12.34.56.78: | ||
+ | |||
</ | </ | ||
Line 443: | Line 490: | ||
# @see https:// | # @see https:// | ||
flyway.enabled=false | flyway.enabled=false | ||
+ | |||
</ | </ | ||
Line 467: | Line 515: | ||
# IdmFlywayMigrationStrategy resolves used jdbc database dynamically - ${dbName} in location could be used. | # IdmFlywayMigrationStrategy resolves used jdbc database dynamically - ${dbName} in location could be used. | ||
flyway.core.locations=classpath: | flyway.core.locations=classpath: | ||
+ | |||
</ | </ | ||
Line 490: | Line 539: | ||
module.< | module.< | ||
module.< | module.< | ||
+ | |||
</ | </ | ||
Line 508: | Line 558: | ||
springfox.documentation.swagger.outputDir=@swagger.output.dir@ | springfox.documentation.swagger.outputDir=@swagger.output.dir@ | ||
springfox.documentation.swagger.outputFilename=@swagger.output.filename@ | springfox.documentation.swagger.outputFilename=@swagger.output.filename@ | ||
+ | |||
</ | </ | ||
Line 526: | Line 577: | ||
# The FROM email address. | # The FROM email address. | ||
idm.sec.core.emailer.from=idm@bcvsolutions.eu | idm.sec.core.emailer.from=idm@bcvsolutions.eu | ||
+ | |||
</ | </ | ||
Line 540: | Line 592: | ||
idm.sec.core.notification.template.folder=classpath*:/ | idm.sec.core.notification.template.folder=classpath*:/ | ||
idm.sec.core.notification.template.fileSuffix=**/ | idm.sec.core.notification.template.fileSuffix=**/ | ||
+ | |||
</ | </ | ||
Line 554: | Line 607: | ||
idm.sec.core.script.folder=classpath*:/ | idm.sec.core.script.folder=classpath*:/ | ||
idm.sec.core.script.fileSuffix=**/ | idm.sec.core.script.fileSuffix=**/ | ||
+ | |||
</ | </ | ||
Line 599: | Line 653: | ||
# Thread priority for threads in event executor pool - 6 by default (a little higher priority than normal 5). | # Thread priority for threads in event executor pool - 6 by default (a little higher priority than normal 5). | ||
scheduler.event.executor.threadPriority=6 | scheduler.event.executor.threadPriority=6 | ||
+ | |||
</ | </ | ||
Line 627: | Line 682: | ||
# Needed on FE (=> public) | # Needed on FE (=> public) | ||
idm.pub.core.identity.passwordChange.public.idm.enabled=true | idm.pub.core.identity.passwordChange.public.idm.enabled=true | ||
+ | # | ||
+ | # Configure initial state of account selection for password change (since version 13.0.16 and pwdreset 3.0.8) | ||
+ | # true - whether all of the accounts will be selected initially | ||
+ | # false - non of the accounts will be selected initially | ||
+ | idm.pub.core.identity.passwordChange.preselectSystems=true | ||
# | # | ||
# Skip identity dashboard content - show full detail directly (link from table or from info component) | # Skip identity dashboard content - show full detail directly (link from table or from info component) | ||
Line 637: | Line 697: | ||
# Creates default identity' | # Creates default identity' | ||
idm.sec.core.identity.create.defaultContract.position=Default | idm.sec.core.identity.create.defaultContract.position=Default | ||
+ | # This conf. property will pre-filled to the position name in the projection form when creating a new user. If the configuration value is not provided, the position name defaults to " | ||
+ | idm.pub.core.identity.create.defaultContract.position=Contract name | ||
# Creates default identity' | # Creates default identity' | ||
# EXCLUDED - Excluded from evidence - remains valid, but roles assigned for this contract are not added for logged identity. | # EXCLUDED - Excluded from evidence - remains valid, but roles assigned for this contract are not added for logged identity. | ||
Line 647: | Line 709: | ||
# Profile image max file size in readable string format (e.g. 200KB). | # Profile image max file size in readable string format (e.g. 200KB). | ||
idm.sec.core.identity.profile.image.max-file-size=512KB | idm.sec.core.identity.profile.image.max-file-size=512KB | ||
+ | # | ||
+ | # Validation all password to banned strings. Banned string are comparison for similarity to first name last name, usernames, account name, ... | ||
+ | # Configuration is global for all users, accounts and all policies | ||
+ | idm.sec.core.identity.passwordChange.validateBannedStrings=false | ||
</ | </ | ||
Line 661: | Line 726: | ||
# termination of the contract from the currently valid slice. | # termination of the contract from the currently valid slice. | ||
idm.sec.core.contract-slice.protection-interval=0 | idm.sec.core.contract-slice.protection-interval=0 | ||
+ | |||
</ | </ | ||
Line 705: | Line 771: | ||
# Look out: when separator is changed, then all roles should be updated (manually from ui, by scripted LRT or by change script). | # Look out: when separator is changed, then all roles should be updated (manually from ui, by scripted LRT or by change script). | ||
idm.sec.core.role.codeEnvironmentSeperator=| | idm.sec.core.role.codeEnvironmentSeperator=| | ||
+ | |||
</ | </ | ||
Line 719: | Line 786: | ||
# Default tree node (uuid) - is used, when default contract is created. More in Contractual relationship doc. | # Default tree node (uuid) - is used, when default contract is created. More in Contractual relationship doc. | ||
idm.sec.core.tree.defaultNode= | idm.sec.core.tree.defaultNode= | ||
+ | |||
</ | </ | ||
Line 729: | Line 797: | ||
# rebuild index in progress (true). When tree type index rebuild is in progress, then tree node cannot be created / updated / deleted. | # rebuild index in progress (true). When tree type index rebuild is in progress, then tree node cannot be created / updated / deleted. | ||
idm.sec.core.treeType.< | idm.sec.core.treeType.< | ||
+ | |||
</ | </ | ||
Line 749: | Line 818: | ||
# If you events are processed quickly (~provisioning on your environment is quick), then batch size can be higher (in combination with higher ' | # If you events are processed quickly (~provisioning on your environment is quick), then batch size can be higher (in combination with higher ' | ||
idm.sec.core.event.asynchronous.batchSize=15 | idm.sec.core.event.asynchronous.batchSize=15 | ||
+ | |||
</ | </ | ||
Line 761: | Line 831: | ||
# override event types for given processor | # override event types for given processor | ||
idm.sec.< | idm.sec.< | ||
+ | |||
</ | </ | ||
Line 782: | Line 853: | ||
# disable / enable bulk action | # disable / enable bulk action | ||
idm.sec.< | idm.sec.< | ||
+ | |||
</ | </ | ||
Line 826: | Line 898: | ||
# Default main WF for approve all roles. | # Default main WF for approve all roles. | ||
idm.sec.core.processor.role-request-approval-processor.wf=approve-identity-change-permissions | idm.sec.core.processor.role-request-approval-processor.wf=approve-identity-change-permissions | ||
+ | |||
</ | </ | ||
Line 838: | Line 911: | ||
# If returns null, then all guarantees will be used for approving (no limitations). | # If returns null, then all guarantees will be used for approving (no limitations). | ||
idm.sec.core.request.idm-role.approval.guarantee-type= | idm.sec.core.request.idm-role.approval.guarantee-type= | ||
+ | |||
</ | </ | ||
Line 850: | Line 924: | ||
## Enable sending notification of changing roles to user, who made request | ## Enable sending notification of changing roles to user, who made request | ||
idm.sec.core.wf.notification.implementer.enabled=true | idm.sec.core.wf.notification.implementer.enabled=true | ||
+ | |||
</ | </ | ||
Line 864: | Line 939: | ||
# or secretKey defined in the external file - secret.keyPath | # or secretKey defined in the external file - secret.keyPath | ||
# cipher.crypt.secret.keyPath=/ | # cipher.crypt.secret.keyPath=/ | ||
+ | |||
</ | </ | ||
Line 879: | Line 955: | ||
# Throws exception, when size is exceeded. Set to {@code -1} to disable this check. | # Throws exception, when size is exceeded. Set to {@code -1} to disable this check. | ||
idm.sec.core.filter.check.size.maximum=500 | idm.sec.core.filter.check.size.maximum=500 | ||
+ | |||
</ | </ | ||
Line 889: | Line 966: | ||
# filter implementation | # filter implementation | ||
idm.sec.< | idm.sec.< | ||
+ | |||
</ | </ | ||
Line 911: | Line 989: | ||
# sender implementation | # sender implementation | ||
idm.sec.< | idm.sec.< | ||
+ | |||
</ | </ | ||
Line 930: | Line 1009: | ||
# ID system against which to authenticate | # ID system against which to authenticate | ||
idm.sec.security.auth.system= | idm.sec.security.auth.system= | ||
+ | |||
</ | </ | ||
Line 938: | Line 1018: | ||
idm.sec.acc.security.auth.order1.system= | idm.sec.acc.security.auth.order1.system= | ||
idm.sec.acc.security.auth.order2.system= | idm.sec.acc.security.auth.order2.system= | ||
+ | |||
</ | </ | ||
Line 945: | Line 1026: | ||
<code properties> | <code properties> | ||
idm.sec.acc.security.auth.maximumSystemCount=50 | idm.sec.acc.security.auth.maximumSystemCount=50 | ||
+ | |||
</ | </ | ||
Line 957: | Line 1039: | ||
# enable/ disable filter - enabled by default or by filter implementation. | # enable/ disable filter - enabled by default or by filter implementation. | ||
idm.sec.< | idm.sec.< | ||
+ | |||
</ | </ | ||
Line 980: | Line 1063: | ||
# The uids that can't be authenticated by SSO | # The uids that can't be authenticated by SSO | ||
idm.sec.core.authentication-filter.core-sso-authentication-filter.forbidden-uids= | idm.sec.core.authentication-filter.core-sso-authentication-filter.forbidden-uids= | ||
+ | |||
</ | </ | ||
Line 994: | Line 1078: | ||
# The uids that can't be authenticated by SSO | # The uids that can't be authenticated by SSO | ||
idm.sec.core.authentication-filter.core-remote-user-authentication-filter.forbidden-uids= | idm.sec.core.authentication-filter.core-remote-user-authentication-filter.forbidden-uids= | ||
+ | |||
</ | </ | ||
Line 1038: | Line 1123: | ||
# Path to CzechIdM for the HTTP Referer header used by CAS while redirecting back to application. This value is concatenated with CAS ticket to form Referer header. Syntax of this field is https:// | # Path to CzechIdM for the HTTP Referer header used by CAS while redirecting back to application. This value is concatenated with CAS ticket to form Referer header. Syntax of this field is https:// | ||
idm.sec.core.cas.header-prefix= | idm.sec.core.cas.header-prefix= | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | === OIDC authentication === | ||
+ | |||
+ | @since 13.1.0 [[this> | ||
+ | |||
+ | <code properties> | ||
+ | # Enable authentication via OIDC when false IDM will return 503 SERVICE_UNAVAILABLE on enpoints used for OICD auth, and ignore any Bearer token. Default: false | ||
+ | idm.pub.core.oidc.enabled=false | ||
+ | # REQIRED configuration | ||
+ | # client-id confugured in CAS Service | ||
+ | idm.sec.core.oidc.client-id= | ||
+ | # client-secret confugured in CAS Service | ||
+ | idm.sec.core.oidc.client-secret= | ||
+ | # Base URL where OICD provider is accessible. Syntax of this field is https:// | ||
+ | idm.sec.core.oidc.url= | ||
+ | |||
+ | # OPTIONAL configuration | ||
+ | idm.sec.core.oidc.login-path=/ | ||
+ | idm.sec.core.oidc.logout-path=/ | ||
+ | idm.sec.core.oidc.token-path=/ | ||
+ | |||
+ | # | ||
+ | spring.security.oauth2.client.registration.cas.client-id=${idm.sec.core.oidc.client-id} | ||
+ | spring.security.oauth2.client.registration.cas.client-secret=${idm.sec.core.oidc.client-secret} | ||
+ | spring.security.oauth2.client.registration.cas.scope=openid | ||
+ | spring.security.oauth2.client.registration.cas.redirect-uri={baseUrl}/ | ||
+ | # | ||
+ | # | ||
+ | |||
+ | spring.security.oauth2.client.provider.cas.issuer-uri=${idm.sec.core.oidc.url} | ||
+ | # | ||
+ | # | ||
+ | |||
</ | </ | ||
Line 1049: | Line 1170: | ||
# Configured attachment storage patrh ( see ' | # Configured attachment storage patrh ( see ' | ||
idm.sec.core.backups.default.folder.path=/ | idm.sec.core.backups.default.folder.path=/ | ||
+ | |||
</ | </ | ||
Line 1054: | Line 1176: | ||
==== Http proxy ==== | ==== Http proxy ==== | ||
- | For outgoing http communication, | + | For outgoing http communication, |
**Server restart** | **Server restart** | ||
Line 1061: | Line 1183: | ||
# Proxy for HTTP requests | # Proxy for HTTP requests | ||
idm.sec.core.http.proxy=12.34.56.78: | idm.sec.core.http.proxy=12.34.56.78: | ||
+ | |||
+ | # For reCAPTCHA is used since version 12.2.5 new configuration. Backward compatibility with original configuration still exists. | ||
+ | # Proxy configuration for reCAPTCHA | ||
+ | idm.sec.security.recaptcha.proxy=12.34.56.78: | ||
+ | |||
</ | </ | ||
Line 1071: | Line 1198: | ||
# use cglib for proxies by default | # use cglib for proxies by default | ||
spring.aop.proxy-target-class=true | spring.aop.proxy-target-class=true | ||
+ | |||
</ | </ | ||
Line 1081: | Line 1209: | ||
# If you do not define default role, then will be used **superAdminRole** as default! | # If you do not define default role, then will be used **superAdminRole** as default! | ||
idm.sec.vs.role.default=< | idm.sec.vs.role.default=< | ||
+ | |||
</ | </ | ||
Line 1089: | Line 1218: | ||
# Long polling | # Long polling | ||
idm.pub.app.long-polling.enabled=true | idm.pub.app.long-polling.enabled=true | ||
+ | |||
</ | </ | ||
Line 1114: | Line 1244: | ||
# Timeout has to be configured> | # Timeout has to be configured> | ||
idm.sec.acc.provisioning.timeout=180000 | idm.sec.acc.provisioning.timeout=180000 | ||
+ | |||
</ | </ | ||
Line 1175: | Line 1306: | ||
# Global break for delete. Recipient will be solved as identities that has assigned defined role/s (role code or id, split by ',' | # Global break for delete. Recipient will be solved as identities that has assigned defined role/s (role code or id, split by ',' | ||
idm.sec.acc.provisioning.break.delete.roleRecipients | idm.sec.acc.provisioning.break.delete.roleRecipients | ||
+ | |||
</ | </ | ||
Line 1187: | Line 1319: | ||
# disable / enable report | # disable / enable report | ||
idm.sec.< | idm.sec.< | ||
+ | |||
</ | </ | ||
Line 1202: | Line 1335: | ||
# disable / enable renderer | # disable / enable renderer | ||
idm.sec.< | idm.sec.< | ||
+ | |||
</ | </ | ||
Line 1219: | Line 1353: | ||
logging.pattern.console=%d{yyyy-MM-dd HH: | logging.pattern.console=%d{yyyy-MM-dd HH: | ||
logging.pattern.file=%d{yyyy-MM-dd HH: | logging.pattern.file=%d{yyyy-MM-dd HH: | ||
+ | |||
</ | </ | ||
Line 1228: | Line 1363: | ||
<code properties> | <code properties> | ||
idm.sec.core.logger.< | idm.sec.core.logger.< | ||
+ | |||
</ | </ | ||
Line 1237: | Line 1373: | ||
<code properties> | <code properties> | ||
idm.sec.core.logger.eu.bcvsolutions=DEBUG | idm.sec.core.logger.eu.bcvsolutions=DEBUG | ||
+ | |||
</ | </ | ||
Line 1249: | Line 1386: | ||
# disable / enable monitoring evaluator | # disable / enable monitoring evaluator | ||
idm.sec.< | idm.sec.< | ||
+ | |||
</ | </ | ||
Line 1257: | Line 1395: | ||
* '' | * '' | ||
+ | ==== Subordinates ==== | ||
+ | |||
+ | === Left subordinates visibility (from 13.0.19) === | ||
+ | |||
+ | By default, manager doesn' | ||
+ | |||
+ | <code properties> | ||
+ | idm.sec.filter.IdmIdentity.managerLeftSubordinateAccess.enabled=true | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | ==== Contract column in tables ==== | ||
+ | |||
+ | === Left subordinates visibility (from 13.0.19) === | ||
+ | |||
+ | By default, manager doesn' | ||
+ | |||
+ | <code properties> | ||
+ | idm.sec.filter.IdmIdentity.managerLeftSubordinateAccess.enabled=true | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | ==== Account attributes in technical account entity report (from idm-tech version 2.1.0) ==== | ||
+ | |||
+ | <code properties> | ||
+ | # list of attributes from account connector object added to technical account entity report | ||
+ | idm.sec.tech.account.report.connector.object.attributes= | ||
+ | </ | ||
+ | |||
+ | The property '' | ||
+ | |||
+ | <note important> | ||
+ | If properties of the account on the system are defined and the system is unavailable during report generation, the attempt to retrieve attributes for each account will wait for the internal IdM timeout. | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Role requests ==== | ||
+ | |||
+ | === Configurable extensive role requests with NORMAL priority (from 14.11.0, 15.3.0) === | ||
+ | |||
+ | <code properties> | ||
+ | # Minimal total count of roles in role request (business subrole tree included) to be run with NORMAL priority | ||
+ | # -1 means " | ||
+ | idm.sec.core.roleRequest.normalPriority.roleCountThreshold=-1 | ||
+ | |||
+ | </ | ||
+ | |||
+ | By default, role requests initiated from the frontend (whether individually via " | ||
+ | |||
+ | This is useful in cases where extensive role requests are blocking regular operations. | ||