Đăng nhập một lần hứa hẹn một danh tính và ít lời nhắc hơn, và lời hứa vỡ ở giao thức thứ ba. Cái bẫy là giả định rằng một lần xác thực thành công tạo ra token mà mọi giao thức khác có thể trình bày. Truy cập Wi-Fi, vào VPN và registry container mỗi bên thực hiện một trao đổi khác nhau, với đối tượng và thời hạn khác nhau. Chia sẻ tài khoản là quyết định của thư mục; chia sẻ thông tin xác thực là quyết định của giao thức, và các giao thức hiếm khi đồng ý.

Ba trao đổi, ba chủ sở hữu

Wi-Fi doanh nghiệp chạy một phương thức EAP trong 802.1X, thường được kết thúc bởi dịch vụ RADIUS có góc nhìn riêng về người dùng hoặc thiết bị. Cổng VPN xác thực qua luồng được hỗ trợ của riêng nó rồi giữ một phiên với bộ đếm thời gian xác thực lại của riêng nó. Registry trả lời một yêu cầu chưa xác thực bằng thách thức nêu tên dịch vụ token, đối tượng và phạm vi, và ứng dụng khách đổi thông tin xác thực của mình lấy một token ngắn hạn.

Đây không phải ba góc nhìn của một phiên. Mỗi bên có trình xác minh riêng, thời hạn riêng và đường thu hồi riêng, vì thế một thay đổi mật khẩu trong thư mục có thể để một bên vẫn chạy và bên kia hỏng. Hãy coi chúng là ba tích hợp tình cờ chia sẻ một thư mục người dùng.

SSO trên trình duyệt mang theo gì và không mang theo gì

Một phiên trình duyệt tại nhà cung cấp danh tính thực sự hữu ích: các ứng dụng chuyển hướng đến đó thừa hưởng lần đăng nhập mà người dùng đã hoàn tất. Điều đó hoạt động vì những ứng dụng ấy nói cùng giao thức chuyển hướng và token và chấp nhận cùng đối tượng. Một bên yêu cầu nói EAP không có chuyển hướng nào để theo, và một ứng dụng khách Docker nhận thách thức từ registry không yêu cầu token danh tính OIDC. Nhà cung cấp danh tính chỉ có thể bảo lãnh cho những giao thức mà nó được xây để nói.

Dễ thấy lỗi trong nhật ký khi bạn biết phải tìm ở đâu. Nhà cung cấp danh tính báo đăng nhập thành công trong khi việc kết nối Wi-Fi vẫn thất bại, hoặc registry trả về 401 sau một lần trao đổi token mà trình duyệt chưa từng thấy. Hai thành công và một thất bại không phải mâu thuẫn; đó là ba lần xác thực riêng biệt.

Nơi chứng chỉ thay thế một mã lặp lại

Với thiết bị được quản lý, EAP dựa trên chứng chỉ loại bỏ bước con người mà không loại bỏ danh tính: thiết bị trình chứng chỉ, dịch vụ RADIUS kiểm tra nó với cơ quan cấp, và việc thu hồi diễn ra tại cơ quan đó thay vì trong một bí mật chia sẻ. Cái giá là công việc vòng đời, vì chứng chỉ hết hạn và phải được gia hạn trước đó.

Registry có sự phân chia tương đương. Người dùng tương tác có thể đăng nhập một lần và để một trình trợ giúp thông tin xác thực lưu token thu được, trong khi tự động hóa nên dùng thông tin xác thực dịch vụ phạm vi hẹp hoặc danh tính khối lượng công việc. Không cái nào nên là mã dùng một lần của con người bị sao chép vào đường ống. Trình trợ giúp lưu token cho một đối tượng registry cụ thể, nên không thể chuyển hướng nó tới cổng VPN bằng cách sửa tệp cấu hình.

docker login registry.example.com

So sánh chi phí bảo trì, không phải số lời nhắc

Một thông tin xác thực chia sẻ trông rẻ vì công việc không nhìn thấy cho đến khi nó hỏng. Thay vào đó hãy đếm xem mỗi lựa chọn tốn bao nhiêu trong một năm: đăng ký, gia hạn, thu hồi, bán kính ảnh hưởng của một vụ rò rỉ và số hệ thống bị chạm tới khi ai đó rời đi. Một đội chứng chỉ tốn hơn để xây và ít hơn để vận hành ở quy mô; một mã bị sao chép không tốn gì để bắt đầu và tốn tất cả để gỡ ra.

Sau đó hãy chọn theo từng chặng chứ không toàn cục. Wi-Fi có thể chuyển sang chứng chỉ, VPN có thể giữ SSO được hỗ trợ với MFA, và registry có thể dùng token với phạm vi rõ ràng. Ghi lại chủ sở hữu, đối tượng, phạm vi, hạn và đường thu hồi cho từng cái, và các lời nhắc sẽ rơi đúng chỗ thay vì khắp nơi cùng lúc. Bản ghi đó cũng là câu trả lời khi một kiểm toán viên hỏi hệ thống nào vẫn còn tin mật khẩu.

Bài viết liên quan