Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Allow injecting `searchBase` and `searchFilter` via a SecretClass in ldap AuthenticationClass

Đang mở
#448 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
35/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
kubernetes, rust

Hướng nghiên cứu

Payload không nêu tệp triển khai hoặc bài kiểm thử nào. Trước tiên, hãy xác định LDAP CRD AuthenticationClass và đường dẫn phân giải SecretClass; so sánh cách xử lý bindCredentials hiện có với các trường searchBase và searchFilter được đề xuất, sau đó xác định khả năng tương thích của CRD và các bài kiểm thử chứng minh rằng các giá trị có phạm vi namespace được sử dụng.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

customer-request

A customer reached out about enabling dynamic searchBase and searchFilter configuration of AuthenticationClasses for LDAP.

They are currently deploying NiFi clusters per team, that use a central ldap provider for authentication. Every team has an individual bind user that is only allowed to access ldap structures which are relevant for that team - which means that every team needs an individual 'searchBase' setting.

For the bindUser setting, we allow to configure that per namespace via a secretclass, so this is not an issue.

For the searchBase, this is hardcoded in the AuthenticationClass as a String, which at the moment means that the user has to have a dedicated authenticationclass per group that targets the same ldap.

One possible solution could be to allow specifying the searchBase and searchFilter via a SecretClass as well, this would allow the admininstrator in charge of maintaining the SecretClass to optionally delegate the searchBase (and searchFilter) to the users of this AuthenticationClass. Since these SecretClasses can be scoped to look in the namespace of a pod starting up, this would allow configuring a different searchBase per namespace, instead of just one global one.

An idea for how this could look in the CRDs is shown below, but this would most probably be breaking..

---
apiVersion: authentication.stackable.tech/v1alpha1
kind: AuthenticationClass
metadata:
  name: ldap-simple
spec:
  provider:
    ldap:
      hostname: my.ldap.server
      port: 389
      searchBase:
        secretClass: openldap-searchbase
      bindCredentials:
        secretClass: openldap-bind-credentials
---
apiVersion: secrets.stackable.tech/v1alpha1
kind: SecretClass
metadata:
  name: openldap-searchbase
spec:
  backend:
    k8sSearch:
      searchNamespace:
        pod: {}
---
apiVersion: v1
kind: Secret
metadata:
  name: my-admin-credentials
  namespace: userns1
  labels:
    secrets.stackable.tech/class: openldap-searchbase
stringData:
  searchBase: blablabla

The need for this in this specific case arises out of the organizational practice of not having a global ldap bind user but rather "team specific" bind users that cannot access user objects from different teams.
An organizational solution for this issue would be to change this - but that is not always possible, so the question would be if making this configurable is something we want to add.

Ngôn ngữ chính
Rust
Star
13
Fork
8
Merge trung bình
1 ngày 8 giờ
Pull request đã merge (30 ngày)
10

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của stackabletech/secret-operator

Tất cả issue của stackabletech/secret-operator

Issue tương tự

Thêm issue về Rust

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.