Skip to the content.

Tìm hiểu cấu hình Keystone

1.Cấu trúc file cấu hình.

1. Cấu trúc file cấu hình

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]

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

Để 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. |