13 TxAccess execution_context,
const std::string& table_name)
19 const auto [privacy_of_table, namespace_of_table] =
20 ccf::kv::parse_map_name(table_name);
22 switch (privacy_of_table)
50 switch (namespace_of_table)
71 switch (execution_context)
96 throw std::logic_error(fmt::format(
97 "Unexpected security domain (max) for table {}", table_name));
101 static std::string explain_kv_map_access(
109 char const* exec_context =
"unknown";
114 exec_context =
"application";
119 exec_context =
"read-only application";
124 exec_context =
"read-only governance";
129 exec_context =
"read-write governance";
134 static constexpr char const* access_permissions_explanation_url =
135 "https://microsoft.github.io/CCF/main/audit/"
136 "read_write_restrictions.html";
139 "This table is {} in current ({}) execution context. See {} for more "
143 access_permissions_explanation_url);
TxAccess
Definition tx_access.h:10
KVAccessPermissions
Definition kv_access_permissions.h:10
@ SECURITY_DOMAIN_MAX
Definition kv_types.h:258
@ PRIVATE
Definition kv_types.h:257
@ PUBLIC
Definition kv_types.h:256
@ INTERNAL
Definition kv_types.h:263
@ APPLICATION
Definition kv_types.h:265
@ GOVERNANCE
Definition kv_types.h:264