public class ConfigureAmbariIdentitiesServerAction extends KerberosServerAction
KerberosServerAction.processIdentity(ResolvedKerberosPrincipal, KerberosOperationHandler, Map, boolean, Map)
is invoked attempting the creation of the relevant keytab file.KerberosServerAction.KerberosCommandParameters, KerberosServerAction.OperationType
AUTHENTICATED_USER_NAME, DATA_DIRECTORY, DATA_DIRECTORY_PREFIX, DEFAULT_REALM, HOST_FILTER, IDENTITY_FILTER, INCLUDE_AMBARI_IDENTITY, KDC_TYPE, KEYTAB_CONTENT_BASE64, OPERATION_TYPE, PRECONFIGURE_SERVICES, SERVICE_COMPONENT_FILTER, UPDATE_CONFIGURATION_NOTE, UPDATE_CONFIGURATION_POLICY
actionLog, gson
ACTION_NAME, ACTION_USER_NAME, DEFAULT_LONG_RUNNING_TASK_TIMEOUT_SECONDS, WRAPPED_CLASS_NAME
Constructor and Description |
---|
ConfigureAmbariIdentitiesServerAction() |
Modifier and Type | Method and Description |
---|---|
void |
configureJAAS(String principal,
String keytabFilePath,
ActionLog actionLog)
Configure Ambari's JAAS file to reflect the principal name and keytab file for Ambari's Kerberos
identity.
|
CommandReport |
execute(ConcurrentMap<String,Object> requestSharedDataContext)
Called to execute this action.
|
boolean |
installAmbariServerIdentity(ResolvedKerberosPrincipal principal,
String srcKeytabFilePath,
String destKeytabFilePath,
String ownerName,
String ownerAccess,
String groupName,
String groupAccess,
ActionLog actionLog)
Installs the Ambari Server Kerberos identity by copying its keytab file to the specified location
and then creating the Ambari Server JAAS File.
|
protected CommandReport |
processIdentity(ResolvedKerberosPrincipal resolvedPrincipal,
KerberosOperationHandler operationHandler,
Map<String,String> kerberosConfiguration,
boolean includedInFilter,
Map<String,Object> requestSharedDataContext)
Creates keytab file for ambari-server identity.
|
ambariServerHostID, deleteDataDirectory, getCluster, getClusterName, getClusters, getCommandParameterValue, getCommandPreconfigureType, getConfigurationProperties, getDataDirectoryPath, getDataDirectoryPath, getDefaultRealm, getHostFilter, getIdentityFilter, getKDCType, getOperationType, getPrincipalKeyNumberMap, getPrincipalPasswordMap, getServiceComponentFilter, getUpdateConfigurationPolicy, hasHostFilters, processIdentities, pruneServiceFilter, setPrincipalPasswordMap
auditLog, createCommandReport, createCompletedCommandReport, getCommandParameters, getCommandParameterValue, getExecutionCommand, getHostRoleCommand, setExecutionCommand, setHostRoleCommand
public ConfigureAmbariIdentitiesServerAction()
public CommandReport execute(ConcurrentMap<String,Object> requestSharedDataContext) throws org.apache.ambari.server.AmbariException, InterruptedException
KerberosServerAction.processIdentities(Map)
)}
to iterate through the Kerberos identity metadata and call
KerberosServerAction.processIdentities(Map)
for each identity to process.requestSharedDataContext
- a Map to be used a shared data among all ServerActions related
to a given requestorg.apache.ambari.server.AmbariException
InterruptedException
protected CommandReport processIdentity(ResolvedKerberosPrincipal resolvedPrincipal, KerberosOperationHandler operationHandler, Map<String,String> kerberosConfiguration, boolean includedInFilter, Map<String,Object> requestSharedDataContext) throws org.apache.ambari.server.AmbariException
CreatePrincipalsServerAction
(or similar) and CreateKeytabFilesServerAction
has executed before this action.processIdentity
in class KerberosServerAction
resolvedPrincipal
- a ResolvedKerberosPrincipal object to processoperationHandler
- a KerberosOperationHandler used to perform Kerberos-related
tasks for specific Kerberos implementations
(MIT, Active Directory, etc...)kerberosConfiguration
- a Map of configuration properties from kerberos-envincludedInFilter
- a Boolean value indicating whather the principal is included in
the current filter or notrequestSharedDataContext
- a Map to be used a shared data among all ServerActions related
to a given request @return a CommandReport, indicating an error
condition; or null, indicating a success conditionorg.apache.ambari.server.AmbariException
- if an error occurs while processing the identity recordpublic boolean installAmbariServerIdentity(ResolvedKerberosPrincipal principal, String srcKeytabFilePath, String destKeytabFilePath, String ownerName, String ownerAccess, String groupName, String groupAccess, ActionLog actionLog) throws org.apache.ambari.server.AmbariException
principal
- the ambari server principal namesrcKeytabFilePath
- the source location of the ambari server keytab filedestKeytabFilePath
- the destination location of the ambari server keytab fileownerName
- the username for the owner of the generated keytab fileownerAccess
- the user file access, "", "r" or "rw"groupName
- the name of the group for the generated keytab filegroupAccess
- the group file access, "", "r" or "rw"actionLog
- the loggerorg.apache.ambari.server.AmbariException
public void configureJAAS(String principal, String keytabFilePath, ActionLog actionLog)
principal
- the Ambari server's principal namekeytabFilePath
- the absolute path to the Ambari server's keytab fileactionLog
- the loggerCopyright © 2022 Apache Software Foundation. All rights reserved.