diff options
author | alexbogo <[email protected]> | 2023-04-04 10:52:56 +0300 |
---|---|---|
committer | alexbogo <[email protected]> | 2023-04-04 10:52:56 +0300 |
commit | 3252a2ccdda0f3fa0314aadf286d22d656bfdb9e (patch) | |
tree | bd15cb35c30a4a561ae61919332801d4e8e7239f | |
parent | 268a9f9f89710a2c3272b1e61641b86c505c56f5 (diff) |
[ymq] extend auth proto: add folder_id and userSID
init
init_proto
24 files changed, 84 insertions, 151 deletions
diff --git a/ydb/core/protos/sqs.proto b/ydb/core/protos/sqs.proto index 89281bf3156..4b661368fa1 100644 --- a/ydb/core/protos/sqs.proto +++ b/ydb/core/protos/sqs.proto @@ -1,7 +1,9 @@ package NKikimr.NSQS; message TAuthentification { - optional string UserName = 1; + optional string UserName = 1; // Account or CloudId + optional string FolderId = 2; // Cloud only + optional string UserSID = 3; } message TCredentials { diff --git a/ydb/core/ymq/actor/action.h b/ydb/core/ymq/actor/action.h index b0afce5b2cf..6eedff16304 100644 --- a/ydb/core/ymq/actor/action.h +++ b/ydb/core/ymq/actor/action.h @@ -69,20 +69,6 @@ public: return true; } - void DoCloudBootstrap() { - if (!SecurityToken_) { - // TODO: use access service - MakeError(MutableErrorDesc(), NErrors::INVALID_CLIENT_TOKEN_ID, "Failed to parse cloud id."); - SendReplyAndDie(); - return; - } - - auto items = ParseCloudSecurityToken(SecurityToken_); - UserName_ = std::get<0>(items); - FolderId_ = std::get<1>(items); - UserSID_ = std::get<2>(items); - } - void DoBootstrap() { ui64 configurationFlags = 0; if (TDerived::NeedQueueAttributes()) { @@ -122,7 +108,16 @@ public: DoBootstrap(); } - void Bootstrap(const NActors::TActorContext&) { + void Bootstrap(const NActors::TActorContext&) { + #define SQS_REQUEST_CASE(action) \ + const auto& request = SourceSqsRequest_.Y_CAT(Get, action)(); \ + auto response = Response_.Y_CAT(Mutable, action)(); \ + FillAuthInformation(request); \ + response->SetRequestId(RequestId_); + + SQS_SWITCH_REQUEST_CUSTOM(SourceSqsRequest_, ENUMERATE_ALL_ACTIONS, Y_VERIFY(false)); + #undef SQS_REQUEST_CASE + RLOG_SQS_DEBUG("Request started. Actor: " << this->SelfId()); // log new request id StartTs_ = TActivationContext::Now(); @@ -136,7 +131,11 @@ public: } if (IsCloud()) { - DoCloudBootstrap(); + if (!FolderId_) { + MakeError(MutableErrorDesc(), NErrors::INVALID_CLIENT_TOKEN_ID, "Failed to parse cloud_id/folder_id."); + SendReplyAndDie(); + return; + } if (TDerived::CreateMissingAccount()) { CreateAccountOnTheFly(); @@ -149,16 +148,6 @@ public: } protected: - template<typename TReq> - void CopySecurityToken(const TReq& request) { - SecurityToken_ = ExtractSecurityToken<TReq, TCredentials>(request); - } - - template<typename TReq> - void CopyAccountName(const TReq& request) { - UserName_ = request.GetAuth().GetUserName(); - } - virtual void DoAction() = 0; virtual TError* MutableErrorDesc() = 0; @@ -536,6 +525,21 @@ private: } } + template<class TReq> + void FillAuthInformation(const TReq& request) { + SecurityToken_ = ExtractSecurityToken(request); + UserName_ = request.GetAuth().GetUserName(); + FolderId_ = request.GetAuth().GetFolderId(); + UserSID_ = request.GetAuth().GetUserSID(); + + if (IsCloud() && !FolderId_) { + auto items = ParseCloudSecurityToken(SecurityToken_); + UserName_ = std::get<0>(items); + FolderId_ = std::get<1>(items); + UserSID_ = std::get<2>(items); + } + } + TString GetActionACLSourcePath() const { const EACLSourceType aclSourceType = GetActionACLSourceType(ToString(Action_)); switch (aclSourceType) { diff --git a/ydb/core/ymq/actor/change_visibility.cpp b/ydb/core/ymq/actor/change_visibility.cpp index 5c3140bcc8b..6e0ba55c543 100644 --- a/ydb/core/ymq/actor/change_visibility.cpp +++ b/ydb/core/ymq/actor/change_visibility.cpp @@ -22,15 +22,6 @@ public: : TActionActor(sourceSqsRequest, isBatch ? EAction::ChangeMessageVisibilityBatch : EAction::ChangeMessageVisibility, std::move(cb)) , IsBatch_(isBatch) { - if (IsBatch_) { - CopyAccountName(BatchRequest()); - Response_.MutableChangeMessageVisibilityBatch()->SetRequestId(RequestId_); - CopySecurityToken(BatchRequest()); - } else { - CopyAccountName(Request()); - Response_.MutableChangeMessageVisibility()->SetRequestId(RequestId_); - CopySecurityToken(Request()); - } } protected: diff --git a/ydb/core/ymq/actor/count_queues.cpp b/ydb/core/ymq/actor/count_queues.cpp index 8f217a192ac..2ef2c4e4dc5 100644 --- a/ydb/core/ymq/actor/count_queues.cpp +++ b/ydb/core/ymq/actor/count_queues.cpp @@ -26,10 +26,6 @@ public: TCountQueuesActor(const NKikimrClient::TSqsRequest& sourceSqsRequest, THolder<IReplyCallback> cb) : TActionActor(sourceSqsRequest, EAction::CountQueues, std::move(cb)) { - CopyAccountName(Request()); - Response_.MutableCountQueues()->SetRequestId(RequestId_); - - CopySecurityToken(Request()); } private: diff --git a/ydb/core/ymq/actor/create_queue.cpp b/ydb/core/ymq/actor/create_queue.cpp index c5311ffd345..0b1ad4e59a7 100644 --- a/ydb/core/ymq/actor/create_queue.cpp +++ b/ydb/core/ymq/actor/create_queue.cpp @@ -27,11 +27,8 @@ public: TCreateQueueActor(const NKikimrClient::TSqsRequest& sourceSqsRequest, THolder<IReplyCallback> cb) : TActionActor(sourceSqsRequest, EAction::CreateQueue, std::move(cb)) { - CopyAccountName(Request()); // will be replaced during bootstrap for cloud mode - Response_.MutableCreateQueue()->SetRequestId(RequestId_); - - CopySecurityToken(Request()); } + protected: bool IsFifoQueue() const override { const TString& name = Request().GetCustomQueueName() ? Request().GetCustomQueueName() : Request().GetQueueName(); diff --git a/ydb/core/ymq/actor/create_user.cpp b/ydb/core/ymq/actor/create_user.cpp index deebfc54e8a..713e5ea65db 100644 --- a/ydb/core/ymq/actor/create_user.cpp +++ b/ydb/core/ymq/actor/create_user.cpp @@ -17,10 +17,6 @@ public: TCreateUserActor(const NKikimrClient::TSqsRequest& sourceSqsRequest, THolder<IReplyCallback> cb) : TActionActor(sourceSqsRequest, EAction::CreateUser, std::move(cb)) { - CopyAccountName(Request()); - Response_.MutableCreateUser()->SetRequestId(RequestId_); - - CopySecurityToken(Request()); } private: diff --git a/ydb/core/ymq/actor/delete_message.cpp b/ydb/core/ymq/actor/delete_message.cpp index 50b59ddcfb0..f3ed9b7d6ad 100644 --- a/ydb/core/ymq/actor/delete_message.cpp +++ b/ydb/core/ymq/actor/delete_message.cpp @@ -23,15 +23,6 @@ public: : TActionActor(sourceSqsRequest, isBatch ? EAction::DeleteMessageBatch : EAction::DeleteMessage, std::move(cb)) , IsBatch_(isBatch) { - if (IsBatch_) { - CopyAccountName(BatchRequest()); - Response_.MutableDeleteMessageBatch()->SetRequestId(RequestId_); - CopySecurityToken(BatchRequest()); - } else { - CopyAccountName(Request()); - Response_.MutableDeleteMessage()->SetRequestId(RequestId_); - CopySecurityToken(Request()); - } } bool DoValidate() override { diff --git a/ydb/core/ymq/actor/delete_queue.cpp b/ydb/core/ymq/actor/delete_queue.cpp index 5ac4b894360..b9f0b5c4878 100644 --- a/ydb/core/ymq/actor/delete_queue.cpp +++ b/ydb/core/ymq/actor/delete_queue.cpp @@ -14,11 +14,7 @@ public: TDeleteQueueActor(const NKikimrClient::TSqsRequest& sourceSqsRequest, THolder<IReplyCallback> cb) : TActionActor(sourceSqsRequest, EAction::DeleteQueue, std::move(cb)) { - UserName_ = Request().GetAuth().GetUserName(); - Response_.MutableDeleteQueue()->SetRequestId(RequestId_); - - CopySecurityToken(Request()); - } + } private: bool DoValidate() override { @@ -93,10 +89,6 @@ public: TDeleteQueueBatchActor(const NKikimrClient::TSqsRequest& sourceSqsRequest, THolder<IReplyCallback> cb) : TCommonBatchActor(sourceSqsRequest, EAction::DeleteQueueBatch, std::move(cb)) { - UserName_ = Request().GetAuth().GetUserName(); - Response_.MutableDeleteQueueBatch()->SetRequestId(RequestId_); - - CopySecurityToken(Request()); } private: @@ -106,7 +98,7 @@ private: for (size_t i = 0; i < Request().EntriesSize(); ++i) { const auto& entry = Request().GetEntries(i); auto& req = *ret[i].MutableDeleteQueue(); - req.MutableAuth()->SetUserName(UserName_); + *req.MutableAuth() = Request().GetAuth(); if (Request().HasCredentials()) { *req.MutableCredentials() = Request().GetCredentials(); diff --git a/ydb/core/ymq/actor/delete_user.cpp b/ydb/core/ymq/actor/delete_user.cpp index 1b59a647ffb..9176d0bb589 100644 --- a/ydb/core/ymq/actor/delete_user.cpp +++ b/ydb/core/ymq/actor/delete_user.cpp @@ -23,10 +23,6 @@ public: TDeleteUserActor(const NKikimrClient::TSqsRequest& sourceSqsRequest, THolder<IReplyCallback> cb) : TActionActor(sourceSqsRequest, EAction::DeleteUser, std::move(cb)) { - CopyAccountName(Request()); - Response_.MutableDeleteUser()->SetRequestId(RequestId_); - - CopySecurityToken(Request()); } private: diff --git a/ydb/core/ymq/actor/get_queue_attributes.cpp b/ydb/core/ymq/actor/get_queue_attributes.cpp index 7f15e3cecad..c9f7ec3084e 100644 --- a/ydb/core/ymq/actor/get_queue_attributes.cpp +++ b/ydb/core/ymq/actor/get_queue_attributes.cpp @@ -48,10 +48,6 @@ public: TGetQueueAttributesActor(const NKikimrClient::TSqsRequest& sourceSqsRequest, THolder<IReplyCallback> cb) : TActionActor(sourceSqsRequest, EAction::GetQueueAttributes, std::move(cb)) { - CopyAccountName(Request()); - Response_.MutableGetQueueAttributes()->SetRequestId(RequestId_); - - CopySecurityToken(Request()); } private: @@ -297,10 +293,6 @@ public: TGetQueueAttributesBatchActor(const NKikimrClient::TSqsRequest& sourceSqsRequest, THolder<IReplyCallback> cb) : TCommonBatchActor(sourceSqsRequest, EAction::GetQueueAttributesBatch, std::move(cb)) { - CopyAccountName(Request()); - Response_.MutableGetQueueAttributesBatch()->SetRequestId(RequestId_); - - CopySecurityToken(Request()); } private: @@ -310,7 +302,7 @@ private: for (size_t i = 0; i < Request().EntriesSize(); ++i) { const auto& entry = Request().GetEntries(i); auto& req = *ret[i].MutableGetQueueAttributes(); - req.MutableAuth()->SetUserName(UserName_); + *req.MutableAuth() = Request().GetAuth(); if (Request().HasCredentials()) { *req.MutableCredentials() = Request().GetCredentials(); diff --git a/ydb/core/ymq/actor/get_queue_url.cpp b/ydb/core/ymq/actor/get_queue_url.cpp index 95554d7bb0f..4d0861629e0 100644 --- a/ydb/core/ymq/actor/get_queue_url.cpp +++ b/ydb/core/ymq/actor/get_queue_url.cpp @@ -21,10 +21,6 @@ public: TGetQueueUrlActor(const NKikimrClient::TSqsRequest& sourceSqsRequest, THolder<IReplyCallback> cb) : TActionActor(sourceSqsRequest, EAction::GetQueueUrl, std::move(cb)) { - CopyAccountName(Request()); - Response_.MutableGetQueueUrl()->SetRequestId(RequestId_); - - CopySecurityToken(Request()); } static constexpr bool NeedExistingQueue() { diff --git a/ydb/core/ymq/actor/list_dead_letter_source_queues.cpp b/ydb/core/ymq/actor/list_dead_letter_source_queues.cpp index fd4866fd49f..229633e042d 100644 --- a/ydb/core/ymq/actor/list_dead_letter_source_queues.cpp +++ b/ydb/core/ymq/actor/list_dead_letter_source_queues.cpp @@ -21,10 +21,6 @@ public: TListDeadLetterSourceQueuesActor(const NKikimrClient::TSqsRequest& sourceSqsRequest, THolder<IReplyCallback> cb) : TActionActor(sourceSqsRequest, EAction::ListDeadLetterSourceQueues, std::move(cb)) { - CopyAccountName(Request()); - Response_.MutableListDeadLetterSourceQueues()->SetRequestId(RequestId_); - - CopySecurityToken(Request()); } static constexpr bool NeedExistingQueue() { diff --git a/ydb/core/ymq/actor/list_permissions.cpp b/ydb/core/ymq/actor/list_permissions.cpp index 93a15e1dbf2..64280db3391 100644 --- a/ydb/core/ymq/actor/list_permissions.cpp +++ b/ydb/core/ymq/actor/list_permissions.cpp @@ -18,8 +18,6 @@ public: TListPermissionsActor(const NKikimrClient::TSqsRequest& sourceSqsRequest, THolder<IReplyCallback> cb) : TActionActor(sourceSqsRequest, EAction::ListPermissions, std::move(cb)) { - Response_.MutableListPermissions()->SetRequestId(RequestId_); - CopySecurityToken(Request()); } static constexpr bool NeedExistingQueue() { diff --git a/ydb/core/ymq/actor/list_queues.cpp b/ydb/core/ymq/actor/list_queues.cpp index 25ae1083764..0ef07d82f39 100644 --- a/ydb/core/ymq/actor/list_queues.cpp +++ b/ydb/core/ymq/actor/list_queues.cpp @@ -26,10 +26,6 @@ public: TListQueuesActor(const NKikimrClient::TSqsRequest& sourceSqsRequest, THolder<IReplyCallback> cb) : TActionActor(sourceSqsRequest, EAction::ListQueues, std::move(cb)) { - CopyAccountName(Request()); - Response_.MutableListQueues()->SetRequestId(RequestId_); - - CopySecurityToken(Request()); } private: diff --git a/ydb/core/ymq/actor/list_users.cpp b/ydb/core/ymq/actor/list_users.cpp index d653fc20a38..3f3f82412c9 100644 --- a/ydb/core/ymq/actor/list_users.cpp +++ b/ydb/core/ymq/actor/list_users.cpp @@ -22,10 +22,6 @@ public: TListUsersActor(const NKikimrClient::TSqsRequest& sourceSqsRequest, THolder<IReplyCallback> cb) : TActionActor(sourceSqsRequest, EAction::ListUsers, std::move(cb)) { - CopyAccountName(Request()); - Response_.MutableListUsers()->SetRequestId(RequestId_); - - CopySecurityToken(Request()); } private: diff --git a/ydb/core/ymq/actor/modify_permissions.cpp b/ydb/core/ymq/actor/modify_permissions.cpp index 8b9e1cb2d7d..a6146e588aa 100644 --- a/ydb/core/ymq/actor/modify_permissions.cpp +++ b/ydb/core/ymq/actor/modify_permissions.cpp @@ -15,8 +15,6 @@ public: TModifyPermissionsActor(const NKikimrClient::TSqsRequest& sourceSqsRequest, THolder<IReplyCallback> cb) : TActionActor(sourceSqsRequest, EAction::ModifyPermissions, std::move(cb)) { - Response_.MutableModifyPermissions()->SetRequestId(RequestId_); - CopySecurityToken(Request()); } static constexpr bool NeedExistingQueue() { diff --git a/ydb/core/ymq/actor/proxy_actor.cpp b/ydb/core/ymq/actor/proxy_actor.cpp index f2a23318df9..8c2d2a931aa 100644 --- a/ydb/core/ymq/actor/proxy_actor.cpp +++ b/ydb/core/ymq/actor/proxy_actor.cpp @@ -68,26 +68,11 @@ std::tuple<TString, TString, TString> ParseCloudSecurityToken(const TString& tok } void TProxyActor::Bootstrap() { + RetrieveUserAndQueueParameters(); this->Become(&TProxyActor::StateFunc); StartTs_ = TActivationContext::Now(); RLOG_SQS_DEBUG("Request proxy started"); - const auto& cfg = Cfg(); - - if (cfg.GetYandexCloudMode()) { - TString securityToken; -#define SQS_REQUEST_CASE(action) \ - const auto& request = Request_.Y_CAT(Get, action)(); \ - securityToken = ExtractSecurityToken<typename std::remove_reference<decltype(request)>::type, TCredentials>(request); - SQS_SWITCH_REQUEST(Request_, Y_VERIFY(false)); -#undef SQS_REQUEST_CASE - auto items = ParseCloudSecurityToken(securityToken); - UserName_ = std::get<0>(items); - FolderId_ = std::get<1>(items); - - // TODO: handle empty cloud id better - RLOG_SQS_DEBUG("Proxy actor: used " << UserName_ << " as an account name and " << QueueName_ << " as a queue name"); - } if (!UserName_ || !QueueName_) { RLOG_SQS_WARN("Validation error: No " << (!UserName_ ? "user name" : "queue name") << " in proxy actor"); @@ -95,6 +80,7 @@ void TProxyActor::Bootstrap() { return; } + const auto& cfg = Cfg(); if (cfg.GetRequestTimeoutMs()) { this->Schedule(TDuration::MilliSeconds(cfg.GetRequestTimeoutMs()), new TEvWakeup(), TimeoutCookie_.Get()); } @@ -245,14 +231,24 @@ bool TProxyActor::NeedCreateProxyActor(EAction action) { } void TProxyActor::RetrieveUserAndQueueParameters() { -// User name might be changed later in bootstrap for cloud mode + TString securityToken; #define SQS_REQUEST_CASE(action) \ - UserName_ = Request_.Y_CAT(Get, action)().GetAuth().GetUserName(); \ - QueueName_ = Request_.Y_CAT(Get, action)().GetQueueName(); \ + const auto& request = Request_.Y_CAT(Get, action)(); \ + UserName_ = request.GetAuth().GetUserName(); \ + FolderId_ = request.GetAuth().GetFolderId(); \ + QueueName_ = request.GetQueueName(); \ + securityToken = ExtractSecurityToken(request); \ SQS_SWITCH_REQUEST(Request_, throw TSQSException(NErrors::INVALID_ACTION) << "Incorrect request type") #undef SQS_REQUEST_CASE + + if (Cfg().GetYandexCloudMode() && !FolderId_) { + auto items = ParseCloudSecurityToken(securityToken); + UserName_ = std::get<0>(items); + FolderId_ = std::get<1>(items); + } + RLOG_SQS_DEBUG("Proxy actor: used user_name='" << UserName_ << "', queue_name='" << QueueName_ << "', folder_id='" << FolderId_ << "'"); } } // namespace NKikimr::NSQS diff --git a/ydb/core/ymq/actor/proxy_actor.h b/ydb/core/ymq/actor/proxy_actor.h index c5397ef7023..55f2415e72b 100644 --- a/ydb/core/ymq/actor/proxy_actor.h +++ b/ydb/core/ymq/actor/proxy_actor.h @@ -25,7 +25,6 @@ public: , Cb_(std::move(cb)) { Y_VERIFY(RequestId_); - RetrieveUserAndQueueParameters(); } static constexpr NKikimrServices::TActivity::EType ActorActivityType() { diff --git a/ydb/core/ymq/actor/purge_queue.cpp b/ydb/core/ymq/actor/purge_queue.cpp index 959273ef7c4..0aa794f2055 100644 --- a/ydb/core/ymq/actor/purge_queue.cpp +++ b/ydb/core/ymq/actor/purge_queue.cpp @@ -21,10 +21,6 @@ public: TPurgeQueueActor(const NKikimrClient::TSqsRequest& sourceSqsRequest, THolder<IReplyCallback> cb) : TActionActor(sourceSqsRequest, EAction::PurgeQueue, std::move(cb)) { - CopyAccountName(Request()); - Response_.MutablePurgeQueue()->SetRequestId(RequestId_); - - CopySecurityToken(Request()); } private: @@ -115,10 +111,6 @@ public: TPurgeQueueBatchActor(const NKikimrClient::TSqsRequest& sourceSqsRequest, THolder<IReplyCallback> cb) : TCommonBatchActor(sourceSqsRequest, EAction::PurgeQueueBatch, std::move(cb)) { - CopyAccountName(Request()); - Response_.MutablePurgeQueueBatch()->SetRequestId(RequestId_); - - CopySecurityToken(Request()); } private: @@ -128,7 +120,7 @@ private: for (size_t i = 0; i < Request().EntriesSize(); ++i) { const auto& entry = Request().GetEntries(i); auto& req = *ret[i].MutablePurgeQueue(); - req.MutableAuth()->SetUserName(UserName_); + *req.MutableAuth() = Request().GetAuth(); if (Request().HasCredentials()) { *req.MutableCredentials() = Request().GetCredentials(); diff --git a/ydb/core/ymq/actor/receive_message.cpp b/ydb/core/ymq/actor/receive_message.cpp index 2b5bf0e5174..f5d37276e2d 100644 --- a/ydb/core/ymq/actor/receive_message.cpp +++ b/ydb/core/ymq/actor/receive_message.cpp @@ -29,10 +29,6 @@ public: TReceiveMessageActor(const NKikimrClient::TSqsRequest& sourceSqsRequest, THolder<IReplyCallback> cb) : TActionActor(sourceSqsRequest, EAction::ReceiveMessage, std::move(cb)) { - CopyAccountName(Request()); - Response_.MutableReceiveMessage()->SetRequestId(RequestId_); - - CopySecurityToken(Request()); } private: diff --git a/ydb/core/ymq/actor/send_message.cpp b/ydb/core/ymq/actor/send_message.cpp index e596b8f2e33..41abc43b91c 100644 --- a/ydb/core/ymq/actor/send_message.cpp +++ b/ydb/core/ymq/actor/send_message.cpp @@ -32,15 +32,6 @@ public: : TActionActor(sourceSqsRequest, isBatch ? EAction::SendMessageBatch : EAction::SendMessage, std::move(cb)) , IsBatch_(isBatch) { - if (IsBatch_) { - CopyAccountName(BatchRequest()); - Response_.MutableSendMessageBatch()->SetRequestId(RequestId_); - CopySecurityToken(BatchRequest()); - } else { - CopyAccountName(Request()); - Response_.MutableSendMessage()->SetRequestId(RequestId_); - CopySecurityToken(Request()); - } } private: diff --git a/ydb/core/ymq/actor/set_queue_attributes.cpp b/ydb/core/ymq/actor/set_queue_attributes.cpp index 492a2021a1c..e1c94182853 100644 --- a/ydb/core/ymq/actor/set_queue_attributes.cpp +++ b/ydb/core/ymq/actor/set_queue_attributes.cpp @@ -28,14 +28,9 @@ public: TSetQueueAttributesActor(const NKikimrClient::TSqsRequest& sourceSqsRequest, THolder<IReplyCallback> cb) : TActionActor(sourceSqsRequest, EAction::SetQueueAttributes, std::move(cb)) { - CopyAccountName(Request()); - Response_.MutableSetQueueAttributes()->SetRequestId(RequestId_); - for (const auto& attr : Request().attributes()) { Attributes_[attr.GetName()] = attr.GetValue(); } - - CopySecurityToken(Request()); } private: diff --git a/ydb/core/ymq/base/action.h b/ydb/core/ymq/base/action.h index 7718b176599..4e344bf7372 100644 --- a/ydb/core/ymq/base/action.h +++ b/ydb/core/ymq/base/action.h @@ -87,4 +87,31 @@ EAction GetNonBatchAction(EAction action); macro(ListDeadLetterSourceQueues) \ macro(SetQueueAttributes) +// All actions +#define ENUMERATE_ALL_ACTIONS(macro) \ + macro(ChangeMessageVisibility) \ + macro(ChangeMessageVisibilityBatch) \ + macro(CreateQueue) \ + macro(CreateUser) \ + macro(GetQueueAttributes) \ + macro(GetQueueAttributesBatch) \ + macro(GetQueueUrl) \ + macro(DeleteMessage) \ + macro(DeleteMessageBatch) \ + macro(DeleteQueue) \ + macro(DeleteQueueBatch) \ + macro(DeleteUser) \ + macro(ListQueues) \ + macro(ListUsers) \ + macro(PurgeQueue) \ + macro(PurgeQueueBatch) \ + macro(ReceiveMessage) \ + macro(SendMessage) \ + macro(SendMessageBatch) \ + macro(SetQueueAttributes) \ + macro(ModifyPermissions) \ + macro(ListPermissions) \ + macro(CountQueues) \ + macro(ListDeadLetterSourceQueues) + } // namespace NKikimr::NSQS diff --git a/ydb/core/ymq/base/security.h b/ydb/core/ymq/base/security.h index 764be96265c..abbe5c8e59e 100644 --- a/ydb/core/ymq/base/security.h +++ b/ydb/core/ymq/base/security.h @@ -5,17 +5,17 @@ namespace NKikimr::NSQS { -template <typename TReq, typename TCreds> +template <typename TReq> TString ExtractSecurityToken(const TReq& request) { if (request.HasCredentials()) { switch (request.GetCredentials().AccessKey_case()) { - case TCreds::kOAuthToken: { + case TCredentials::kOAuthToken: { return request.GetCredentials().GetOAuthToken(); } - case TCreds::kTvmTicket: { + case TCredentials::kTvmTicket: { return request.GetCredentials().GetTvmTicket(); } - case TCreds::kStaticCreds: { + case TCredentials::kStaticCreds: { return request.GetCredentials().GetStaticCreds(); } default: { |