Allow injecting `searchBase` and `searchFilter` via a SecretClass in ldap AuthenticationClass
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
- Lĩnh vực
- authentication, infrastructure, security
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ả
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
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của stackabletech/secret-operator
-
type/bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
stackabletech/secret-operator#754 ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 48/100
stackabletech/secret-operator#753 · 1 bình luận ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 72/100
stackabletech/secret-operator#720 · 1 bình luận ·
-
customer-request type/bug
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 38/100
stackabletech/secret-operator#666 · 2 bình luận ·
-
customer-request type/feature-improvement
stackabletech/secret-operator#630 · 7 bình luận · 1 người được giao ·
Tất cả issue của stackabletech/secret-operator
Issue tương tự
-
bug github_actions
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
registrystack/registry-stack#1393 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
longbridge/gpui-kit#3223 ·
-
bug engine
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
rocky-data/rocky#2181 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
oasisprotocol/oasis-sdk#2523 ·
-
[indexer] [QA] Add a focused test for the new NonRetryableError / assertSocketAlive() behavior. Đang mởbot:ai-assisted component:indexer QA-roadmap status:untriaged
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
midnightntwrk/midnight-indexer#1557 ·