Доступ к компонентам платформы по OIDC
1. В данной инструкции описаны следующие процессы
-
создание пользователя во внутреннем провайдере идентификации Vault
-
создание группы пользователей
-
настройка для группы пользователей аутентификации по протоколу OIDC в компонентах платформы
2. Порядок действий
-
Откройте в браузере веб-интерфейс StarVault и авторизуйтесь, используя учетную запись с правом создания пользователей (по умолчанию это только root-токен).
-
Следующим шагом нужно создать саму сущность пользователя. Перейдите в раздел Auth Methods в метод userpass и нажмите «Create User +». В открывшемся окне задайте имя, пароль и нажмите «Save».
-
Следующим шагом нужно создать саму сущность пользователя. Перейдите в раздел Entities и нажмите «Create entity +». В открывшемся окне задайте имя (как в п.2) и нажмите «Create».
-
Теперь необходимо связать сущность пользователя с методом аутентификации. На открывшейся странице созданной Entity нажмите «Add alias +» в правом верхнем углу. В открывшемся окне введите имя (как в п.2), выберите userpass в качестве Auth Backend и нажмите «Create».
-
На следующем шаге создадим группу, которой будут выдаваться права (можно выдать права напрямую пользователю, но корректнее делать это с помощью групп). Перейдите на вкладку Groups и нажмите «Create group +». В открывшемся окне введите имя группы, в качестве type выберите internal, а в Member Entity IDs добавляем Entity из п.3, после чего нажмите «Create».
-
Далее нам нужно связать созданного пользователя с OIDC провайдером. Для этого перейдите в раздел OIDC Provider → Assignment и нажмите «Create Assignment +». В открывшемся окне введите имя и выберите пользователя из п.3 или группу из п.5 (можно добавлять как пользователей, так и группы) и нажмите «Create».
-
Теперь нам необходимо связать этот Assignment с OIDC-клиентами. Для этого перейдите в раздел OIDC Provider → Applications и выберите
oidc-kubernetes-client
. В открывшемся окне нажмите «Edit application», в самом низу в секции Assignment name добавьте Assignment из п.6 и нажмите «Update». Тем самым мы разрешили пользователям из группы, созданной в п.5 аутентификацию в Nova Console и kubernetes-api (kubectl
) посредством протокола OIDC. -
По аналогии вы можете разрешить аутентификацию для других компонентов платформы (OpenSearch, Neuvector, Prometheus, AlertManager, Hubble), добавляя assignment в соответствующие Applications.
-
Теперь вы можете аутентифицироваться в Nova Console используя учетные данные пользователя из п.2. Стоит учитывать, что на данном этапе была настроена только аутентификация, поэтому данный пользователь не увидит никакой информации в Nova Console. Выдача прав доступа настраивается для каждого компонента отдельно.