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)
49 switch (namespace_of_table)
68 switch (execution_context)
93 throw std::logic_error(fmt::format(
94 "Unexpected security domain (max) for table {}", table_name));
98 static std::string explain_kv_map_access(
106 char const* exec_context =
nullptr;
111 exec_context =
"application";
116 exec_context =
"read-only application";
121 exec_context =
"read-only governance";
126 exec_context =
"read-write governance";
131 exec_context =
"unknown";
136 static constexpr char const* access_permissions_explanation_url =
137 "https://microsoft.github.io/CCF/main/audit/"
138 "read_write_restrictions.html";
141 "This table is {} in current ({}) execution context. See {} for more "
145 access_permissions_explanation_url);
KVAccessPermissions
Definition kv_access_permissions.h:10
TxAccess
Definition tx_access.h:10
@ INTERNAL
Definition kv_types.h:224
@ APPLICATION
Definition kv_types.h:226
@ GOVERNANCE
Definition kv_types.h:225
@ SECURITY_DOMAIN_MAX
Definition kv_types.h:219
@ PRIVATE
Definition kv_types.h:218
@ PUBLIC
Definition kv_types.h:217