Для улучшения работы сайта мы используем файлы cookies. Оставаясь на сайте, вы соглашаетесь с политикой обработки персональных данных.

Настройка доступа до NeuVector c использованием LDAP

В данной статье описывается процедура использования провайдера идентификации в StarVault по протоколу LDAP для доступа к OAuth приложениям на примере NeuVector.

1. Необходимые условия

2. Настройка доступа в StarVault

  1. В веб-интерфейсе StarVault выберите вкладку Access, далее Groups.

  2. Создайте группу и алиас.

    • Нажмите Create group.

      • В поле Name укажите имя группы так же, как группа названа в каталоге LDAP-сервера.

      • В поле Type укажите External.

      • Нажмите Create, чтобы создать группу. Откроется страница с параметрами созданной группы.

    • Нажмите Add alias.

      • В поле Name укажите имя алиаса так же, как группа названа в каталоге LDAP-сервера.

      • В поле Auth Backend выберете имя метода аутентификации LDAP.

      • Нажмите Create, чтобы создать алиас.

    Для удобства и простоты администрирования рекомендуется использовать один алиас на одну сущность StarVault.

  3. В веб-интерфейсе StarVault перейдите на вкладку AccessOIDC ProviderAssignments.

  4. Нажмите Create assignment

    • В поле Name укажите любое имя, например название приложения к которому предоставляется доступ.

    • В поле Groups выберите группу созданную ранее.

    • Нажмите Create.

  5. Перейдите на вкладку AccessOIDC ProviderApplications.

    • Выберите нужное приложение. В нашем случае oidc-auth-neuvector.

    • Нажмите Edit application

    • В поле Assignment name выберите ранее созданный Assignment.

    • Нажмите Update.

  6. Перейдите на вкладку AccessOIDC ProviderScopes.

    • Нажмите на Edit у параметра email.

    • Измените значение на { "email": {{identity.entity.name}} }

    • Нажмите Update

3. Настройка доступа в NeuVector

  1. В веб-интерфейсе Nova Container Platform выберите вкладку Ресурсы, далее Secrets.

  2. Скопируйте значение oidcinitcfg.ctmpl из секрета neuvector-init-template.

  3. Перейдите на вкладку АдминистрированиеCustomResourceDefinitions и выберите NeuvectorCluster.

  4. Перейдите на вкладку Инстансы и выберите нужный вам NeuVector кластер.

  5. На вкладке YAML добавьте патч в блок spec. Значение файла oidcinitcfg.ctmpl должно быть аналогичным значению из пункта 2.

    В блок group_mapped_roles добавьте соответствие нужной группы и роли.

    Всего в NeuVector есть 3 группы по умолчанию.

    • admin

    • reader

    • ciops

    При использовании примера ниже убедитесь, что в конце строк отсутствуют пробелы!

    Пример
      customPatches:
        - kustomizationName: nova-release-neuvector-main
          patches:
            - patch: |-
                kind: Secret
                apiVersion: v1
                metadata:
                  name: neuvector-init-template
                  namespace: nova-neuvector
                stringData:
                  oidcinitcfg.ctmpl: |
                    {{- with secret "identity/oidc/provider/nova" }}
                    always_reload: false
                    Issuer: {{ .Data.issuer }}
                    {{- end -}}
                    {{ with secret "identity/oidc/client/oidc-auth-neuvector" }}
                    Client_ID: {{ .Data.client_id }}
                    Client_Secret: {{ .Data.client_secret }}
                    {{ end -}}
                    GroupClaim: groups
                    Scopes:
                      - openid
                      - profile
                      - email
                      - groups
                    Enable: true
                    Default_Role:
                    group_mapped_roles:
                      - group: kubeadmins (1)
                        global_role: admin
                      - group: global-admins (2)
                        global_role: admin
                    group_claim: groups
              target:
                kind: Secret
                name: neuvector-init-template
                namespace: nova-neuvector
    1 Настройка доступа для kubeadmins. Изменять не нужно.
    2 Пример добавления группы с определенной ролью.

4. Проверка

  1. Убедитесь, что под neuvector-controller-pod-0 работает.

  2. Зайдите в веб-интерфейс NeuVector с использованием LDAP подключения.