Class OpenMetadataPlatformSecurityConnector
- java.lang.Object
-
- org.odpi.openmetadata.frameworks.connectors.Connector
-
- org.odpi.openmetadata.frameworks.connectors.ConnectorBase
-
- org.odpi.openmetadata.metadatasecurity.connectors.OpenMetadataPlatformSecurityConnector
-
- All Implemented Interfaces:
OpenMetadataPlatformSecurity
public class OpenMetadataPlatformSecurityConnector extends ConnectorBase implements OpenMetadataPlatformSecurity
OpenMetadataPlatformSecurityConnector provides the base class for a connector that validates access to the platform services that are not specific to an OMAG Server. This optional connector can be set up once the OMAGServerPlatform is running. The default implementation does not allow any access. It generates well-defined exceptions and console log messages. It is over-ridden to define the required access for the deployment environment. The methods in this base class can be called if access is to be denied as a way of reusing the message logging and exceptions.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.odpi.openmetadata.frameworks.connectors.ConnectorBase
ConnectorBase.ProtectedConnection
-
-
Field Summary
Fields Modifier and Type Field Description protected StringconnectorNameprotected MessageFormattermessageFormatterprotected StringserverRootURL-
Fields inherited from class org.odpi.openmetadata.frameworks.connectors.ConnectorBase
connectedAssetProperties, connectionBean, connectionProperties, connectorInstanceId, securedProperties
-
-
Constructor Summary
Constructors Constructor Description OpenMetadataPlatformSecurityConnector()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddisconnect()Free up any resources held since the connector is no longer needed.protected voidlogConnectorDisconnecting()Write an audit log message to say that the connector is stopping.protected voidlogConnectorStarting()Write an audit log message to say that the connector is initializing.protected voidlogRecord(String logMessageId, AuditLogRecordSeverity severity, String logMessage)Log an audit log record for an event, decision, error, or exception detected by the OMRS.voidsetServerPlatformURL(String serverURLRoot)Set up the URL Root for the platform where this is running.voidstart()Indicates that the connector is completely configured and can begin processing.protected voidthrowUnauthorizedPlatformAccess(String userId, String methodName)Write an audit log message and throw exception to record an unauthorized access.voidvalidateUserAsInvestigatorForPlatform(String userId)Check that the calling user is authorized to issue operator requests to the OMAG Server Platform.voidvalidateUserAsOperatorForPlatform(String userId)Check that the calling user is authorized to issue operator requests to the OMAG Server Platform.voidvalidateUserForNewServer(String userId)Check that the calling user is authorized to create new servers.-
Methods inherited from class org.odpi.openmetadata.frameworks.connectors.ConnectorBase
equals, getConnectedAssetProperties, getConnection, getConnectorInstanceId, hashCode, initialize, initializeConnectedAssetProperties, isActive, toString
-
Methods inherited from class org.odpi.openmetadata.frameworks.connectors.Connector
clearStatisticProperty, clearStatisticTimestamp, getConnectorStatistics, getStatisticCounter, getStatisticProperty, getStatisticTimestamp, incrementStatisticCounter, initializeStatisticCounter, setStatisticProperty, setStatisticTimestamp
-
-
-
-
Field Detail
-
messageFormatter
protected MessageFormatter messageFormatter
-
connectorName
protected String connectorName
-
serverRootURL
protected String serverRootURL
-
-
Method Detail
-
logRecord
protected void logRecord(String logMessageId, AuditLogRecordSeverity severity, String logMessage)
Log an audit log record for an event, decision, error, or exception detected by the OMRS.- Parameters:
logMessageId- id for the audit log recordseverity- is this an event, decision, error or exception?logMessage- description of the audit log record including specific resources involved
-
logConnectorStarting
protected void logConnectorStarting()
Write an audit log message to say that the connector is initializing.
-
logConnectorDisconnecting
protected void logConnectorDisconnecting()
Write an audit log message to say that the connector is stopping.
-
setServerPlatformURL
public void setServerPlatformURL(String serverURLRoot)
Set up the URL Root for the platform where this is running.- Parameters:
serverURLRoot- url root
-
throwUnauthorizedPlatformAccess
protected void throwUnauthorizedPlatformAccess(String userId, String methodName) throws UserNotAuthorizedException
Write an audit log message and throw exception to record an unauthorized access.- Parameters:
userId- calling usermethodName- calling method- Throws:
UserNotAuthorizedException- the authorization check failed
-
start
public void start() throws ConnectorCheckedExceptionIndicates that the connector is completely configured and can begin processing.- Overrides:
startin classConnectorBase- Throws:
ConnectorCheckedException- there is a problem within the connector.
-
validateUserForNewServer
public void validateUserForNewServer(String userId) throws UserNotAuthorizedException
Check that the calling user is authorized to create new servers.- Specified by:
validateUserForNewServerin interfaceOpenMetadataPlatformSecurity- Parameters:
userId- calling user- Throws:
UserNotAuthorizedException- the user is not authorized to access this platform
-
validateUserAsOperatorForPlatform
public void validateUserAsOperatorForPlatform(String userId) throws UserNotAuthorizedException
Check that the calling user is authorized to issue operator requests to the OMAG Server Platform.- Specified by:
validateUserAsOperatorForPlatformin interfaceOpenMetadataPlatformSecurity- Parameters:
userId- calling user- Throws:
UserNotAuthorizedException- the user is not authorized to issue operator commands to this platform
-
validateUserAsInvestigatorForPlatform
public void validateUserAsInvestigatorForPlatform(String userId) throws UserNotAuthorizedException
Check that the calling user is authorized to issue operator requests to the OMAG Server Platform.- Specified by:
validateUserAsInvestigatorForPlatformin interfaceOpenMetadataPlatformSecurity- Parameters:
userId- calling user- Throws:
UserNotAuthorizedException- the user is not authorized to issue diagnostic commands to this platform
-
disconnect
public void disconnect() throws ConnectorCheckedExceptionFree up any resources held since the connector is no longer needed.- Overrides:
disconnectin classConnectorBase- Throws:
ConnectorCheckedException- there is a problem within the connector.
-
-