Skip to the content.

Giới thiệu về Keystone.

1. Keystone là gì?

Keystone là một Openstack project cung cấp các dịch vụ Identify, Token, Catalog, Policy cho các dịch vụ khác trong Openstack. Keystone Gồm hai phiên bản:

2. Một số khái niệm liên quan.

3.Identify service

Identify service(dịch vụ xác thực) trong keystone được cung cấp bởi các Actors. Nó có thể tới từ nhiều dịch vụ như SQL, LDAP và Federated Identify Providers.

3.1. SQL

3.2. LDAP.

3.4. Identity Providers

Identity Source Use Cases
SQL - Testing hoặc developing với OpenStack
- Ít users
- OpenStack specific accounts
LDAP - Nếu có sẵn LDAP trong công ty
- Sử dụng một mình LDAP nếu bạn có thể tạo service accounts trong LDAP
Multiple Backends - Được sử dụng nhiều trong các doanh nghiệp
- Dùng nếu service user không được cho phép trong LDAP
Identity Provider - Nếu bạn muốn có những lợi ích từ cơ chế mới Federated Identity
- Nếu đã có sẵn identity provider
- Keystone không thể kết nối tới LDAP
- Non-LDAP identity source

4. User management

File /etc/[SERVICE_CODENAME]/policy.json quản lý các tác vụ mà user có thể thực hiện cho service đó. Ví dụ /etc/nova/policy.conf chỉ định quyền truy cập vào dịch vụ Compute, /etc/glance/policy.json chỉ định quyền truy cập vào dịch vụ Image.

Mặc định file policy.json của các dịch vụ thường chỉ nhận ra role admin, bất kỳ user với bất kỳ role nào trong một project đều có thể truy cập mọi hoạt động mà không cần role admin.

Để hạn chế quyền thực hiện các hành động trong, ví dụ, Compute Service, đầu tiên cần tạo một role trong dịch vụ Identity, gán role cho user sau đó sửa file /etc/nova/policy.json để cấu hình quyền truy cập compute cho role này.

Lưu ý: Ở các phiên bản Openstack mới, file policy.yaml được sử dụng, tuy nhiên file policy.json vẫn đang được hỗ trợ.

5. Authentication.

Có nhiều các để xác thực với keystone nhưng có hai cách phổ biến nhất là dùng password và dùng token.

5.1. Password

5.2. Token

6. Keystone WorkFlow.

Tài liệu tham khảo