Skip to content

Latest commit

 

History

History
141 lines (96 loc) · 7.1 KB

4. Config-Keystone.md

File metadata and controls

141 lines (96 loc) · 7.1 KB

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à truefale.

  • 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.