[ https://issues.apache.org/jira/browse/HADOOP-19639?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18009514#comment-18009514 ]
ASF GitHub Bot commented on HADOOP-19639: ----------------------------------------- K0K0V0K opened a new pull request, #7827: URL: https://github.com/apache/hadoop/pull/7827 ### Description of PR - static configuration of SecretManager is required because it has some static method what use the selected algorithm - in case if class path not contains the config values (for example TEZ DAGAppMaster run) the default values will be loaded at runtime - the default values can cause failers in modern environments (they are not FIPS compliant) - new SecretManagerConfig created to be able to modify the SecretManager config without core-site.xml present on class path ### How was this patch tested? - Unit tests were run ### For code changes: - [ ] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')? - [ ] Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation? - [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)? - [ ] If applicable, have you updated the `LICENSE`, `LICENSE-binary`, `NOTICE-binary` files? > SecretManager configuration at runtime > -------------------------------------- > > Key: HADOOP-19639 > URL: https://issues.apache.org/jira/browse/HADOOP-19639 > Project: Hadoop Common > Issue Type: Improvement > Components: hadoop-common > Affects Versions: 3.5.0 > Reporter: Bence Kosztolnik > Assignee: Bence Kosztolnik > Priority: Major > > In case of TEZ *DAGAppMaster* the Hadoop *SecretManager* code can not read > yarn config xml file, therefore the SELECTED_ALGORITHM and SELECTED_LENGTH > variables in SecretManager can not be set at runtime. > This can results with the following exception in FIPS environment: > {code:java} > java.security.InvalidParameterException: Key size for HMAC must be at least > 112 bits in approved mode: SHA-1/HMAC > at > com.safelogic.cryptocomply.fips.core/com.safelogic.cryptocomply.jcajce.provider.BaseKeyGenerator.engineInit(Unknown > Source) > at java.base/javax.crypto.KeyGenerator.init(KeyGenerator.java:540) > at java.base/javax.crypto.KeyGenerator.init(KeyGenerator.java:517) > at > org.apache.hadoop.security.token.SecretManager.<init>(SecretManager.java:157) > at > org.apache.hadoop.yarn.security.client.BaseClientToAMTokenSecretManager.<init>(BaseClientToAMTokenSecretManager.java:38) > at > org.apache.hadoop.yarn.security.client.ClientToAMTokenSecretManager.<init>(ClientToAMTokenSecretManager.java:46) > at > org.apache.tez.common.security.TezClientToAMTokenSecretManager.<init>(TezClientToAMTokenSecretManager.java:33) > at > org.apache.tez.dag.app.DAGAppMaster.serviceInit(DAGAppMaster.java:493) > at > org.apache.hadoop.service.AbstractService.init(AbstractService.java:164) > at org.apache.tez.dag.app.DAGAppMaster$9.run(DAGAppMaster.java:2649) > at java.base/java.security.AccessController.doPrivileged(Native Method) > at java.base/javax.security.auth.Subject.doAs(Subject.java:423) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1910) > at > org.apache.tez.dag.app.DAGAppMaster.initAndStartAppMaster(DAGAppMaster.java:2646) > at org.apache.tez.dag.app.DAGAppMaster.main(DAGAppMaster.java:2440) > {code} > To mitigate the problem we should modify the *ClientToAMTokenSecretManager* > to have a constructor where TEZ can path a configuration object with the > selected values. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org