Class astutedds::security::AccessControlPlugin
ClassList > astutedds > security > AccessControlPlugin
Access Control Service Plugin Interface (SPI) More...
#include <access_control_spi.hpp>
Public Functions
| Type | Name |
|---|---|
| virtual bool | check_create_datareader (PermissionsHandle permissions_handle, uint32_t domain_id, const std::string & topic_name, SecurityException & ex) = 0 Check if participant can create DataReader. |
| virtual bool | check_create_datawriter (PermissionsHandle permissions_handle, uint32_t domain_id, const std::string & topic_name, SecurityException & ex) = 0 Check if participant can create DataWriter. |
| virtual bool | check_relay_topic (PermissionsHandle permissions_handle, const std::string & topic_name, SecurityException & ex) = 0 Check if topic relay is allowed. |
| virtual bool | check_remote_datareader (PermissionsHandle writer_permissions_handle, PermissionsHandle reader_permissions_handle, const PropertySeq & publication_data, const PropertySeq & subscription_data, SecurityException & ex) = 0 Check if local DataWriter can match with remote DataReader. |
| virtual bool | check_remote_datawriter (PermissionsHandle reader_permissions_handle, PermissionsHandle writer_permissions_handle, const PropertySeq & subscription_data, const PropertySeq & publication_data, SecurityException & ex) = 0 Check if local DataReader can match with remote DataWriter. |
| virtual EndpointSecurityAttributes | get_endpoint_sec_attributes (PermissionsHandle permissions_handle, const std::string & topic_name, SecurityException & ex) = 0 Get endpoint security attributes. |
| virtual ParticipantSecurityAttributes | get_participant_sec_attributes (PermissionsHandle permissions_handle, SecurityException & ex) = 0 Get participant security attributes. |
| virtual Token | get_permissions_credential_token (PermissionsHandle permissions_handle, SecurityException & ex) = 0 Get permissions credential token. |
| virtual Token | get_permissions_token (PermissionsHandle permissions_handle, SecurityException & ex) = 0 Get permissions token. |
| virtual bool | return_permissions_handle (PermissionsHandle permissions_handle, SecurityException & ex) = 0 Return permissions handle. |
| virtual PermissionsHandle | validate_local_permissions (const AuthenticationPlugin & auth_plugin, IdentityHandle local_identity_handle, uint32_t domain_id, const PropertySeq & participant_qos, SecurityException & ex) = 0 Validate local permissions. |
| virtual PermissionsHandle | validate_remote_permissions (const AuthenticationPlugin & auth_plugin, IdentityHandle local_identity_handle, IdentityHandle remote_identity_handle, const Token & remote_permissions_token, const Token & remote_credential_token, SecurityException & ex) = 0 Validate remote permissions. |
| virtual | ~AccessControlPlugin () = default |
Detailed Description
Based on DDS Security 1.1 Section 8.4 Provides authorization and permission enforcement
Public Functions Documentation
function check_create_datareader
Check if participant can create DataReader.
virtual bool astutedds::security::AccessControlPlugin::check_create_datareader (
PermissionsHandle permissions_handle,
uint32_t domain_id,
const std::string & topic_name,
SecurityException & ex
) = 0
Parameters:
permissions_handlePermissions handledomain_idDomain IDtopic_nameTopic nameexSecurity exception output
Returns:
True if allowed
function check_create_datawriter
Check if participant can create DataWriter.
virtual bool astutedds::security::AccessControlPlugin::check_create_datawriter (
PermissionsHandle permissions_handle,
uint32_t domain_id,
const std::string & topic_name,
SecurityException & ex
) = 0
Parameters:
permissions_handlePermissions handledomain_idDomain IDtopic_nameTopic nameexSecurity exception output
Returns:
True if allowed
function check_relay_topic
Check if topic relay is allowed.
virtual bool astutedds::security::AccessControlPlugin::check_relay_topic (
PermissionsHandle permissions_handle,
const std::string & topic_name,
SecurityException & ex
) = 0
Parameters:
permissions_handlePermissions handletopic_nameTopic nameexSecurity exception output
Returns:
True if relay allowed
function check_remote_datareader
Check if local DataWriter can match with remote DataReader.
virtual bool astutedds::security::AccessControlPlugin::check_remote_datareader (
PermissionsHandle writer_permissions_handle,
PermissionsHandle reader_permissions_handle,
const PropertySeq & publication_data,
const PropertySeq & subscription_data,
SecurityException & ex
) = 0
Parameters:
writer_permissions_handleWriter's permissionsreader_permissions_handleReader's permissionspublication_dataWriter's endpoint datasubscription_dataReader's endpoint dataexSecurity exception output
Returns:
True if match allowed
function check_remote_datawriter
Check if local DataReader can match with remote DataWriter.
virtual bool astutedds::security::AccessControlPlugin::check_remote_datawriter (
PermissionsHandle reader_permissions_handle,
PermissionsHandle writer_permissions_handle,
const PropertySeq & subscription_data,
const PropertySeq & publication_data,
SecurityException & ex
) = 0
Parameters:
reader_permissions_handleReader's permissionswriter_permissions_handleWriter's permissionssubscription_dataReader's endpoint datapublication_dataWriter's endpoint dataexSecurity exception output
Returns:
True if match allowed
function get_endpoint_sec_attributes
Get endpoint security attributes.
virtual EndpointSecurityAttributes astutedds::security::AccessControlPlugin::get_endpoint_sec_attributes (
PermissionsHandle permissions_handle,
const std::string & topic_name,
SecurityException & ex
) = 0
Parameters:
permissions_handlePermissions handletopic_nameTopic nameexSecurity exception output
Returns:
Endpoint security attributes
function get_participant_sec_attributes
Get participant security attributes.
virtual ParticipantSecurityAttributes astutedds::security::AccessControlPlugin::get_participant_sec_attributes (
PermissionsHandle permissions_handle,
SecurityException & ex
) = 0
Parameters:
permissions_handlePermissions handleexSecurity exception output
Returns:
Participant security attributes
function get_permissions_credential_token
Get permissions credential token.
virtual Token astutedds::security::AccessControlPlugin::get_permissions_credential_token (
PermissionsHandle permissions_handle,
SecurityException & ex
) = 0
Parameters:
permissions_handlePermissions handleexSecurity exception output
Returns:
Credential token
function get_permissions_token
Get permissions token.
virtual Token astutedds::security::AccessControlPlugin::get_permissions_token (
PermissionsHandle permissions_handle,
SecurityException & ex
) = 0
Parameters:
permissions_handlePermissions handleexSecurity exception output
Returns:
Permissions token
function return_permissions_handle
Return permissions handle.
virtual bool astutedds::security::AccessControlPlugin::return_permissions_handle (
PermissionsHandle permissions_handle,
SecurityException & ex
) = 0
Parameters:
permissions_handleHandle to releaseexSecurity exception output
Returns:
True if successfully released
function validate_local_permissions
Validate local permissions.
virtual PermissionsHandle astutedds::security::AccessControlPlugin::validate_local_permissions (
const AuthenticationPlugin & auth_plugin,
IdentityHandle local_identity_handle,
uint32_t domain_id,
const PropertySeq & participant_qos,
SecurityException & ex
) = 0
Parameters:
auth_pluginAuthentication plugin (for identity verification)local_identity_handleLocal participant identitydomain_idDDS domain IDparticipant_qosParticipant QoS propertiesexSecurity exception output
Returns:
Permissions handle if valid, INVALID_PERMISSIONS_HANDLE otherwise
function validate_remote_permissions
Validate remote permissions.
virtual PermissionsHandle astutedds::security::AccessControlPlugin::validate_remote_permissions (
const AuthenticationPlugin & auth_plugin,
IdentityHandle local_identity_handle,
IdentityHandle remote_identity_handle,
const Token & remote_permissions_token,
const Token & remote_credential_token,
SecurityException & ex
) = 0
Parameters:
auth_pluginAuthentication pluginlocal_identity_handleLocal participant identityremote_identity_handleRemote participant identityremote_permissions_tokenRemote permissions tokenremote_credential_tokenRemote credential tokenexSecurity exception output
Returns:
Permissions handle if valid
function ~AccessControlPlugin
virtual astutedds::security::AccessControlPlugin::~AccessControlPlugin () = default
The documentation for this class was generated from the following file include/astutedds/security/access_control_spi.hpp