Tìm hiểu cấu hình Keystone
1.Cấu trúc file cấu hình.
- Openstack chủ yếu sử dụng cặp giá trị
key
=value
cho các section trong file cấu hình. - Các option có thể có các loại giá trị khác nhau, dưới đây là một sô loại giá trị
-
boolean
: Giá trị cho phép lựa chọn là true và fale. -
float
: Số thực (ví dụ 0.25 hoặc 1000) -
interger
: số nguyên -
list
: danh sách các values được phân tách nhau bởi dấu phẩy -
muilti valued
: là một string value và có thể gán nhiều hơn 1 giá trị, tất cả sẽ đều được sử dụng. -
string
: có thể có hoặc không đặt trong dấu""
hoặc''
-
1. Cấu trúc file cấu hình
- Openstack chủ yếu sử dụng các cặp gía trị
key
=value
cho các section trong file cấu hình . -
Các options có thể có các giá trị khác nhau, dưới đây là các loại thường được sử dụng bởi OpenStack:
-
boolean
: Giá trị cho phép lựa chọn làtrue
vàfale
. -
float
: Số thực (ví dụ 0.25 hoặc 1000) -
interger
: số nguyên -
list
: danh sách các values được phân tách nhau bởi dấu phẩy -
muilti valued
: là một string value và có thể gán nhiều hơn 1 giá trị, tất cả sẽ đều được sử dụng. -
string
: có thể có hoặc không đặt trong dấu""
hoặc''
- Section
Các tùy chọn cài đặt được nhóm lại thành các section. Thông thường hầu hết các file config của OpenStack đều có 2 section [DEFAULT] và [database]
- Substitution
File config hỗ trợ variable substitution. Sau khi thiết lập, tùy chọn cấu hình đó có thể được dùng lại trong các giá tùy chọn khác bằng cách thêm dấu $
, ví dụ như rabbit_hosts = $rabbit_host:$rabbit_port
Để tránh substitution, dùng $$
. Ví dụ ldap_dns_password = $$xkj432
- Whitespace
Để sử dụng khoảng trắng trong phần value, sử dụng dấu nháy đơn ''
. Ví dụ: ldap_dns_passsword='a password with spaces'
2. Default Section
[#]Key = Default Value | Description |
---|---|
#admin_token = None | không được khuyến nghị sử dụng. Sử dụng đoạn mã này có thể dùng để khởi động Keystone thông qua API . Token này không thuộc về một user cụ thể , đây là một hình thức bypass hầu như các phần kiểm tra ủy quyền |
#public_endpoint = None | cung cấp một URL API endpoint cho các Client. Nên cấu hình một URL không trungf với các endpoint path default hoặc endpoint đang sử dụng ở một host khác |
#admin_endpoint = None | cung cấp thêm một URL API endpoint co các Client. Nên cấu hình một URL không trungf với các endpoint path default hoặc endpoint đang sử dụng ở một host khác |
#max_project_tree_depth = 5 | Giới hạn số lần phân cấp trong một project |
#max_param_size = 64 | Giới hạn ký tự của ID và Name trong user và group |
#max_token_size = 255 | Giới hạn chiều dài của Token, với Fermet token 255 , UUID là 32 |
#member_role_id = 9fe2ff9ee4384b1894a90878d3e92bab | Găn quyền mặc định cho các user cho API v2 ( API V2 không còn hỗ trợ ) |
#member_role_name = member | Găn quyền mặc định cho các user cho API v2 ( API V2 không còn hỗ trợ ) |
#crypt_strength = 10000 | Sử dụng hàm mã hóa băm passlib |
#list_limit = None | Số lượng các user và group được lưu tối đa |
#strict_password_check = false | Kiểm tra pasword khi gửi request đến, nếu set True khi password gửi đến qua ký tự đối đa sẽ trả status 403 |
#secure_proxy_ssl_header = HTTP_X_FORWARDED_PROTO | sử dụng HTTP cho các request |
#insecure_debug = false | Cung cấp bổ sung thông tin để phục vụ debug trong các HTTP Response |
#default_publisher_id = None | Cung cấp host để đẩy các thông báo, mặc định là server name |
3. oslo.log section
[#]Key = Default Value | Description | |
---|---|---|
#debug = false | Nếu enable chức năng này LOG sẽ được chuyển sang mode DEBUG | |
#log_config_append = None | Chỉ định file chứa log | |
#log_date_format = %Y-%m-%d %H:%M:%S | Chỉ định format thời gian trong log | |
#log_dir = None | Chỉ định folder chứa LOG, sẽ được bỏ qua nến đã enable log_config_append | |
#use_syslog = false | Sử dụng syslog /var/syslog.txt để làm file lưu log |
|
#use_journal = false | sử dụng journal để lưu log | |
#use_json = false | sử dụng JSON Format để lưu log |
4. catalog section
[#]Key = Default Value | Description |
---|---|
#template_file = default_catalog.templates | chỉ định file làm catalog template |
#driver = sql | chỉ định SQL backen làm catalog entry |
#caching = true | lưu cache các catalog |
#cache_time = None | thời gian lưu cache tối đa |
#list_limit = None | Số endpoint giới hạn trên mỗi catalog |
5. credential section
| [#]Key = Default Value | Description | |————————-|————| |#driver = sql| Entry point cho các Credential| |#provider = fernet | Entry point cho các thuật toán mã hóa và giải mã| |#key_repository = /etc/keystone/credential-keys/| Folder chưa các keys cho việc mã hóa, giải mã trong credential backen. Fernet key cho encrypt credentials và Fernet key cho encrypt Fermet key không liên quan đến nhau |
6. database section
[#]Key = Default Value | Description |
---|---|
#connection = None | định nghĩa kết nối tới DB |
#backend = sqlalchemy | backend sử dụng cho DB |
#slave_connection = None | Định nghĩa một DB Slave |
#use_db_reconnect | Thử kết nối lại khi không kết nối được đến DB |
7. domain_config section
[#]Key = Default Value | Description |
---|---|
#driver = sql | Chỉ hỗ trợ SQL để entry point cho các domain config |
#caching = true | Thời gian để lưu cache domain dataconfig |
8. endpoint_filter và endpoint_policy section
| [#]Key = Default Value | Description | |————————-|————| |#driver = sql| Entry point cho các endpoint filter , chỉ hỗ trợ SQL |
9. Fernet tokens section
| [#]Key = Default Value | Description | |————————-|————| |#key_repository = /etc/keystone/fernet-keys/| thư mục chưa Fernet token keys | |#max_active_keys | số lượng key có thể active trên một thời điểm |
10. identity section
[#]Key = Default Value | Description |
---|---|
#default_domain_id = default | Domain mặc dịnh lắng nghe các API v2 request Identity |
#domain_config_dir = /etc/keystone/domains | Đường dẫn cho Keystone lưu domain configuration files nếu domain_specific_drivers_enabled được thiết lập là true |
#driver = sql | Entry point cho the identity backend |
#max_password_length = 4096 | độ dài cho phép tối đa của user pasword |
#password_hash_algorithm = bcrypt | hàm băm được sử dụng cho password |
11. memcache section
[#]Key = Default Value | Description |
---|---|
#dead_retry = 300 | số giây thử để chắc chắn memcached server |
servers = *:11211 | Memcache servers |
12. policy section
| [#]Key = Default Value | Description |
|————————-|————|
|#driver = sql| Entry point cho policy backend driver|
|#list_limit = None| số lượng thực thể tối đa cho policy collection. |