Доступ к компонентам платформы по OIDC

1. В данной инструкции описаны следующие процессы

  • создание пользователя во внутреннем провайдере идентификации Vault

  • создание группы пользователей

  • настройка для группы пользователей аутентификации по протоколу OIDC в компонентах платформы

2. Порядок действий

  1. Откройте в браузере веб-интерфейс StarVault и авторизуйтесь, используя учетную запись с правом создания пользователей (по умолчанию это только root-токен).

    access to platform components via oidc 1
  2. Следующим шагом нужно создать саму сущность пользователя. Перейдите в раздел Auth Methods в метод userpass и нажмите «Create User +». В открывшемся окне задайте имя, пароль и нажмите «Save».

    access to platform components via oidc 2
  3. Следующим шагом нужно создать саму сущность пользователя. Перейдите в раздел Entities и нажмите «Create entity +». В открывшемся окне задайте имя (как в п.2) и нажмите «Create».

    access to platform components via oidc 3
  4. Теперь необходимо связать сущность пользователя с методом аутентификации. На открывшейся странице созданной Entity нажмите «Add alias +» в правом верхнем углу. В открывшемся окне введите имя (как в п.2), выберите userpass в качестве Auth Backend и нажмите «Create».

    access to platform components via oidc 4
  5. На следующем шаге создадим группу, которой будут выдаваться права (можно выдать права напрямую пользователю, но корректнее делать это с помощью групп). Перейдите на вкладку Groups и нажмите «Create group +». В открывшемся окне введите имя группы, в качестве type выберите internal, а в Member Entity IDs добавляем Entity из п.3, после чего нажмите «Create».

    access to platform components via oidc 5
  6. Далее нам нужно связать созданного пользователя с OIDC провайдером. Для этого перейдите в раздел OIDC ProviderAssignment и нажмите «Create Assignment +». В открывшемся окне введите имя и выберите пользователя из п.3 или группу из п.5 (можно добавлять как пользователей, так и группы) и нажмите «Create».

    access to platform components via oidc 6
  7. Теперь нам необходимо связать этот Assignment с OIDC-клиентами. Для этого перейдите в раздел OIDC ProviderApplications и выберите oidc-kubernetes-client. В открывшемся окне нажмите «Edit application», в самом низу в секции Assignment name добавьте Assignment из п.6 и нажмите «Update». Тем самым мы разрешили пользователям из группы, созданной в п.5 аутентификацию в Nova Console и kubernetes-api (kubectl) посредством протокола OIDC.

    access to platform components via oidc 7
  8. По аналогии вы можете разрешить аутентификацию для других компонентов платформы (OpenSearch, Neuvector, Prometheus, AlertManager, Hubble), добавляя assignment в соответствующие Applications.

  9. Теперь вы можете аутентифицироваться в Nova Console используя учетные данные пользователя из п.2. Стоит учитывать, что на данном этапе была настроена только аутентификация, поэтому данный пользователь не увидит никакой информации в Nova Console. Выдача прав доступа настраивается для каждого компонента отдельно.