Fix NiFi 2 clustering
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
- 15/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- kubernetes
- Lĩnh vực
- authentication, distributed-systems, infrastructure
Hướng nghiên cứu
Bắt đầu bằng việc điều tra cơ chế chia sẻ trạng thái và hành vi JWT trên toàn cluster của NiFi 2, bao gồm cách tạo khóa ký và cách sử dụng các bước kiểm tra hostname SNI. Đồng thời xem xét đường dẫn xác thực của metrics. Công việc được xem là hoàn tất khi các token do cluster phát hành hoạt động trên mọi node mà không cần sticky session, đồng thời các thay đổi SNI và metrics được đề xuất đã được đánh giá.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Description
Currently, if you create a JWT token for a nifi node, you can only log into this specific node. This is apparently by design as explained in https://issues.apache.org/jira/browse/NIFI-7246.
The problem with this is that it forces sticky sessions (when using a load balancer) which defeats the purpose of using a stateless token.
This appears to exist because some NiFi state is not shares, so for some API calls you currently must connect to the applicable node.
Slightly relevant is that there are SNI checks (so that the server can verify that the client is connecting via the expected hostname). Presumably this was implemented due to the previously mentioned requirement for connecting to the correct node.
Proposed Solution
[!TIP]
As this is a specific problem of the product NiFi we think it might be useful to fix it upstream.
There are multiple parts to the overall solution:
- Fix NiFi 2's state sharing so that there is no longer a need to send requests to a specific node.
- Allow JWTs to be issued by a cluster wide issuer for a single audience so that the same token can be used on any node (thereby removing the need for sticky sessions).
- Additional nice-to-have's:
- Remove the SNI hostname check (assuming it was only there as a protection mechanism for what was mentioned in the Description section).
- Possibly remove authentication from metrics endpoints (and ideally run metrics on a different http server).
Unknowns
- How is the JWT signing key currently generated?
- Can the SNI check be removed once it doesn't matter which cluster node is connected to?
- Ngôn ngữ chính
- Rust
- Star
- 48
- Fork
- 12
- Merge trung bình
- 11 giờ 26 phút
- 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/nifi-operator
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 68/100
stackabletech/nifi-operator#956 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
stackabletech/nifi-operator#879 ·
-
customer-request type/bug
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 42/100
stackabletech/nifi-operator#842 · 1 bình luận ·
-
size/M type/security
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
stackabletech/nifi-operator#811 · 1 bình luận ·
-
size/L
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
stackabletech/nifi-operator#810 · 1 bình luận ·
Tất cả issue của stackabletech/nifi-operator
Issue tương tự
-
Replayed reasoning items send "content": null, which the Responses API schema does not permit Đang mởbug CLI custom-model
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
rust-bitcoin/rust-bitcoin#6930 · 1 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
fulcrumgenomics/ferro-hgvs#2251 ·
-
Missing examples for `Allocator` Đang mởA-allocators A-docs C-enhancement T-libs
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100