@@ -210,8 +210,12 @@ namespace NKikimr::NYaml {
210
210
ctx.DisableBuiltinSecurity = GetBoolByPathOrNone (json, DISABLE_BUILTIN_SECURITY_PATH).value_or (false );
211
211
}
212
212
EraseByPath (json, DISABLE_BUILTIN_SECURITY_PATH);
213
- ctx.ExplicitEmptyDefaultGroups = CheckExplicitEmptyArrayByPathOrNone (json, DEFAULT_GROUPS_PATH).value_or (false );
214
- ctx.ExplicitEmptyDefaultAccess = CheckExplicitEmptyArrayByPathOrNone (json, DEFAULT_ACCESS_PATH).value_or (false );
213
+ if (!ctx.DisableBuiltinGroups ) {
214
+ ctx.DisableBuiltinGroups = CheckExplicitEmptyArrayByPathOrNone (json, DEFAULT_GROUPS_PATH).value_or (false );
215
+ }
216
+ if (!ctx.DisableBuiltinAccess ) {
217
+ ctx.DisableBuiltinAccess = CheckExplicitEmptyArrayByPathOrNone (json, DEFAULT_ACCESS_PATH).value_or (false );
218
+ }
215
219
}
216
220
217
221
ui32 GetDefaultTabletCount (TString& type) {
@@ -427,6 +431,8 @@ namespace NKikimr::NYaml {
427
431
auto * domainsConfig = config.MutableDomainsConfig ();
428
432
429
433
bool disabledDefaultSecurity = ctx.DisableBuiltinSecurity ? *ctx.DisableBuiltinSecurity : false ;
434
+ bool disableBuiltinGroups = ctx.DisableBuiltinGroups ? *ctx.DisableBuiltinGroups : false ;
435
+ bool disableBuiltinAccess = ctx.DisableBuiltinAccess ? *ctx.DisableBuiltinAccess : false ;
430
436
431
437
NKikimrConfig::TDomainsConfig::TSecurityConfig* securityConfig = nullptr ;
432
438
if (domainsConfig->HasSecurityConfig ()) {
@@ -445,7 +451,7 @@ namespace NKikimr::NYaml {
445
451
user->SetPassword (" " );
446
452
}
447
453
448
- if (!ctx. ExplicitEmptyDefaultGroups && !(securityConfig && securityConfig->DefaultGroupsSize ()) && !disabledDefaultSecurity) {
454
+ if (!disableBuiltinGroups && !(securityConfig && securityConfig->DefaultGroupsSize ()) && !disabledDefaultSecurity) {
449
455
securityConfig = domainsConfig->MutableSecurityConfig ();
450
456
{
451
457
auto * defaultGroupAdmins = securityConfig->AddDefaultGroups ();
@@ -509,7 +515,7 @@ namespace NKikimr::NYaml {
509
515
securityConfig->SetAllUsersGroup (" USERS" );
510
516
}
511
517
512
- if (!ctx. ExplicitEmptyDefaultAccess && !(securityConfig && securityConfig->DefaultAccessSize ()) && !disabledDefaultSecurity) {
518
+ if (!disableBuiltinAccess && !(securityConfig && securityConfig->DefaultAccessSize ()) && !disabledDefaultSecurity) {
513
519
securityConfig = domainsConfig->MutableSecurityConfig ();
514
520
securityConfig->AddDefaultAccess (" +(ConnDB):USERS" ); // ConnectDatabase
515
521
securityConfig->AddDefaultAccess (" +(DS|RA):METADATA-READERS" ); // DescribeSchema | ReadAttributes
@@ -1395,10 +1401,16 @@ namespace NKikimr::NYaml {
1395
1401
void MoveFields (TTransformContext& ctx, NKikimrConfig::TAppConfig& config, NKikimrConfig::TEphemeralInputFields& ephemeralConfig) {
1396
1402
if (ephemeralConfig.HasSecurityConfig ()) {
1397
1403
config.MutableDomainsConfig ()->MutableSecurityConfig ()->CopyFrom (ephemeralConfig.GetSecurityConfig ());
1398
- }
1399
-
1400
- if (ephemeralConfig.HasDisableBuiltinSecurity ()) {
1401
- ctx.DisableBuiltinSecurity = ephemeralConfig.GetDisableBuiltinSecurity ();
1404
+ auto securityConfig = ephemeralConfig.GetSecurityConfig ();
1405
+ if (securityConfig.HasDisableBuiltinSecurity ()) {
1406
+ ctx.DisableBuiltinSecurity = securityConfig.GetDisableBuiltinSecurity ();
1407
+ }
1408
+ if (securityConfig.HasDisableBuiltinGroups ()) {
1409
+ ctx.DisableBuiltinGroups = securityConfig.GetDisableBuiltinGroups ();
1410
+ }
1411
+ if (securityConfig.HasDisableBuiltinAccess ()) {
1412
+ ctx.DisableBuiltinAccess = securityConfig.GetDisableBuiltinAccess ();
1413
+ }
1402
1414
}
1403
1415
}
1404
1416
0 commit comments