Skip to content

Commit 953ea8f

Browse files
committed
Replaced check rights readAttributes and WriteAttributes with SelectRow for read topics
1 parent bc5b8c1 commit 953ea8f

File tree

4 files changed

+10
-7
lines changed

4 files changed

+10
-7
lines changed

ydb/core/kqp/session_actor/kqp_query_state.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,8 @@ std::unique_ptr<NSchemeCache::TSchemeCacheNavigate> TKqpQueryState::BuildSchemeC
260260
}
261261

262262
bool TKqpQueryState::IsAccessDenied(const NSchemeCache::TSchemeCacheNavigate& response, TString& message) {
263-
auto rights = NACLib::EAccessRights::ReadAttributes | NACLib::EAccessRights::WriteAttributes;
263+
// in future check right UseConsumer
264+
auto rights = NACLib::EAccessRights::SelectRow;
264265
// don't build message string on success path
265266
bool denied = std::any_of(response.ResultSet.begin(), response.ResultSet.end(), [&] (auto& result) {
266267
return result.SecurityObject && !result.SecurityObject->CheckAccess(rights, *UserToken);

ydb/core/testlib/test_pq_client.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -879,8 +879,8 @@ class TFlatMsgBusPQClient : public NFlatTests::TFlatMsgBusClient {
879879

880880
void GrantConsumerAccess(const TString& oldName, const TString& subj) {
881881
NACLib::TDiffACL acl;
882-
acl.AddAccess(NACLib::EAccessType::Allow, NACLib::ReadAttributes, subj);
883-
acl.AddAccess(NACLib::EAccessType::Allow, NACLib::WriteAttributes, subj);
882+
// in future use right UseConsumer
883+
acl.AddAccess(NACLib::EAccessType::Allow, NACLib::SelectRow, subj);
884884
auto name = NPersQueue::ConvertOldConsumerName(oldName);
885885
auto pos = name.rfind("/");
886886
Y_ABORT_UNLESS(pos != TString::npos);

ydb/services/persqueue_v1/actors/read_init_auth_actor.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,8 @@ void TReadInitAndAuthActor::HandleClientSchemeCacheResponse(
238238
return;
239239
}
240240

241-
NACLib::EAccessRights rights = (NACLib::EAccessRights)(NACLib::EAccessRights::ReadAttributes + NACLib::EAccessRights::WriteAttributes);
241+
// in future use right UseConsumer
242+
auto rights = NACLib::EAccessRights::SelectRow;
242243
if (
243244
!CheckACLPermissionsForNavigate(entry.SecurityObject, path, rights, "No ReadAsConsumer permissions", ctx)
244245
) {

ydb/services/persqueue_v1/ut/topic_service_ut.cpp

+4-3
Original file line numberDiff line numberDiff line change
@@ -156,8 +156,8 @@ class TUpdateOffsetsInTransactionFixture : public NUnitTest::TBaseFixture {
156156

157157
NACLib::TDiffACL acl;
158158
acl.AddAccess(NACLib::EAccessType::Allow, NACLib::DescribeSchema, AUTH_TOKEN);
159-
acl.AddAccess(NACLib::EAccessType::Allow, NACLib::ReadAttributes, AUTH_TOKEN);
160-
acl.AddAccess(NACLib::EAccessType::Allow, NACLib::WriteAttributes, AUTH_TOKEN);
159+
// in future use right UseConsumer
160+
acl.AddAccess(NACLib::EAccessType::Allow, NACLib::SelectRow, AUTH_TOKEN);
161161
server->AnnoyingClient->ModifyACL(TOPIC_PARENT, VALID_TOPIC_NAME, acl.SerializeAsString());
162162

163163
auto driverCfg = NYdb::TDriverConfig()
@@ -328,7 +328,8 @@ Y_UNIT_TEST_F(AccessRights, TUpdateOffsetsInTransactionFixture) {
328328
UNIT_ASSERT_VALUES_EQUAL(response.operation().status(), Ydb::StatusIds::SUCCESS);
329329

330330
NACLib::TDiffACL acl;
331-
acl.RemoveAccess(NACLib::EAccessType::Allow, NACLib::ReadAttributes, AUTH_TOKEN);
331+
// in future use right UseConsumer
332+
acl.RemoveAccess(NACLib::EAccessType::Allow, NACLib::SelectRow, AUTH_TOKEN);
332333
server->AnnoyingClient->ModifyACL(TOPIC_PARENT, VALID_TOPIC_NAME, acl.SerializeAsString());
333334

334335
response = Call_UpdateOffsetsInTransaction({

0 commit comments

Comments
 (0)