7장. Keystone


다음 장에서는 keystone 서비스의 구성 옵션에 대해 설명합니다.

7.1. keystone.conf

이 섹션에는 /etc/keystone/keystone.conf 파일에 대한 옵션이 포함되어 있습니다.

7.1.1. DEFAULT

다음 표에는 /etc/keystone/keystone.conf 파일의 [DEFAULT] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

.

구성 옵션 = 기본값유형설명

admin_token = None

문자열 값

이 기능을 사용하는 것은 권장되지 않습니다. 대신 keystone-manage bootstrap 명령을 사용합니다. 이 옵션의 값은 API를 통해 Keystone을 부트스트랩하는 데 사용할 수 있는 "공유 시크릿"으로 처리됩니다. 이 "토큰"은 사용자를 나타내지 않으며(ID가 없음) 명시적 권한 부여가 없습니다(대부분의 권한 부여 검사를 효과적으로 우회). None 으로 설정하면 값이 무시되고 admin_token 미들웨어가 효과적으로 비활성화됩니다.

conn_pool_min_size = 2

정수 값

연결 만료 정책의 풀 크기 제한

conn_pool_ttl = 1200

정수 값

풀의 유휴 연결 후 시간-투-라이브

control_exchange = keystone

문자열 값

주제 범위가 지정된 기본 교환입니다. transport_url 옵션에 지정된 교환 이름으로 재정의할 수 있습니다.

debug = False

부울 값

true로 설정하면 로깅 수준이 기본 INFO 수준 대신 DEBUG로 설정됩니다.

default_log_levels = ['amqp=WARN', 'boto=WARN', 'qpid=WARN', 'sqlalchemy=INFO', 'suds=INFO', 'oslo.messaging=INFO', 'lo_messaging=INFO', 'boto=WARN', 'sudslo.messaging=INFO', 'lo_messaging=INFO', 'iso8601=WARN', 'requests.packages.urllib3.connectionpool=WARN', 'urllib3.connectionpool=WARN', 'websocket=WARN', 'requests.packages.urllib3.util.retry=WARN', 'urllib3.util.retry=WARN', 'urllib3.util.retry=WARN', 'urllib3.connectionpool=WARN', 'urllib3.util.retry=WARN', 'keystonemiddleware=WARN', 'routes.middleware=WARN', 'stevedore=WARN', 'keystoneauth=WARN', 'oslo.cache=INFO', 'oslo_policy=INFO', 'dogpile.core.dogpile=INFO']

목록 값

logger=LEVEL 쌍의 패키지 로깅 수준 목록입니다. log_config_append가 설정된 경우 이 옵션은 무시됩니다.

default_publisher_id = None

문자열 값

발신 알림의 기본 publisher_id. 정의되지 않은 경우 Keystone은 기본적으로 서버의 호스트 이름을 사용합니다.

executor_thread_pool_size = 64

정수 값

executor 스레드가 스레드 또는 eventlet인 경우 executor 스레드 풀의 크기입니다.

fatal_deprecations = False

부울 값

사용 중단의 치명적인 상태를 활성화하거나 비활성화합니다.

insecure_debug = False

부울 값

true로 설정하면 서버에서 인증되지 않았거나 인증된 사용자가 인증 실패 이유에 대한 추가 세부 정보와 같이 인증되지 않은 사용자가 일반보다 더 많은 정보를 가져올 수 있는 HTTP 응답에 정보를 반환합니다. 이는 디버깅에 유용할 수 있지만 안전하지 않습니다.

`instance_format = [instance: %(uuid)s] `

문자열 값

로그 메시지와 함께 전달되는 인스턴스의 형식입니다.

`instance_uuid_format = [instance: %(uuid)s] `

문자열 값

로그 메시지와 함께 전달되는 인스턴스 UUID의 형식입니다.

list_limit = None

정수 값

컬렉션에서 반환할 최대 엔터티 수입니다. 그런 다음 적절한 섹션(예: [assignment])에 list_limit를 지정하여 특정 드라이버에 대해 이 글로벌 제한을 덮어쓸 수 있습니다. 제한은 기본적으로 설정되어 있지 않습니다. 대규모 배포에서는 모든 사용자 및 프로젝트를 나열하는 것과 같은 작업이 시스템에 불필요한 로드를 배치하지 않도록 적절한 숫자로 설정하는 것이 좋습니다.

log-config-append = None

문자열 값

로깅 구성 파일의 이름입니다. 이 파일은 기존 로깅 구성 파일에 추가됩니다. 로깅 구성 파일에 대한 자세한 내용은 Python 로깅 모듈 설명서를 참조하십시오. 로깅 구성 파일을 사용하면 모든 로깅 구성이 구성 파일에 설정되고 기타 로깅 구성 옵션은 무시됩니다(예: log-date-format).

log-date-format = %Y-%m-%d %H:%M:%S

문자열 값

로그 레코드에서 %%(asctime)의 형식 문자열을 정의합니다. 기본값: %(default)s . log_config_append가 설정된 경우 이 옵션은 무시됩니다.

log-dir = None

문자열 값

(선택 사항) 상대 log_file 경로에 사용되는 기본 디렉터리입니다. log_config_append가 설정된 경우 이 옵션은 무시됩니다.

log-file = None

문자열 값

(선택 사항) 로깅 출력을 보낼 로그 파일의 이름입니다. 기본값이 설정되지 않은 경우 logging은 use_stderr에 정의된 대로 stderr로 이동합니다. log_config_append가 설정된 경우 이 옵션은 무시됩니다.

log_rotate_interval = 1

정수 값

로그 파일이 교체되기 전의 시간입니다. log_rotation_type이 "interval"으로 설정되어 있지 않으면 이 옵션은 무시됩니다.

log_rotate_interval_type = days

문자열 값

회전 간격 유형. 마지막 파일 변경 시간(또는 서비스가 시작된 시간)은 다음 교체를 예약할 때 사용됩니다.

log_rotation_type = none

문자열 값

로그 회전 유형입니다.

logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s [%(global_request_id)s %(request_id)s %(user_idity)s] %(instance)s%(instance)s%(message)

문자열 값

컨텍스트와 함께 로그 메시지에 사용할 형식 문자열입니다. oslo_log.format XCCDF.ContextFormatter에서 사용

logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d

문자열 값

메시지의 로깅 수준이 DEBUG일 때 로그 메시지에 추가할 추가 데이터입니다. oslo_log.format XCCDF.ContextFormatter에서 사용

logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s %(instance)s%(message)s

문자열 값

컨텍스트가 정의되지 않은 경우 로그 메시지에 사용할 형식 문자열입니다. oslo_log.format XCCDF.ContextFormatter에서 사용

logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s

문자열 값

예외 출력의 각 줄 앞에 이 형식을 접두사로 지정합니다. oslo_log.format XCCDF.ContextFormatter에서 사용

logging_user_identity_format = %(user)s %(project)s %(domain)s %(system_scope)s %(user_domain)s %(project_domain)s

문자열 값

logging_context_format_string에 사용되는 %(user_identity)의 형식 문자열을 정의합니다. oslo_log.format XCCDF.ContextFormatter에서 사용

max_logfile_count = 30

정수 값

순환된 로그 파일의 최대 수입니다.

max_logfile_size_mb = 200

정수 값

로그 파일 최대 크기(MB)입니다. "log_rotation_type"이 "size"로 설정되지 않은 경우 이 옵션이 무시됩니다.

max_param_size = 64

정수 값

사용자 및 프로젝트 ID/이름의 크기를 제한합니다.

max_project_tree_depth = 5

정수 값

계층 구조의 맨 위에 있는 도메인 역할을 하는 프로젝트를 제외하고 프로젝트 계층 구조의 최대 깊이입니다. 경고: 큰 값으로 설정하면 성능에 부정적인 영향을 미칠 수 있습니다.

max_token_size = 255

정수 값

[DEFAULT] max_param_size 와 유사하지만 토큰 값에 대한 예외를 제공합니다. Cryostat 토큰을 사용하면 low를 255로 설정할 수 있습니다.

notification_format = cadf

문자열 값

ID 서비스 이벤트의 알림 형식을 정의합니다. 기본 알림에는 운영 중인 리소스에 대한 정보만 있습니다. cadf 알림에는 동일한 정보와 이벤트 이니시에이터에 대한 정보가 있습니다. cadf 옵션은 기본 옵션과 완전히 이전 버전과 호환되지만 완전히 CryostatF와 호환되며 사용 사례 감사에 권장됩니다.

notification_opt_out = ['identity.authenticate.success', 'identity.authenticate.pending', 'identity.authenticate.failed']

다중 값

명시적으로 옵트아웃하여 알림 keystone 출력 수를 줄일 수 있습니다. Keystone은 이 목록에 표시된 패턴과 일치하는 알림을 내보내지 않습니다. 값은 identity.<resource_type>.<operation> 형식이어야 합니다. 기본적으로 인증과 관련된 모든 알림은 자동으로 비활성화됩니다. 이 필드는 여러 알림 주제를 옵트아웃하기 위해 여러 번 설정할 수 있습니다. 예를 들어 다음은 사용자 생성 또는 성공적인 인증 이벤트를 설명하는 알림을 표시하지 않습니다. notification_opt_out=identity.user.create notification_opt_out=identity.authenticate.success

public_endpoint = None

URI 값

클라이언트에 공개된 Keystone의 기본 공용 엔드포인트 URL입니다(참고: Keystone이 연결을 청취하는 방식에는 영향을 미치지 않습니다). 기본값은 요청의 기본 호스트 URL입니다. 예를 들어 keystone이 http://server:5000/v3/users 에 대한 요청을 수신하는 경우 이 옵션은 자동으로 http://server:5000 로 처리됩니다. 기본 URL 값에 자동으로 유추하지 않는 경로(/prefix/v3)가 포함되어 있거나 다른 호스트에서 끝점을 찾아야 하는 경우에만 옵션을 설정해야 합니다.

publish_errors = False

부울 값

오류 이벤트 게시를 활성화하거나 비활성화합니다.

rate_limit_burst = 0

정수 값

rate_limit_interval당 최대 로깅 메시지 수입니다.

rate_limit_except_level = CRITICAL

문자열 값

속도 제한에 사용되는 로그 수준 이름: CRITICAL, ERROR, INFO, WARNING, DEBUG 또는 empty string. level이 rate_limit_except_level보다 크거나 같은 로그는 필터링되지 않습니다. 빈 문자열은 모든 수준이 필터링됨을 의미합니다.

rate_limit_interval = 0

정수 값

로그 속도 제한의 간격, 시간(초)입니다.

rpc_conn_pool_size = 30

정수 값

RPC 연결 풀의 크기입니다.

rpc_ping_enabled = False

부울 값

ping 호출에 응답하는 끝점을 추가합니다. 엔드포인트의 이름은 oslo_rpc_server_ping입니다.

rpc_response_timeout = 60

정수 값

호출에서 응답을 대기하는 시간(초)입니다.

strict_password_check = False

부울 값

true로 설정하면 암호 조작을 위해 엄격한 암호 길이 확인이 수행됩니다. 암호가 최대 길이를 초과하면 HTTP 403 Forbidden 오류와 함께 작업이 실패합니다. false로 설정하면 암호가 최대 길이로 자동 잘립니다.

syslog-log-facility = LOG_USER

문자열 값

로그 라인을 수신하기 위한 syslog 기능. log_config_append가 설정된 경우 이 옵션은 무시됩니다.

transport_url = rabbit://

문자열 값

메시징 백엔드에 연결하기 위한 네트워크 주소 및 선택적 사용자 인증 정보(URL 형식입니다. 예상되는 형식은 다음과 같습니다.

driver://[user:pass@]host:port[,[userN:passN@]hostN:portN]/virtual_host?query

예: rabbit://rabbitmq:password@127.0.0.1:5672//

URL의 필드에 대한 자세한 내용은 https://docs.openstack.org/oslo.messaging/latest/reference/transport.html에서 oslo_messaging.TransportURL 문서를 참조하십시오.

use-journal = False

부울 값

로깅을 위해 journald를 활성화합니다. systemd 환경에서 실행하는 경우 저널 지원을 활성화할 수 있습니다. 이렇게 하면 로그 메시지 외에도 구조화된 메타데이터를 포함하는 저널 네이티브 프로토콜을 사용합니다. log_config_append가 설정된 경우 이 옵션은 무시됩니다.

use-json = False

부울 값

로깅에 JSON 형식을 사용합니다. log_config_append가 설정된 경우 이 옵션은 무시됩니다.

use-syslog = False

부울 값

로깅에 syslog를 사용합니다. 기존 syslog 형식은 DEPRECATED이며 나중에 RFC5424를 준수하도록 변경됩니다. log_config_append가 설정된 경우 이 옵션은 무시됩니다.

use_eventlog = False

부울 값

Windows 이벤트 로그에 대한 로그 출력입니다.

use_stderr = False

부울 값

표준 오류로 출력됩니다. log_config_append가 설정된 경우 이 옵션은 무시됩니다.

watch-log-file = False

부울 값

파일 시스템을 조사하도록 설계된 로깅 처리기를 사용합니다. 로그 파일이 이동 또는 제거되면 이 처리기는 지정된 경로가 있는 새 로그 파일을 즉시 엽니다. log_file 옵션이 지정되고 Linux 플랫폼이 사용되는 경우에만 의미가 있습니다. log_config_append가 설정된 경우 이 옵션은 무시됩니다.

7.1.2. application_credential

다음 표에는 /etc/keystone/keystone.conf 파일의 [application_credential] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.1. application_credential
구성 옵션 = 기본값유형설명

cache_time = None

정수 값

애플리케이션 인증 정보 데이터를 초 단위로 캐시하는 시간입니다. 이는 글로벌 캐싱이 활성화되지 않는 한 적용되지 않습니다.

caching = True

부울 값

애플리케이션 인증 정보 캐싱을 전환합니다. 이는 글로벌 캐싱이 활성화되지 않는 한 적용되지 않습니다.

driver = sql

문자열 값

keystone.application_credential 네임스페이스의 애플리케이션 인증 정보 백엔드 드라이버의 진입점입니다. Keystone에서는 sql 드라이버만 제공하므로 사용자 정의 진입점을 제공하지 않는 한 이 값을 변경할 이유가 없습니다.

user_limit = -1

정수 값

사용자가 생성할 수 있는 최대 애플리케이션 자격 증명 수입니다. 값 -1은 무제한을 의미합니다. 제한이 설정되지 않은 경우 사용자는 원하는 대로 애플리케이션 자격 증명을 만들 수 있으므로 keystone 데이터베이스의 bloat 또는 open keystone이 DoS 공격으로 이어질 수 있습니다.

7.1.3. 할당

다음 표에는 /etc/keystone/keystone.conf 파일의 [assignment] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.2. 할당
구성 옵션 = 기본값유형설명

driver = sql

문자열 값

keystone.assignment 네임스페이스에 할당 백엔드 드라이버의 진입점(역할 할당이 저장되는 위치)입니다. keystone 자체에서 SQL 드라이버만 제공됩니다. keystone용 독점 드라이버를 작성하지 않는 한 이 옵션을 설정할 필요가 없습니다.

prohibited_implied_role = ['admin']

목록 값

암시적 역할이 되는 것을 금지하는 역할 이름 목록입니다.

7.1.4. auth

다음 표에는 /etc/keystone/keystone.conf 파일의 [auth] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.3. auth
구성 옵션 = 기본값유형설명

application_credential = None

문자열 값

keystone.auth.application_credential 네임스페이스의 application_credential 인증 플러그인 모듈의 진입점입니다. keystone의 자체 application_credential 인증 플러그인을 덮어쓰지 않는 한 이 설정을 설정할 필요가 없습니다.

external = None

문자열 값

keystone.auth.external 네임스페이스의 외부(REMOTE_USER) 인증 플러그인 모듈의 진입점입니다. 제공된 드라이버는 DefaultDomainDomain 입니다. 기본 드라이버는 REMOTE_USER 변수에서 keystone에 지정된 사용자 이름으로 식별된 모든 사용자가 기본 도메인의 컨텍스트 내에 있다고 가정합니다. Domain 옵션은 REMOTE_USER 의 도메인 이름이 포함된 keystone REMOTE_DOMAIN 에 추가 환경 변수가 제공될 것으로 예상합니다( REMOTE_DOMAIN 이 설정되지 않은 경우 대신 기본 도메인이 사용됩니다). 애플리케이션 서버(예: Apache)가 keystone 대신 인증을 처리하는 "외부 인증"을 활용하지 않는 한 이 설정을 설정할 필요가 없습니다.

mapped = None

문자열 값

keystone.auth.mapped 네임스페이스에 매핑된 인증 플러그인 모듈의 진입점입니다. keystone의 자체 매핑된 인증 플러그인을 재정의하지 않는 한 이 설정을 설정할 필요가 없습니다.

methods = ['external', 'password', 'token', 'oauth1', 'mapped', 'application_credential']

목록 값

허용된 인증 방법입니다. 참고: 현재 페더레이션을 사용하는 경우 외부 인증 방법을 비활성화해야 합니다. 외부 인증 및 페더레이션은 모두 REMOTE_USER 변수를 사용합니다. 매핑된 플러그인과 외부 플러그인이 모두 요청 환경에서 특성을 검증하기 위해 호출되므로 충돌이 발생할 수 있습니다.

oauth1 = None

문자열 값

keystone.auth.oauth1 네임스페이스의 OAuth 1.0a 인증 플러그인 모듈의 진입점입니다. keystone의 자체 oauth1 인증 플러그인을 덮어쓰지 않는 한 이 설정을 설정할 필요가 없습니다.

password = None

문자열 값

keystone.auth.password 네임스페이스에 있는 password auth 플러그인 모듈의 진입점입니다. keystone의 고유한 암호 인증 플러그인을 덮어쓰지 않는 한 이 설정을 설정할 필요가 없습니다.

token = None

문자열 값

keystone.auth.token 네임스페이스의 토큰 인증 플러그인 모듈의 진입점입니다. keystone의 자체 토큰 인증 플러그인을 덮어쓰지 않는 한 이 설정을 설정할 필요가 없습니다.

7.1.5. 캐시

다음 표에는 /etc/keystone/keystone.conf 파일의 [cache] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.4. 캐시
구성 옵션 = 기본값유형설명

backend = dogpile.cache.null

문자열 값

캐시 백엔드 모듈. eventlet 기반 또는 수백 개의 스레드 서버가 있는 환경의 경우 pooling(oslo_cache.memcache_pool)을 사용하는 Memcache가 권장됩니다. 스레드 서버가 100개 미만인 환경의 경우 Memcached(dogpile.cache.memcached) 또는 Redis(dogpile.cache.redis)가 권장됩니다. 단일 서버 인스턴스가 있는 테스트 환경에서는 dogpile.cache.memory 백엔드를 사용할 수 있습니다.

backend_argument = []

다중 값

backend 모듈에 제공된 인수입니다. dogpile.cache 백엔드에 전달할 인수당 한 번 이 옵션을 지정합니다. 예제 형식: "<argname>:<value>".

config_prefix = cache.oslo

문자열 값

캐시 리전의 구성 사전을 빌드하는 접두사입니다. 동일한 구성 이름이 있는 다른 dogpile.cache 리전이 없으면 이 작업을 변경할 필요가 없습니다.

dead_timeout = 60

부동 소수점 값

HashClient의 내부 메커니즘에서 풀에 노드를 다시 추가하려고 시도하기 전의 시간(초)입니다.

debug_cache_backend = False

부울 값

캐시 백엔드에서 추가 디버깅(캐시 키, get/set/delete/etc 호출). 이는 키/값으로 특정 cache-backend get/set/delete 호출을 확인해야 하는 경우에만 유용합니다. 일반적으로 이 값은 false로 설정되어야 합니다.

enable_retry_client = False

부울 값

재시도 클라이언트 메커니즘을 활성화하여 오류를 처리할 수 있습니다. 이러한 메커니즘을 사용하여 모든 종류의 pymemcache 클라이언트를 래핑할 수 있습니다. 래퍼를 사용하면 시도 횟수와 attemots 간에 대기하는 시간을 정의할 수 있습니다.

enable_socket_keepalive = False

부울 값

dogpile의 pymemcache 백엔드의 소켓 keepalive에 대한 글로벌 토글

enabled = True

부울 값

캐싱을 위한 글로벌 토글.

expiration_time = 600

정수 값

dogpile.cache 리전의 캐시된 항목에 대한 기본 TTL(초)입니다. 이는 명시적 캐시 만료 시간이 정의되지 않은 캐시된 메서드에 적용됩니다.

hashclient_retry_attempts = 2

정수 값

클라이언트가 dead로 표시되고 HashClient의 내부 메커니즘의 풀에서 제거되기 전에 클라이언트가 시도해야 하는 횟수입니다.

hashclient_retry_delay = 1

부동 소수점 값

HashClient의 내부 메커니즘에서 재시도 시도 사이에 경과해야 하는 시간(초)입니다.

memcache_dead_retry = 300

정수 값

memcached 서버는 다시 시도하기 전에 dead로 간주됩니다. (dogpile.cache.memcache 및 oslo_cache.memcache_pool 백엔드만 해당).

`memcache_password = `

문자열 값

SASL이 활성화된 memcached의 암호

memcache_pool_connection_get_timeout = 10

정수 값

memcache 클라이언트 연결을 얻기 위해 작업이 대기하는 시간(초)입니다.

memcache_pool_flush_on_reconnect = False

부울 값

memcache가 다시 연결할 때 플러시되는 경우 글로벌 토글입니다. (oslo_cache.memcache_pool 백엔드만 해당).

memcache_pool_maxsize = 10

정수 값

모든 memcached 서버에 대한 최대 열려 있는 연결 수입니다. (oslo_cache.memcache_pool 백엔드만 해당).

memcache_pool_unused_timeout = 60

정수 값

memcached에 대한 연결이 닫히기 전에 풀에서 사용되지 않은 상태로 유지되는 시간(초)입니다(oslo_cache.memcache_pool 백엔드만).

memcache_sasl_enabled = False

부울 값

SASL_enable이 true인 경우 SASL(Simple Authentication 및 SecurityLayer)을 활성화합니다.

memcache_servers = ['localhost:11211']

목록 값

memcache 서버는 "host:port" 형식으로 되어 있습니다. Memcached.If dogpile.cache.memcached 또는 oslo_cache.memcache_pool 에 종속된 백엔드에서 사용되며, 지정된 호스트는 IPv6를 참조하거나 지정된 도메인의 접두사를 주소 제품군(inet6 )(예: inet6[::1]:11211 )으로 붙여야 합니다. inet6:[fd12:3456:789a:1::1]:11211,inet6:[controller-0.internalapi]:11211). 주소 제품군을 지정하지 않으면 이러한 백엔드는 IPv4에 해당하는 기본 inet 주소 제품군을 사용합니다.

memcache_socket_timeout = 1.0

부동 소수점 값

서버에 대한 호출마다 시간 초과입니다. (dogpile.cache.memcache 및 oslo_cache.memcache_pool 백엔드만 해당).

`memcache_username = `

문자열 값

SASL이 활성화된 memcached의 사용자 이름

프록시 = []

목록 값

dogpile.cache 백엔드의 기능에 영향을 주는 프록시 클래스를 가져옵니다. Change-backend-behavior에 대한 dogpile.cache 설명서를 참조하십시오.

retry_attempts = 2

정수 값

실패 전에 작업을 시도하는 횟수입니다.

retry_delay = 0

부동 소수점 값

각 시도 사이에 잠자는 시간(초)입니다.

socket_keepalive_count = 1

정수 값

연결을 삭제하기 전에 TCP를 보내야 하는 최대 keepalive 프로브 수입니다. 0보다 큰 양의 정수여야 합니다.

socket_keepalive_idle = 1

정수 값

TCP가 keepalive 프로브 전송을 시작하기 전에 연결이 유휴 상태로 유지되어야 하는 시간(초)입니다. 0보다 큰 양의 정수여야 합니다.

socket_keepalive_interval = 1

정수 값

개별 keepalive 프로브 간의 시간(초)입니다. 0보다 큰 양의 정수여야 합니다.

tls_allowed_ciphers = None

문자열 값

TLS 컨텍스트로 생성된 소켓에 사용 가능한 암호를 설정합니다. OpenSSL 암호화 목록 형식의 문자열이어야 합니다. 지정하지 않으면 OpenSSL이 활성화된 모든 암호를 사용할 수 있습니다.

tls_cafile = None

문자열 값

캐싱 서버의 신뢰성을 설정하는 데 필요한 PEM 형식의 연결된 CA 인증서 파일의 경로입니다. tls_enabled가 False이면 이 옵션은 무시됩니다.

tls_certfile = None

문자열 값

클라이언트 인증서와 인증서의 진위를 설정하는 데 필요한 모든 CA 인증서가 포함된 PEM 형식의 단일 파일의 경로입니다. 이 파일은 클라이언트 측 인증이 필요한 경우에만 필요합니다. tls_enabled가 False이면 이 옵션은 무시됩니다.

tls_enabled = False

부울 값

캐싱 서버와 묶을 때 TLS 사용에 대한 글로벌 토글.

tls_keyfile = None

문자열 값

클라이언트의 개인 키가 포함된 단일 파일의 경로입니다. 그렇지 않으면 tls_certfile에 지정된 파일에서 개인 키를 가져옵니다. tls_enabled가 False이면 이 옵션은 무시됩니다.

7.1.6. catalog

다음 표에는 /etc/keystone/keystone.conf 파일의 [catalog] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.5. catalog
구성 옵션 = 기본값유형설명

cache_time = None

정수 값

카탈로그 데이터를 캐시하는 시간(초)입니다. 이는 글로벌 및 카탈로그 캐싱이 모두 활성화되어 있지 않는 한 적용되지 않습니다. 카탈로그 데이터(서비스, 끝점 등)는 일반적으로 자주 변경되지 않으므로 글로벌 기본값보다 더 긴 기간이 바람직할 수 있습니다.

caching = True

부울 값

카탈로그 캐싱을 위해 토글합니다. 이는 글로벌 캐싱이 활성화되지 않는 한 적용되지 않습니다. 일반적인 배포에서는 이를 비활성화할 이유가 없습니다.

driver = sql

문자열 값

keystone.catalog 네임스페이스의 카탈로그 드라이버 진입점입니다. Keystone은 SQL을 통해 기본 CRUD 작업을 지원하는 sql 옵션, 템플릿 옵션(디스크의 템플릿 카탈로그 파일에서 카탈로그를 로드) 및 프로젝트당 임의의 서비스 카탈로그를 지원하는 endpoint_filter.sql 옵션을 제공합니다.

list_limit = None

정수 값

카탈로그 컬렉션에 반환되는 최대 엔터티 수입니다. 일반적으로 이 설정을 설정할 이유는 없습니다. 배포 시 적절한 제한을 초과할 수 있는 충분한 서비스 또는 끝점이 있는 경우가 드물기 때문입니다.

template_file = default_catalog.templates

문자열 값

템플릿이 지정된 카탈로그 백엔드에 사용되는 파일의 절대 경로입니다. 이 옵션은 [catalog] 드라이버templated 로 설정된 경우에만 사용됩니다.

7.1.7. CORS

다음 표에는 /etc/keystone/keystone.conf 파일의 [cors] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.6. CORS
구성 옵션 = 기본값유형설명

allow_credentials = True

부울 값

실제 요청에 사용자 인증 정보를 포함할 수 있음을 나타냅니다.

allow_headers = ['X-Auth-Token', 'X-Openstack-Request-Id', 'X-Subject-Token', 'X-Project-Id', 'X-Project-Name', 'X-Project-Domain-Domain-Name', 'X-Project-Domain-Name', 'X-Domain-Id', 'X-Domain-Name', 'X-Domain-Name', 'X-Subject-Token', 'X-Project-Domain-Name', 'X-Domain-Id', 'X-Domain-Id', 'X-Project-Domain-Id', 'X-Project-Domain-Name', 'X-Domain-Id', 'X-Domain-Name', 'X-Domain-Name', 'X-Domain-name', 'X-Domain-name', 'X-Subject-Token', 'X-Project-Domain-Name', 'X-Domain-Id', 'X-Domain-Id', 'X-Domain-Name', 'X-Domain-Name', 'X-Domain-Name', 'X-Subject-Token', 'X-Subject-Token', 'X-Project-Id', 'X-Project-Domain-Id', 'X-Project-Domain-Id'

목록 값

실제 요청 중에 사용할 수 있는 헤더 필드 이름을 나타냅니다.

allow_methods = ['GET', 'PUT', 'POST', 'DELETE', 'PATCH']

목록 값

실제 요청 중에 사용할 수 있는 메서드를 나타냅니다.

allowed_origin = None

목록 값

requests "origin" 헤더에서 수신된 도메인과 이 리소스를 공유할 수 있는지 여부를 나타냅니다. 형식: "<protocol>://<host>[:<port>]", 후행 슬래시가 없습니다. 예: https://horizon.example.com

expose_headers = ['X-Auth-Token', 'X-Openstack-Request-Id', 'X-Subject-Token', 'Openstack-Auth-Receipt']

목록 값

API에 안전하게 노출할 수 있는 헤더를 나타냅니다. 기본값은 HTTP Simple Headers입니다.

max_age = 3600

정수 값

CORS 사전 실행 요청의 최대 캐시 기간입니다.

7.1.8. 인증 정보

다음 표에는 /etc/keystone/keystone.conf 파일의 [credential] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.7. 인증 정보
구성 옵션 = 기본값유형설명

auth_ttl = 15

정수 값

서명된 EC2 또는 S3 토큰 요청이 토큰 요청에 포함된 타임스탬프에서 유효한 시간(분)입니다.

cache_time = None

정수 값

인증 정보 데이터를 초 단위로 캐시하는 시간입니다. 이는 글로벌 캐싱이 활성화되지 않는 한 적용되지 않습니다.

caching = True

부울 값

사용자 인증 정보를 검색할 때만 캐싱을 전환합니다. 이는 글로벌 캐싱이 활성화되지 않는 한 적용되지 않습니다.

driver = sql

문자열 값

keystone.credential 네임스페이스의 인증 정보 백엔드 드라이버의 진입점입니다. Keystone은 sql 드라이버만 제공하므로 사용자 정의 진입점을 제공하지 않는 한 이 값을 변경할 이유가 없습니다.

key_repository = /etc/keystone/credential-keys/

문자열 값

인증 정보 백엔드에 저장된 자격 증명을 암호화하고 해독하는 데 사용되는 Cryostat 키가 포함된 디렉터리입니다. 자격 증명을 암호화하는 데 사용되는 Cryostat 키에는 Cryostat 토큰을 암호화하는 데 사용되는 Cryostat 키와 관계가 없습니다. 두 키 세트 모두 별도로 관리해야 하며 다른 순환 정책이 필요합니다. 이 리포지토리는 Cryostat 토큰의 키를 관리하는 데 사용되는 리포지토리와 공유하지 마십시오.

provider = fernet

문자열 값

keystone.credential.provider 네임스페이스의 인증 정보 암호화 및 암호 해독 작업의 진입점입니다. Keystone에서는 fernet 드라이버만 제공하므로 인증 정보를 암호화하고 해독할 사용자 지정 진입점을 제공하지 않는 한 이 드라이버를 변경할 이유가 없습니다.

user_limit = -1

정수 값

사용자가 생성할 수 있는 최대 인증 정보 수입니다. 값 -1은 무제한을 의미합니다. 제한을 설정하지 않으면 사용자가 자격 증명을 만들 수 있으므로 keystone 데이터베이스의 bloat 또는 open keystone이 DoS 공격으로 이어질 수 있습니다.

7.1.9. database

다음 표에는 /etc/keystone/keystone.conf 파일의 [database] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.8. database
구성 옵션 = 기본값유형설명

backend = sqlalchemy

문자열 값

데이터베이스에 사용할 백엔드입니다.

connection = None

문자열 값

데이터베이스에 연결하는 데 사용할 SQLAlchemy 연결 문자열입니다.

connection_debug = 0

정수 값

SQL 디버깅 정보의 상세 정보: 0=None, 100=Everything.

`connection_parameters = `

문자열 값

연결 URL에 추가할 선택적 URL 매개변수입니다. param1=value1&param2=value2&…​로 지정합니다.

connection_recycle_time = 3600

정수 값

이 시간(초)보다 긴 연결 풀에 있는 연결은 다음 풀에서 체크아웃할 때 새 연결로 교체됩니다.

connection_trace = False

부울 값

SQL에 Python 스택 추적을 주석 문자열로 추가합니다.

db_inc_retry_interval = True

부울 값

True인 경우 데이터베이스 작업을 최대 db_max_retry_interval까지 재시도하는 간격을 늘립니다.

db_max_retries = 20

정수 값

오류가 발생하기 전에 연결 오류 또는 교착 상태 오류의 경우 최대 재시도 횟수입니다. 무한 재시도 횟수를 지정하려면 -1로 설정합니다.

db_max_retry_interval = 10

정수 값

db_inc_retry_interval이 설정된 경우 데이터베이스 작업 재시도 사이의 최대 초입니다.

db_retry_interval = 1

정수 값

데이터베이스 트랜잭션을 재시도하는 사이의 초입니다.

max_overflow = 50

정수 값

설정된 경우 SQLAlchemy와 max_overflow에 이 값을 사용합니다.

max_pool_size = 5

정수 값

풀에서 열 수 있는 최대 SQL 연결 수입니다. 값을 0으로 설정하면 제한이 없음을 나타냅니다.

max_retries = 10

정수 값

시작하는 동안 데이터베이스 연결 다시 시도의 최대 수입니다. 무한 재시도 횟수를 지정하려면 -1로 설정합니다.

mysql_enable_ndb = False

부울 값

True인 경우 MySQL Cluster(NDB) 처리 지원을 투명하게 활성화합니다. 12.1.0 이후 더 이상 사용되지 않음

*reason:* MySQL NDB 클러스터 스토리지 엔진에 대한 지원은 더 이상 사용되지 않으며 향후 릴리스에서 제거됩니다.

mysql_sql_mode = TRADITIONAL

문자열 값

MySQL 세션에 사용할 SQL 모드입니다. 기본값을 포함하여 이 옵션은 서버 세트 SQL 모드를 덮어씁니다. 서버 구성에 의해 설정된 모든 SQL 모드를 사용하려면 이 모드를 값 없음으로 설정합니다. Example: mysql_sql_mode=

mysql_wsrep_sync_wait = None

정수 값

Galera 전용의 경우 새 연결에 대해 wsrep_sync_wait causality 검사를 구성합니다. 기본값은 None입니다. 즉, 설정을 구성하지 않습니다.

pool_timeout = None

정수 값

설정된 경우 SQLAlchemy와 함께 pool_timeout에 이 값을 사용합니다.

retry_interval = 10

정수 값

SQL 연결을 여는 재시도 간격입니다.

slave_connection = None

문자열 값

슬레이브 데이터베이스에 연결하는 데 사용할 SQLAlchemy 연결 문자열입니다.

sqlite_synchronous = True

부울 값

True인 경우 SQLite는 동기 모드를 사용합니다.

use_db_reconnect = False

부울 값

연결이 끊어진 연결에서 다시 연결되는 데이터베이스의 실험적 사용을 활성화합니다.

7.1.10. domain_config

다음 표에는 /etc/keystone/keystone.conf 파일의 [domain_config] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.9. domain_config
구성 옵션 = 기본값유형설명

cache_time = 300

정수 값

TTL(Time-to-live)을 사용하여 도메인별 구성 데이터를 캐시합니다. 이는 [domain_config] 캐싱 이 활성화되지 않는 한 영향을 미치지 않습니다.

caching = True

부울 값

도메인별 구성 백엔드의 캐싱을 위해 토글을 전환합니다. 이는 글로벌 캐싱이 활성화되지 않는 한 적용되지 않습니다. 일반적으로 이를 비활성화할 이유가 없습니다.

driver = sql

문자열 값

keystone.resource.domain_config 네임스페이스의 도메인별 구성 드라이버의 진입점입니다. keystone에서 sql 옵션만 제공되므로 사용자 지정 진입점을 제공하지 않는 한 이 값을 설정할 이유가 없습니다.

7.1.11. endpoint_filter

다음 표에는 /etc/keystone/keystone.conf 파일의 [endpoint_filter] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.10. endpoint_filter
구성 옵션 = 기본값유형설명

driver = sql

문자열 값

keystone.endpoint_filter 네임스페이스의 엔드포인트 필터 드라이버의 진입점입니다. keystone에서 sql 옵션만 제공되므로 사용자 지정 진입점을 제공하지 않는 한 이 값을 설정할 이유가 없습니다.

return_all_endpoints_if_no_filter = True

부울 값

구성된 엔드포인트 필터로 인해 사용자 + 프로젝트 쌍에 대한 엔드포인트가 발생하지 않고 잠재적으로 빈 서비스 카탈로그가 있으면 keystone의 동작을 제어합니다. true로 설정하면 keystone에서 전체 서비스 카탈로그를 반환합니다. false로 설정하면 keystone에서 빈 서비스 카탈로그를 반환합니다.

7.1.12. endpoint_policy

다음 표에는 /etc/keystone/keystone.conf 파일의 [endpoint_policy] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.11. endpoint_policy
구성 옵션 = 기본값유형설명

driver = sql

문자열 값

keystone.endpoint_policy 네임스페이스에 있는 엔드포인트 정책 드라이버의 진입점입니다. keystone에서 sql 드라이버만 제공되므로 사용자 지정 진입점을 제공하지 않는 한 이 값을 설정할 이유가 없습니다.

7.1.13. eventlet_server

다음 표에는 /etc/keystone/keystone.conf 파일의 [eventlet_server] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.12. eventlet_server
구성 옵션 = 기본값유형설명

admin_bind_host = 0.0.0.0

호스트 주소 값

admin 서비스가 수신 대기할 네트워크 인터페이스의 IP 주소입니다. 이후 더 이상 사용되지 않음: K

*reason:* eventlet에서 keystone 실행에 대한 지원이 Newton 릴리스에서 제거되었습니다. 이러한 옵션은 URL 대체에 사용되므로 이전 버전과의 호환성을 유지합니다.

admin_port = 35357

포트 값

admin 서비스가 수신 대기할 포트 번호입니다. 이후 더 이상 사용되지 않음: K

*reason:* eventlet에서 keystone 실행에 대한 지원이 Newton 릴리스에서 제거되었습니다. 이러한 옵션은 URL 대체에 사용되므로 이전 버전과의 호환성을 유지합니다.

public_bind_host = 0.0.0.0

호스트 주소 값

공용 서비스가 수신 대기할 네트워크 인터페이스의 IP 주소입니다. 이후 더 이상 사용되지 않음: K

*reason:* eventlet에서 keystone 실행에 대한 지원이 Newton 릴리스에서 제거되었습니다. 이러한 옵션은 URL 대체에 사용되므로 이전 버전과의 호환성을 유지합니다.

public_port = 5000

포트 값

공용 서비스가 수신 대기할 포트 번호입니다. 이후 더 이상 사용되지 않음: K

*reason:* eventlet에서 keystone 실행에 대한 지원이 Newton 릴리스에서 제거되었습니다. 이러한 옵션은 URL 대체에 사용되므로 이전 버전과의 호환성을 유지합니다.

7.1.14. 페더레이션

다음 표에는 /etc/keystone/keystone.conf 파일의 [federation] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.13. 페더레이션
구성 옵션 = 기본값유형설명

`assertion_prefix = `

문자열 값

페더레이션 어설션에 대한 환경 변수 이름을 필터링할 때 사용할 접두사입니다. 일치된 변수는 페더레이션 매핑 엔진에 전달됩니다.

caching = True

부울 값

페더레이션 캐싱을 전환합니다. 이는 글로벌 캐싱이 활성화되지 않는 한 적용되지 않습니다. 일반적으로 이를 비활성화할 이유가 없습니다.

default_authorization_ttl = 0

정수 값

매핑에서 전달되는 그룹 멤버십의 유효성에 대한 기본 시간(분)입니다. 기본값은 0이며 이는 비활성화됨을 의미합니다.

driver = sql

문자열 값

keystone.federation 네임스페이스에서 페더레이션 백엔드 드라이버의 진입점입니다. Keystone에서는 sql 드라이버만 제공하므로 사용자 정의 진입점을 제공하지 않는 한 이 옵션을 설정할 이유가 없습니다.

federated_domain_name = Federated

문자열 값

페더레이션 임시 사용자가 도메인 개념을 가질 수 있도록 예약된 임의의 도메인 이름입니다. 관리자는 이 이름으로 도메인을 생성하거나 기존 도메인을 이 이름으로 업데이트할 수 없습니다. 실제로 필요하지 않는 한 이 값을 변경하지 않는 것이 좋습니다. 이후 더 이상 사용되지 않음: T

*reason:* 이 옵션은 ID 공급자의 도메인에 있는 임시 사용자로 대체되었습니다.

remote_id_attribute = None

문자열 값

환경에서 ID 공급자의 엔터티 ID를 가져오는 데 사용되는 모든 프로토콜의 기본값입니다. mod_shib 의 경우 Shib-Identity-Provider 입니다. mod_auth_openidc 의 경우 HTTP_OIDC_ISS 가 될 수 있습니다. mod_auth_mellon 의 경우 MELLON_IDP 입니다. 이는 API를 사용하여 remote_id_attribute 를 페더레이션 프로토콜에 제공하여 프로토콜별로 재정의할 수 있습니다.

sso_callback_template = /etc/keystone/sso_callback_template.html

문자열 값

Single Sign-On 콜백 처리기로 사용되는 HTML 파일의 절대 경로입니다. 이 페이지는 POST 요청에서 토큰을 인코딩하여 keystone에서 신뢰할 수 있는 대시보드 호스트로 다시 사용자를 리디렉션해야 합니다. Keystone의 기본값은 대부분의 배포에 충분합니다.

trusted_dashboard = []

다중 값

신뢰할 수 있는 대시보드 호스트 목록입니다. 토큰을 반환하기 위해 Single Sign-On 요청을 수락하기 전에 원본 호스트가 이 목록의 멤버여야 합니다. 이 구성 옵션은 여러 값에 대해 반복될 수 있습니다. 웹 기반 SSO 흐름을 사용하려면 이를 설정해야 합니다. 예: trusted_dashboard=https://acme.example.com/auth/websso trusted_dashboard=https://beta.example.com/auth/websso

7.1.15. fernet_receipts

다음 표에는 /etc/keystone/keystone.conf 파일의 [fernet_receipts] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.14. fernet_receipts
구성 옵션 = 기본값유형설명

key_repository = /etc/keystone/fernet-keys/

문자열 값

Cryostat 영수증 키가 포함된 디렉터리입니다. 이 디렉터리는 keystone-manage fernet_setup 을 처음 사용하기 전에 있어야 하며 keystone-manage fernet_setup 또는 keystone-manage fernet_rotate 를 실행하는 사용자가 쓸 수 있어야 하며, keystone의 서버 프로세스에서 읽을 수 있어야 합니다. 리포지토리에는 수신 검증에 사용되는 단일 준비 키(항상 인덱스 0), 수신 생성 및 검증에 사용되는 단일 기본 키(상위 인덱스 0) 및 수신 검증에 사용되는 임의의 수의 보조 키(모든 다른 인덱스 값) 중 하나로 키가 포함될 수 있습니다. 여러 keystone 노드를 사용하는 경우 준비 키(index 0)를 제외하고 각 노드에서 동일한 키 리포지토리 콘텐츠를 공유해야 합니다. 하나의 노드에서 keystone-manage fernet_rotate 를 한 번 실행하여 준비 키(index 0)를 새 기본 키(이전의 가장 높은 인덱스에서 제외)로 승격하고 새 준비 키(index 0이 있는 새 키)를 생성하는 것이 안전합니다. 결과 리포지토리는 경쟁 조건(예: 경쟁 조건) 없이 다른 노드에 원자적으로 복제될 수 있습니다. 호스트 A에서 keystone-manage fernet_rotate 를 실행하고, 시간을 기다린 후 호스트 A에 디렉터리의 tarball을 만들고, 호스트 B에서 임시 위치로 압축을 풀고, 디렉터리를 호스트 B에 배치한 원자적으로 이동(mv)하는 것이 안전합니다. 다른 노드를 동기화하지 않고 키 리포지토리에서 keystone-manage fernet_rotate두 번 실행하면 모든 노드에서 유효성을 검사할 수 없습니다.

max_active_keys = 3

정수 값

이렇게 하면 삭제되기 전에 keystone-manage fernet_rotate 로 순환할 때 유지되는 키 수가 제어됩니다. 3의 기본값은 keystone이 하나의 준비 키(항상 인덱스 0), 하나의 기본 키(가장 높은 숫자 인덱스)와 하나의 보조 키(다른 인덱스)를 유지함을 의미합니다. 이 값을 늘리면 추가 보조 키가 교체에 유지됩니다.

7.1.16. fernet_tokens

다음 표에는 /etc/keystone/keystone.conf 파일의 [fernet_tokens] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.15. fernet_tokens
구성 옵션 = 기본값유형설명

key_repository = /etc/keystone/fernet-keys/

문자열 값

Cryostat 토큰 키가 포함된 디렉터리입니다. 이 디렉터리는 keystone-manage fernet_setup 을 처음 사용하기 전에 있어야 하며 keystone-manage fernet_setup 또는 keystone-manage fernet_rotate 를 실행하는 사용자가 쓸 수 있어야 하며, keystone의 서버 프로세스에서 읽을 수 있어야 합니다. 리포지토리에는 토큰 유효성 검사에 사용되는 단일 준비 키(항상 인덱스 0), 토큰 생성 및 검증에 사용되는 단일 기본 키(상위 인덱스 0) 및 토큰 검증에 사용되는 모든 보조 키(모든 다른 인덱스 값) 중 하나로 키가 포함될 수 있습니다. 여러 keystone 노드를 사용하는 경우 준비 키(index 0)를 제외하고 각 노드에서 동일한 키 리포지토리 콘텐츠를 공유해야 합니다. 하나의 노드에서 keystone-manage fernet_rotate 를 한 번 실행하여 준비 키(index 0)를 새 기본 키(이전의 가장 높은 인덱스에서 제외)로 승격하고 새 준비 키(index 0이 있는 새 키)를 생성하는 것이 안전합니다. 결과 리포지토리는 경쟁 조건(예: 경쟁 조건) 없이 다른 노드에 원자적으로 복제될 수 있습니다. 호스트 A에서 keystone-manage fernet_rotate 를 실행하고, 시간을 기다린 후 호스트 A에 디렉터리의 tarball을 만들고, 호스트 B에서 임시 위치로 압축을 풀고, 디렉터리를 호스트 B에 배치한 원자적으로 이동(mv)하는 것이 안전합니다. 다른 노드를 동기화하지 않고 키 리포지토리에서 keystone-manage fernet_rotate두 번 실행하면 모든 노드에서 유효성을 검사할 수 없는 토큰이 생성됩니다.

max_active_keys = 3

정수 값

이렇게 하면 삭제되기 전에 keystone-manage fernet_rotate 로 순환할 때 유지되는 키 수가 제어됩니다. 3의 기본값은 keystone이 하나의 준비 키(항상 인덱스 0), 하나의 기본 키(가장 높은 숫자 인덱스)와 하나의 보조 키(다른 인덱스)를 유지함을 의미합니다. 이 값을 늘리면 추가 보조 키가 교체에 유지됩니다.

7.1.17. Healthcheck

다음 표에는 /etc/keystone/keystone.conf 파일의 [healthcheck] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.16. Healthcheck
구성 옵션 = 기본값유형설명

backends = []

목록 값

상태 점검을 수행하고 해당 정보를 요청의 일부로 다시 보고할 수 있는 추가 백엔드입니다.

세부 정보 = False

부울 값

더 자세한 정보를 응답의 일부로 표시합니다. 보안 참고: 이 옵션을 활성화하면 모니터링 중인 서비스에 대한 민감한 세부 정보가 노출될 수 있습니다. 보안 정책을 위반하지 않는지 확인하십시오.

disable_by_file_path = None

문자열 값

파일이 있는지 확인하여 애플리케이션에서 포트에서 실행 중인지 확인합니다. DisableByFileHealthcheck 플러그인에서 사용합니다.

disable_by_file_paths = []

목록 값

포트에 따라 파일이 있는지 확인하여 애플리케이션이 포트에서 실행 중인지 확인합니다. 문자열 "port:path" 목록이 있어야 합니다. DisableByFilesPortsHealthcheck 플러그인에서 사용합니다.

path = /healthcheck

문자열 값

복구 요청에 응답하는 경로입니다.

7.1.18. ID

다음 표에는 /etc/keystone/keystone.conf 파일의 [identity] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.17. ID
구성 옵션 = 기본값유형설명

cache_time = 600

정수 값

ID 데이터를 캐시하는 시간(초)입니다. 이는 글로벌 및 ID 캐싱이 활성화된 경우를 제외하고 적용되지 않습니다.

caching = True

부울 값

ID 캐싱을 위해 토글합니다. 이는 글로벌 캐싱이 활성화되지 않는 한 적용되지 않습니다. 일반적으로 이를 비활성화할 이유가 없습니다.

default_domain_id = default

문자열 값

이는 도메인을 인식하지 못하는 모든 ID API v2 요청(도메인을 인식하지 못하는)에 사용할 도메인을 참조합니다. 이 ID를 사용하는 도메인은 keystone-manage 부트스트랩 을 통해 선택적으로 생성할 수 있습니다. 이 ID에서 참조하는 도메인은 실수로 v2 API가 손상되지 않도록 v3 API에서 삭제할 수 없습니다. v2 클라이언트에 대한 지원을 유지하기 위해 존재해야 한다는 사실 외에는 이 도메인에 대해 특별한 것은 없습니다. 일반적으로 이 값을 변경할 이유가 없습니다.

domain_config_dir = /etc/keystone/domains

문자열 값

keystone이 도메인별 [identity] 구성 파일을 찾아야 하는 절대 경로입니다. [identity] domain_specific_drivers_enabled 가 true로 설정되어 있지 않으면 이 옵션은 적용되지 않습니다. 일반적으로 이 값을 변경할 이유가 없습니다.

domain_configurations_from_database = False

부울 값

기본적으로 도메인별 구성 데이터는 [identity] domain_config_dir 로 식별되는 디렉터리의 파일에서 읽습니다. 이 구성 옵션을 사용하면 디스크에서 구성 파일을 사용하는 대신 백엔드(일반적으로 SQL 데이터베이스)에 유지되는 API를 통해 도메인별 구성을 대신 관리할 수 있습니다.

domain_specific_drivers_enabled = False

부울 값

도메인의 하위 집합(또는 all)은 각각 고유한 ID 드라이버를 가질 수 있으며, 각각 리소스 백엔드 또는 도메인 구성 디렉터리의 파일에 저장됩니다 ([identity] domain_configurations_from_database). 도메인에 특정한 값만 이러한 방식으로 지정해야 합니다. 이 기능은 기본적으로 비활성화되어 있지만 향후 릴리스에서 기본적으로 활성화되어 있을 수 있습니다. 활성화하려면 true로 설정합니다.

driver = sql

문자열 값

keystone.identity 네임스페이스의 ID 백엔드 드라이버의 진입점입니다. Keystone은 sqlldap 드라이버를 제공합니다. 이 옵션은 [identity] domain_specific_drivers_enabled 가 활성화된 경우 기본 드라이버 선택(이 섹션의 다른 구성 변수와 함께)으로 사용되지만 해당 도메인별 구성이 해당 도메인에 대해 정의되어 있지 않습니다. 배포가 주로 ldap 에 의존하는 경우를 제외하고 AND는 도메인별 구성을 사용하지 않는 경우 일반적으로 이 설정을 sql 로 설정해야 합니다.

list_limit = None

정수 값

ID 컬렉션에서 반환되는 최대 엔터티 수입니다.

max_password_length = 4096

정수 값

사용자 암호에 허용되는 최대 길이입니다. 성능 향상을 위해 이 값을 줄입니다. 이 값을 변경해도 기존 암호는 영향을 미치지 않습니다. 이 값은 구성된 값보다 우선하는 특정 해시 알고리즘 최대 허용 길이로 재정의할 수도 있습니다. bcrypt max_password_length은 72바이트입니다.

password_hash_algorithm = bcrypt

문자열 값

keystone 내에 저장된 암호에 사용할 암호 해시 알고리즘입니다.

password_hash_rounds = None

정수 값

이 옵션은 보안과 성능 간의 절충을 나타냅니다. 값이 클수록 성능이 저하되지만 보안이 향상됩니다. 이 옵션을 변경하면 기존 암호 해시가 이미 고정된 횟수의 라운드가 적용되어 실행 중인 클러스터에서 이 옵션을 조정할 수 있으므로 새로 생성된 암호에만 영향을 미칩니다. bcrypt의 기본값은 12이며 4에서 31 사이여야 합니다. scrypt의 기본값은 16이며 범위(1,32) 내에 있어야 합니다. pbkdf_sha512의 기본값은 60000이고 범위(1,1<32) WARNING: scrypt를 사용하는 경우 이 값을 늘리면 BOTH 시간 및 메모리 요구 사항이 암호를 해시해야 합니다.

salt_bytesize = None

정수 값

scrypt 및 pbkfd2_sha512 해시 Salt에서 사용할 바이트 수입니다. scrypt의 기본값은 16바이트입니다. pbkfd2_sha512의 기본값은 16바이트입니다. 암호 해시를 저장하는 데 사용되는 열의 크기로 인해 최대 96바이트로 제한됩니다.

scrypt_block_size = None

정수 값

scrypt 해시 함수에 전달할 블록 크기( r 매개변수)입니다. CPU 아키텍처의 최적의 성능을 위해 scrypt 튜닝에 유용합니다. 이 옵션은 password_hash_algorithm 옵션이 scrypt 로 설정된 경우에만 사용됩니다. 기본값은 8입니다.

scrypt_parallelism = None

정수 값

scrypt 해시 함수( p 매개변수)에 전달하는 선택적 병렬 처리. 이 옵션은 password_hash_algorithm 옵션이 scrypt 로 설정된 경우에만 사용됩니다. 기본값은 1입니다.

7.1.19. identity_mapping

다음 표에는 /etc/keystone/keystone.conf 파일의 [identity_mapping] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.18. identity_mapping
구성 옵션 = 기본값유형설명

backward_compatible_ids = True

부울 값

UUID를 생성하지 않는 백엔드(예: LDAP)의 경우 Juno에서 변경된 사용자 및 그룹 ID의 형식이며 keystone은 LDAP의 기본 속성에 대한 해시 매핑을 제공합니다. 기본적으로 이 매핑은 비활성화되어 있으므로 기존 ID는 변경되지 않습니다. 도메인별 드라이버([identity] domain_specific_drivers_enabled)를 사용하여 매핑을 활성화하면 LDAP에서 처리하는 기본 도메인의 모든 사용자와 그룹은 여전히 이전 버전과의 호환성을 유지하도록 매핑되지 않습니다. 이 값을 false로 설정하면 기본 LDAP 드라이버를 포함하여 모든 백엔드에 대한 새 매핑이 활성화됩니다. 기본 LDAP 도메인의 사용자 및 그룹에 대한 할당이 아직 없는 경우에만 이 옵션을 활성화할 수 있으며, Keystone에서 이전에 수행했던 것과 다른 ID를 클라이언트에 제공할 수 있습니다(API의 기존 ID는 갑자기 변경됨). 일반적으로 이 값을 false로 설정할 수 있는 유일한 시간은 권장되는 값이지만 새로 설치를 구성할 때뿐입니다.

driver = sql

문자열 값

keystone.identity.id_mapping 네임스페이스의 ID 매핑 백엔드 드라이버의 진입점입니다. Keystone에서는 sql 드라이버만 제공하므로 사용자 정의 진입점을 제공하지 않는 한 이 값을 변경할 이유가 없습니다.

Generator = sha256

문자열 값

keystone.identity.id_generator 네임스페이스의 사용자 및 그룹 엔터티에 대한 공용 ID 생성기의 진입점입니다. Keystone ID 매퍼는 64바이트 이하의 생성기만 지원합니다. Keystone은 sha256 진입점만 제공하므로 사용자 지정 진입점을 제공하지 않으면 이 값을 변경할 이유가 없습니다.

7.1.20. jwt_tokens

다음 표에는 /etc/keystone/keystone.conf 파일의 [jwt_tokens] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.19. jwt_tokens
구성 옵션 = 기본값유형설명

jws_private_key_repository = /etc/keystone/jws-keys/private

문자열 값

JWS 토큰에 서명하기 위한 개인 키가 포함된 디렉터리입니다. keystone의 서버 프로세스를 시작하려면 이 디렉터리가 있어야 합니다. keystone의 서버 프로세스에서도 읽을 수 있어야 합니다. keystone.conf [jwt_tokens] jws_public_key_repository 의 공개 키에 해당하는 개인 키를 하나 이상 포함해야 합니다. 이 디렉터리에 여러 개인 키가 있는 경우 keystone은 private.pem 이라는 키를 사용하여 토큰에 서명합니다. 나중에 keystone은 여러 개인 키로 토큰에 서명하는 기능을 지원할 수 있습니다. 현재 이 디렉터리 내에서 private.pem 이라는 키만 JWS 토큰을 발행해야 합니다. 이 옵션은 JWS 토큰을 발행하고 keystone.conf [token] provider = jws 를 설정하는 경우에만 적용됩니다.

jws_public_key_repository = /etc/keystone/jws-keys/public

문자열 값

JWS 토큰 서명을 검증하기 위한 공개 키가 포함된 디렉터리입니다. keystone의 서버 프로세스를 시작하려면 이 디렉터리가 있어야 합니다. keystone의 서버 프로세스에서도 읽을 수 있어야 합니다. keystone.conf [jwt_tokens] jws_private_key_repository 의 개인 키에 해당하는 공개 키를 하나 이상 포함해야 합니다. 이 옵션은 JWS 토큰을 발행하고 keystone.conf [token] provider = jws 를 설정하는 경우에만 적용됩니다.

7.1.21. ldap

다음 표에는 /etc/keystone/keystone.conf 파일의 [ldap] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.20. ldap
구성 옵션 = 기본값유형설명

alias_dereferencing = default

문자열 값

별칭과 관련된 쿼리에 사용할 LDAP 역참조 옵션입니다. 기본값은 ldap.conf 에서 구성한 기본 역참조 동작을 사용하는 것으로 대체됩니다. 값이 never 로 인해 별칭이 전혀 역참조되지 않습니다. 이름 확인 후에만 별칭을 역참조하는 값입니다. 이름 확인 중에만 역참조 별칭을 찾는 값입니다. 모든 경우에서 항상 별칭을 역참조합니다.

auth_pool_connection_lifetime = 60

정수 값

LDAP 서버에 대한 최대 최종 사용자 인증 수명(초)입니다. 이 수명을 초과하면 연결이 바인딩되지 않고 연결 풀에서 제거됩니다. [ldap] use_auth_pool 도 활성화되지 않는 한 이 옵션은 적용되지 않습니다.

auth_pool_size = 100

정수 값

최종 사용자 인증에 사용할 연결 풀의 크기입니다. [ldap] use_auth_pool 도 활성화되지 않는 한 이 옵션은 적용되지 않습니다.

chase_referrals = None

부울 값

디렉토리 파티션에서 keystone의 추천 동작을 설정합니다. 설정되지 않은 경우 시스템의 기본 동작이 사용됩니다.

connection_timeout = -1

정수 값

LDAP 서버와 함께 사용할 연결 제한 시간입니다. 값 -1 은 연결이 시간 초과되지 않음을 의미합니다.

debug_level = None

정수 값

LDAP 호출에 대한 LDAP 디버깅 수준을 설정합니다. 값이 0이면 디버깅이 활성화되지 않습니다. 이 값은 비트마스크이며 LDAP 설명서에서 가능한 값을 참조하십시오.

group_ad_nesting = False

부울 값

활성화된 경우 그룹 쿼리는 중첩 그룹에 대해 Active Directory 특정 필터를 사용합니다.

group_additional_attribute_mapping = []

목록 값

추가 속성을 keystone의 그룹에 매핑하는 데 사용되는 keystone 그룹 속성 쌍에 LDAP 속성 목록입니다. 예상 형식은 <ldap_attr>: 입니다. 여기서 ldap_attr 은 LDAP 오브젝트의 속성이며 group_attr 은 ID API에 표시되어야 하는 속성입니다.

group_attribute_ignore = []

목록 값

생성 및 업데이트 시 무시할 그룹 속성 목록입니다. 또는 특정 그룹 특성을 목록 또는 표시 그룹에 대해 필터링해야 하는지 여부입니다.

group_desc_attribute = description

문자열 값

keystone의 그룹 설명에 매핑된 LDAP 속성입니다.

group_filter = None

문자열 값

그룹에 사용할 LDAP 검색 필터입니다.

group_id_attribute = cn

문자열 값

keystone의 그룹 ID에 매핑된 LDAP 속성입니다. 이는 다중값 속성이 아니어야 합니다. 그룹 ID는 keystone 도메인과 URL 안전에서 전역적으로 고유해야 합니다.

group_member_attribute = member

문자열 값

사용자가 그룹의 멤버임을 나타내는 데 사용되는 LDAP 속성입니다.

group_members_are_ids = False

부울 값

그룹 오브젝트 클래스의 멤버가 LDAP DN이 아닌 keystone 사용자 ID인 경우 이 옵션을 활성화합니다. 이 경우 posixGroup 을 Open Directory에서 그룹 오브젝트 클래스로 사용할 수 있습니다.

group_name_attribute = ou

문자열 값

keystone의 그룹 이름에 매핑된 LDAP 속성입니다. 그룹 이름은 keystone 도메인 내에서만 고유해야 하며 URL로부터 안전하지 않을 것으로 예상됩니다.

group_objectclass = groupOfNames

문자열 값

그룹에 사용할 LDAP 오브젝트 클래스입니다. 이 옵션을 posixGroup 으로 설정하는 경우 [ldap] group_members_are_ids 옵션을 활성화하는 데도 관심이 있을 수 있습니다.

group_tree_dn = None

문자열 값

그룹에 사용할 검색 기반입니다. 기본값은 [ldap] 접미사 가 추가된 ou=UserGroups 입니다.

page_size = 0

정수 값

오브젝트를 나열할 때 keystone이 LDAP 서버에서 요청해야 하는 페이지당 최대 결과 수를 정의합니다. 값0(0)은 페이징을 비활성화합니다.

password = None

문자열 값

LDAP 서버에 필요한 경우 관리자의 암호는 LDAP 서버를 쿼리할 때 사용할 DN을 바인딩합니다.

pool_connection_lifetime = 600

정수 값

LDAP 서버에 대한 최대 연결 수명(초)입니다. 이 수명을 초과하면 연결이 바인딩되지 않고 연결 풀에서 제거됩니다. [ldap] use_pool 도 활성화되지 않는 한 이 옵션은 적용되지 않습니다.

pool_connection_timeout = -1

정수 값

LDAP 연결을 풀링할 때 사용할 연결 제한 시간입니다. 값 -1 은 연결이 시간 초과되지 않음을 의미합니다. [ldap] use_pool 도 활성화되지 않는 한 이 옵션은 적용되지 않습니다.

pool_retry_delay = 0.1

부동 소수점 값

LDAP 서버에 다시 연결하기 전에 대기하는 시간(초)입니다. [ldap] use_pool 도 활성화되지 않는 한 이 옵션은 적용되지 않습니다.

pool_retry_max = 3

정수 값

중단하기 전에 LDAP 서버에 연결을 시도할 수 있는 최대 횟수입니다. 하나의 값은 하나의 연결 시도만 수행합니다. [ldap] use_pool 도 활성화되지 않는 한 이 옵션은 적용되지 않습니다.

pool_size = 10

정수 값

LDAP 연결 풀의 크기입니다. [ldap] use_pool 도 활성화되지 않는 한 이 옵션은 적용되지 않습니다.

query_scope = one

문자열 값

검색 기반 내에서 검색할 위치를 정의하는 검색 범위입니다. 하나의 값( one Level 또는 singleLevel)은 기본 오브젝트에서 바로 아래에 있는 오브젝트 검색을 나타내지만 기본 오브젝트 자체는 포함하지 않습니다. sub 값(하위 트리 또는 wholeSubtree)은 기본 오브젝트 자체와 그 아래의 전체 하위 트리를 모두 검색합니다.

randomize_urls = False

부울 값

각 keystone 프로세스에서 URL 순서를 임의화합니다. 이렇게 하면 첫 번째 서버가 다운되면 프로세스/스레드는 서버에 대한 연결을 추가로 중단하기 전에 지정된 시간 초과를 대기하므로 실패 동작이 점진적으로 증가합니다. 이전 버전과의 호환성을 위해 기본값은 False입니다.

suffix = cn=example,cn=com

문자열 값

DN이 [ldap] user_tree_dn 또는 [ldap] group_tree_dn 을 통해 DN이 정의되지 않은 경우 사용할 기본 LDAP 서버 접미사입니다.

tls_cacertdir = None

문자열 값

LDAP 서버와 통신할 때 사용할 CA 인증서 디렉터리의 절대 경로입니다. [ldap] tls_cacertfile 도 설정한 경우 이 옵션을 설정할 이유가 없습니다.

tls_cacertfile = None

문자열 값

LDAP 서버와 통신할 때 사용할 CA 인증서 파일의 절대 경로입니다. 이 옵션은 [ldap] tls_cacertdir 보다 우선하므로 둘 다 설정할 이유가 없습니다.

tls_req_cert = demand

문자열 값

들어오는 TLS 세션에서 클라이언트 인증서에 대해 수행할 검사를 지정합니다. demand 로 설정하면 인증서가 항상 요청되고 LDAP 서버에서 필요합니다. 허용 으로 설정된 경우 인증서가 항상 요청되지만 LDAP 서버에서 필요하지는 않습니다. never 로 설정하면 인증서가 요청되지 않습니다.

url = ldap://localhost

문자열 값

LDAP 서버에 연결하기 위한 URL입니다. 여러 LDAP URL을 쉼표로 구분된 문자열로 지정할 수 있습니다. 성공적으로 바인딩할 첫 번째 URL이 연결에 사용됩니다.

use_auth_pool = True

부울 값

최종 사용자 인증에 대해 LDAP 연결 풀링을 활성화합니다. 일반적으로 이를 비활성화할 이유가 없습니다.

use_pool = True

부울 값

LDAP 서버에 대한 쿼리에 대해 LDAP 연결 풀을 활성화합니다. 일반적으로 이를 비활성화할 이유가 없습니다.

use_tls = False

부울 값

LDAP 서버와 통신할 때 TLS를 활성화합니다. 이 옵션을 사용할 때 [ldap] tls_cacertfile[ldap] tls_cacertdir 옵션도 설정해야 합니다. TLS 대신 LDAP over SSL(LDAPS)을 사용하는 경우 이 옵션을 설정하지 마십시오.

user = None

문자열 값

관리자의 사용자 이름은 LDAP 서버에 필요한 경우 LDAP 서버를 쿼리할 때 사용할 DN을 바인딩합니다.

user_additional_attribute_mapping = []

목록 값

추가 속성을 keystone의 사용자에게 매핑하는 데 사용되는 keystone 사용자 속성 쌍에 LDAP 속성 목록입니다. 예상되는 형식은 < ldap_attr>:<user_attr > 입니다. 여기서 ldap_attr 은 LDAP 오브젝트의 속성이고 user_attr 은 ID API에 표시되어야 하는 속성입니다.

user_attribute_ignore = ['default_project_id']

목록 값

생성 및 업데이트 시 무시할 사용자 속성 목록 또는 특정 사용자 특성을 목록 또는 표시 사용자에 대해 필터링해야 하는지 여부입니다.

user_default_project_id_attribute = None

문자열 값

keystone의 사용자 default_project_id에 매핑된 LDAP 속성입니다. 이는 keystone에 LDAP에 대한 쓰기 액세스 권한이 있는 경우 가장 일반적으로 사용됩니다.

user_description_attribute = description

문자열 값

keystone의 사용자 설명에 매핑된 LDAP 속성입니다.

user_enabled_attribute = enabled

문자열 값

keystone에서 사용자 활성화 속성에 매핑된 LDAP 속성입니다. 이 옵션을 userAccountControl 으로 설정하는 경우 [ldap] user_enabled_ mask 및 [ldap] user_enabled _default 설정에도 관심이 있을 수 있습니다.

user_enabled_default = True

문자열 값

사용자를 활성화하는 기본값입니다. LDAP 서버에서 non-boolean (bitmask) 값을 사용하여 사용자가 활성화 또는 비활성화되었는지를 나타내는 경우 적절한 정수 값과 일치해야 합니다. 이 값이 True 로 설정되지 않은 경우 일반적인 값은 512 입니다. 일반적으로 [ldap] user_enabled_attribute = userAccountControl.

user_enabled_emulation = False

부울 값

활성화된 경우 keystone은 대체 방법을 사용하여 사용자가 [ldap] user_enabled_emulation_dn 옵션에 정의된 그룹의 멤버인지 확인하여 활성화되었는지 여부를 확인합니다. 이 옵션을 활성화하면 keystone에서 [ldap] user_enabled_invert 값을 무시합니다.

user_enabled_emulation_dn = None

문자열 값

활성화된 에뮬레이션을 사용할 때 활성화된 사용자를 유지할 그룹 항목의 DN입니다. [ldap] user_enabled_emulation 도 활성화되지 않으면 이 옵션을 설정하지 않습니다.

user_enabled_emulation_use_group_config = False

부울 값

[ldap] group_member_attribute[ldap] group_objectclass 설정을 사용하여 에뮬레이션된 활성화된 그룹의 멤버십을 결정합니다. [ldap] user_enabled_emulation 도 활성화되지 않으면 이 옵션을 활성화하지 않습니다.

user_enabled_invert = False

부울 값

LDAP 서버에서 얻은 enabled 속성의 부울 값을 논리적으로 무효화합니다. 일부 LDAP 서버는 "true"는 계정이 비활성화됨을 나타내는 부울 잠금 속성을 사용합니다. [ldap] user_enabled_invert = true 를 설정하면 이러한 잠금 속성을 사용할 수 있습니다. [ldap] user_enabled_mask 또는 [ldap] user_enabled_emulation 옵션이 사용 중인 경우에는 이 옵션이 적용되지 않습니다.

user_enabled_mask = 0

정수 값

LDAP 서버가 개별 부울이 아닌 정수에서 "enabled"를 나타내는 경우 활성화된 값을 나타내는 비트를 선택하는 비트 마스크 정수입니다. 값 0 은 마스크가 사용되지 않음을 나타냅니다. 이 값을 0 으로 설정하지 않으면 일반적인 값은 2 입니다. 일반적으로 [ldap] user_enabled_attribute = userAccountControl. 이 옵션을 설정하면 keystone에서 [ldap] user_enabled_invert 값을 무시합니다.

user_filter = None

문자열 값

사용자에 사용할 LDAP 검색 필터입니다.

user_id_attribute = cn

문자열 값

keystone의 사용자 ID에 매핑된 LDAP 속성입니다. 이는 다중값 속성이 아니어야 합니다. 사용자 ID는 keystone 도메인과 URL 안전에서 전역적으로 고유해야 합니다.

user_mail_attribute = mail

문자열 값

keystone에서 사용자 이메일에 매핑된 LDAP 속성입니다.

user_name_attribute = sn

문자열 값

keystone의 사용자 이름에 매핑된 LDAP 속성입니다. 사용자 이름은 keystone 도메인 내에서만 고유해야 하며 URL로부터 안전하지 않을 것으로 예상됩니다.

user_objectclass = inetOrgPerson

문자열 값

사용자에게 사용할 LDAP 오브젝트 클래스입니다.

user_pass_attribute = userPassword

문자열 값

keystone의 사용자 암호에 매핑된 LDAP 속성입니다.

user_tree_dn = None

문자열 값

사용자에 사용할 검색 기반입니다. 기본값은 [ldap] 접미사 가 추가된 ou=Users 입니다.

7.1.22. memcache

다음 표에는 /etc/keystone/keystone.conf 파일의 [memcache] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.21. memcache
구성 옵션 = 기본값유형설명

dead_retry = 300

정수 값

memcached 서버가 다시 시도하기 전에 dead로 간주되는 시간(초)입니다. 이는 키 값 저장소 시스템에서 사용됩니다. 이후 더 이상 사용되지 않음: Y

*reason:* 이 옵션은 적용되지 않습니다. 대신 memcached의 dead_retry를 설정하도록 'keystone.conf [cache] memcache_retry' 옵션을 구성합니다.

pool_connection_get_timeout = 10

정수 값

memcache 클라이언트 연결을 얻기 위해 작업이 대기하는 시간(초)입니다. 이는 키 값 저장소 시스템에서 사용됩니다. 이후 더 이상 사용되지 않음: Y

*reason:* 이 옵션은 적용되지 않습니다. 대신 memcached의 connection_get_timeout을 설정하려면 'keystone.conf [cache] memcache_connection_get_timeout' 옵션을 구성합니다.

pool_maxsize = 10

정수 값

모든 memcached 서버에 대한 최대 열려 있는 총 연결 수입니다. 이는 키 값 저장소 시스템에서 사용됩니다. 이후 더 이상 사용되지 않음: Y

*reason:* 이 옵션은 적용되지 않습니다. 대신 memcached의 pool_maxsize를 설정하려면 'keystone.conf [cache] memcache_maxsize' 옵션을 구성합니다.

pool_unused_timeout = 60

정수 값

memcached에 대한 연결이 종료되기 전에 풀에서 사용되지 않은 상태로 유지되는 시간(초)입니다. 이는 키 값 저장소 시스템에서 사용됩니다. 이후 더 이상 사용되지 않음: Y

*reason:* 이 옵션은 적용되지 않습니다. 대신 memcached의 pool_unused_timeout을 설정하도록 'keystone.conf [cache] memcache_unused_timeout' 옵션을 구성합니다.

socket_timeout = 3

정수 값

서버에 대한 모든 호출에 대한 시간 제한(초)입니다. 이는 키 값 저장소 시스템에서 사용됩니다. 이후 더 이상 사용되지 않음: T

*reason:* 이 옵션은 적용되지 않습니다. 대신 memcached의 socket_timeout을 설정하려면 'keystone.conf [cache] memcache_timeout' 옵션을 구성합니다.

7.1.23. oauth1

다음 표에는 /etc/keystone/keystone.conf 파일의 [oauth1] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.22. oauth1
구성 옵션 = 기본값유형설명

access_token_duration = 86400

정수 값

OAuth 액세스 토큰이 생성된 후에도 유효한 상태로 유지되는 시간(초)입니다. 이는 소비자가 서비스 공급자(일반적으로 keystone)와 상호 작용해야 하는 시간입니다. 이 옵션을 0으로 설정하면 액세스 토큰이 영구적으로 유지됩니다.

driver = sql

문자열 값

keystone.oauth1 네임스페이스의 OAuth 백엔드 드라이버의 진입점입니다. 일반적으로 사용자 지정 진입점을 제공하지 않는 한 이 옵션을 설정할 이유가 없습니다.

request_token_duration = 28800

정수 값

OAuth 요청 토큰이 생성된 후에도 유효한 상태로 유지되는 시간(초)입니다. 이는 사용자가 토큰을 승인해야 하는 시간입니다. 이 옵션을 0으로 설정하면 요청 토큰이 영구적으로 유지됩니다.

7.1.24. oauth2

다음 표에는 /etc/keystone/keystone.conf 파일의 [oauth2] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.23. oauth2
구성 옵션 = 기본값유형설명

oauth2_authn_methods = ['tls_client_auth', 'client_secret_basic']

목록 값

사용자가 OAuth2.0 토큰 끝점을 통해 액세스 토큰을 얻을 때 시스템에서 지원하는 OAuth2.0 인증 방법입니다. 이 옵션은 인증서 또는 시크릿으로 설정할 수 있습니다. 옵션을 설정하지 않으면 기본값은 certificate입니다. 옵션이 secret로 설정되면 OAuth2.0 토큰 끝점에서 인증에 client_secret_basic 방법을 사용합니다. 그렇지 않으면 tls_client_auth 방법이 인증에 사용됩니다.

oauth2_cert_dn_mapping_id = oauth2_mapping

문자열 값

매핑 규칙 ID를 정의하는 데 사용됩니다. 설정되지 않은 경우 매핑 규칙 ID는 oauth2_mapping입니다.

7.1.25. oslo_messaging_amqp

다음 표에는 /etc/keystone/keystone.conf 파일의 [oslo_messaging_amqp] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.24. oslo_messaging_amqp
구성 옵션 = 기본값유형설명

addressing_mode = dynamic

문자열 값

드라이버에서 사용하는 주소 지정 모드를 나타냅니다. 허용되는 값: legacy - 라우팅 불가능한 레거시 주소 라우팅 가능 주소 사용 - 라우팅 가능한 주소 동적 사용 - 메시지 버스가 라우팅을 지원하지 않는 경우 레거시 주소를 사용하십시오. 라우팅 가능한 주소를 사용하십시오.

anycast_address = anycast

문자열 값

소비자 그룹에 보낼 때 주소 접두사에 추가됩니다. 메시지 버스에서 소비자가 라운드 로빈 방식으로 전달해야 하는 메시지를 식별합니다.

broadcast_prefix = broadcast

문자열 값

모든 서버로 브로드캐스트할 때 사용되는 주소 접두사

connection_retry_backoff = 2

정수 값

장애 조치(failover) 시도가 실패할 때마다 이 수만큼 connection_retry_interval을 늘립니다.

connection_retry_interval = 1

정수 값

연결을 다시 시도하기 전에 일시 중지하는 초입니다.

connection_retry_interval_max = 30

정수 값

connection_retry_interval + connection_retry_backoff의 최대 제한

container_name = None

문자열 값

AMQP 컨테이너의 이름은 전역적으로 고유해야 합니다. 기본값은 생성된 UUID입니다.

default_notification_exchange = None

문자열 값

알림 주소에 사용되는 교환 이름입니다. exchange name resolution precedence: Target.exchange if set else default_notification_exchange if set else control_exchange를 설정합니다 .

default_notify_timeout = 30

정수 값

전송된 알림 메시지 전달의 데드라인입니다. 호출자가 시간 초과 만료를 제공하지 않는 경우에만 사용됩니다.

default_reply_retry = 0

정수 값

복구 가능한 오류로 인해 실패한 응답 메시지를 다시 전송하려는 최대 시도 횟수입니다.

default_reply_timeout = 30

정수 값

rpc 응답 메시지 전달의 데드라인입니다.

default_rpc_exchange = None

문자열 값

RPC 주소에 사용되는 교환 이름입니다. exchange name resolution precedence: Target.exchange 가 다른 rpc을 설정하는 경우 default_ rpc_exchange를 설정합니다.

default_send_timeout = 30

정수 값

rpc 캐스팅 또는 호출 메시지 전달의 데드라인입니다. 호출자가 시간 초과 만료를 제공하지 않는 경우에만 사용됩니다.

default_sender_link_timeout = 600

정수 값

유휴 발신자 링크 제거를 예약하는 기간입니다. 만료 후 링크를 분리합니다.

group_request_prefix = unicast

문자열 값

그룹의 모든 서버로 보낼 때 주소 접두사

idle_timeout = 0

정수 값

비활성 연결의 시간 제한 (초)

link_retry_delay = 10

정수 값

복구 가능한 오류로 인해 실패한 AMQP 1.0 링크 사이의 일시 중지 시간.

multicast_address = multicast

문자열 값

팬아웃 메시지를 보낼 때 주소 접두사에 추가됩니다. 메시지 버스에서 팬아웃 메시지를 식별하는 데 사용됩니다.

notify_address_prefix = openstack.org/om/notify

문자열 값

생성된 모든 알림 주소에 대한 주소 접두사

notify_server_credit = 100

정수 값

수신 알림 메시지의 창 크기

pre_settled = ['rpc-cast', 'rpc-reply']

다중 값

미리 설정된 이 유형의 메시지를 보냅니다. 미리 설정된 메시지는 피어로부터 승인을 받지 않습니다. 참고: 미리 설정된 메시지는 전송에 실패하면 자동으로 삭제될 수 있습니다. 허용되는 값: rpc-call - send RPC Calls pre-settled rpc-reply- RPC Replies presettled - Send RPC Casts pre-settled 알림 전송

pseudo_vhost = True

부울 값

가상 호스팅(예: qpidd)을 기본적으로 지원하지 않는 메시지에 대한 가상 호스트 지원을 활성화합니다. true로 설정하면 가상 호스트 이름이 모든 메시지 버스 주소에 추가되어 가상 호스트당 프라이빗 서브넷을 효과적으로 생성합니다. 메시지 버스에서 AMQP 1.0 Open의 호스트 이름 필드를 사용하여 가상 호스트 이름을 사용하여 가상 호스팅을 지원하는 경우 False로 설정합니다.

reply_link_credit = 200

정수 값

들어오는 RPC Reply 메시지의 창 크기입니다.

rpc_address_prefix = openstack.org/om/rpc

문자열 값

생성된 모든 RPC 주소의 주소 접두사

rpc_server_credit = 100

정수 값

들어오는 RPC 요청 메시지의 창 크기

`sasl_config_dir = `

문자열 값

SASL 구성이 포함된 디렉터리의 경로

`sasl_config_name = `

문자열 값

구성 파일 이름(.conf 접미사 제외)

`sasl_default_realm = `

문자열 값

사용자 이름에 영역이 없는 경우 사용할 SASL 영역

`sasl_mechanisms = `

문자열 값

공백으로 구분된 허용 가능한 SASL 메커니즘 목록

server_request_prefix = exclusive

문자열 값

특정 서버로 보낼 때 사용되는 주소 접두사

SSL = False

부울 값

SSL을 통해 연결을 시도합니다. 다른 ssl 관련 매개변수가 제공되지 않으면 시스템의 CA-bundle을 사용하여 서버의 인증서를 확인합니다.

`ssl_ca_file = `

문자열 값

서버의 인증서를 확인하는 데 사용되는 CA 인증서 PEM 파일

`ssl_cert_file = `

문자열 값

클라이언트 인증을 위한 인증서 PEM 파일 자체 식별

`ssl_key_file = `

문자열 값

ssl_cert_file 인증서에 서명하는 데 사용되는 개인 키 PEM 파일 (선택 사항)

ssl_key_password = None

문자열 값

ssl_key_file의 암호를 해독하기 위한 암호(암호)

ssl_verify_vhost = False

부울 값

기본적으로 SSL은 서버 인증서의 이름이 transport_url의 호스트 이름과 일치하는지 확인합니다. 일부 구성에서는 서버가 서버 이름 표시 TLS 확장(rfc6066)을 사용하여 가상 호스트당 인증서를 제공하는 경우 대신 가상 호스트 이름을 사용하는 것이 좋습니다. 서버의 SSL 인증서가 DNS 이름 대신 가상 호스트 이름을 사용하는 경우 ssl_verify_vhost를 True로 설정합니다.

trace = False

부울 값

debug: AMQP 프레임을 stdout에 덤프

unicast_address = unicast

문자열 값

특정 RPC/알림 서버로 보낼 때 주소 접두사에 추가됩니다. 메시지 버스에서 단일 대상으로 전송된 메시지를 식별하는 데 사용됩니다.

7.1.26. oslo_messaging_kafka

다음 표에는 /etc/keystone/keystone.conf 파일의 [oslo_messaging_kafka] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.25. oslo_messaging_kafka
구성 옵션 = 기본값유형설명

compression_codec = none

문자열 값

생산자가 생성한 모든 데이터에 대한 압축 코드입니다. 설정하지 않으면 압축이 사용되지 않습니다. 허용되는 값은 kafka 버전에 따라 다릅니다.

conn_pool_min_size = 2

정수 값

연결 만료 정책의 풀 크기 제한

conn_pool_ttl = 1200

정수 값

풀의 유휴 연결 후 시간-투-라이브

consumer_group = oslo_messaging_consumer

문자열 값

Kafka 소비자의 그룹 ID입니다. 한 그룹의 소비자는 메시지 사용을 조정합니다.

enable_auto_commit = False

부울 값

비동기 소비자 커밋 활성화

kafka_consumer_timeout = 1.0

부동 소수점 값

Kafka 소비자의 기본 시간 초과

kafka_max_fetch_bytes = 1048576

정수 값

Kafka 소비자의 최대 가져오기 바이트 수

max_poll_records = 500

정수 값

poll 호출에서 반환된 최대 레코드 수

pool_size = 10

정수 값

Kafka 소비자의 풀 크기

producer_batch_size = 16384

정수 값

생산자 async 전송을 위한 배치 크기

producer_batch_timeout = 0.0

부동 소수점 값

KafkaProducer 일괄 처리 지연 시 상한(초)

sasl_mechanism = PLAIN

문자열 값

보안 프로토콜이 SASL인 경우 메커니즘

security_protocol = PLAINTEXT

문자열 값

브로커와 통신하는 데 사용되는 프로토콜

`ssl_cafile = `

문자열 값

서버 인증서를 확인하는 데 사용되는 CA 인증서 PEM 파일

`ssl_client_cert_file = `

문자열 값

인증에 사용되는 클라이언트 인증서 PEM 파일입니다.

`ssl_client_key_file = `

문자열 값

인증에 사용되는 클라이언트 키 PEM 파일입니다.

`ssl_client_key_password = `

문자열 값

인증에 사용되는 클라이언트 키 암호 파일입니다.

7.1.27. oslo_messaging_notifications

다음 표에는 /etc/keystone/keystone.conf 파일의 [oslo_messaging_notifications] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.26. oslo_messaging_notifications
구성 옵션 = 기본값유형설명

driver = []

다중 값

알림 전송을 처리할 드라이버입니다. 가능한 값은 messaging, messagingv2, routing, log, test, noop입니다.

retry = -1

정수 값

복구 가능한 오류로 인해 전달되지 않은 알림 메시지를 다시 전송하려는 최대 시도 횟수입니다. 0 - 재시도 없음, -1 - indefinite

topics = [notifications']

목록 값

OpenStack 알림에 사용되는 AMQP 주제입니다.

transport_url = None

문자열 값

알림에 사용할 메시징 드라이버를 나타내는 URL입니다. 설정되지 않은 경우 RPC에 사용된 것과 동일한 구성으로 대체됩니다.

7.1.28. oslo_messaging_rabbit

다음 표에는 /etc/keystone/keystone.conf 파일의 [oslo_messaging_rabbit] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.27. oslo_messaging_rabbit
구성 옵션 = 기본값유형설명

amqp_auto_delete = False

부울 값

AMQP의 대기열 자동 삭제.

amqp_durable_queues = False

부울 값

AMQP에서 Cryostat 대기열을 사용합니다. rabbit_quorum_queue가 활성화된 경우 대기열은 Cryostat가 되고 이 값은 무시됩니다.

direct_mandatory_flag = True

부울 값

(DEPRECATED) 직접 전송을 위해 RabbitMQ 필수 플래그를 활성화/비활성화합니다. 직접 전송이 응답으로 사용되므로 클라이언트 큐가 존재하지 않는 경우 MessageUndeliverable 예외가 발생합니다.MessageUndeliverable 예외는 시간 초과를 반복하는 데 사용되어 전송될 수 있습니다.이 플래그는 더 이상 사용되지 않으며 이 기능을 비활성화할 수 없습니다.

enable_cancel_on_failover = False

부울 값

rabbitmq 서버가 취소되고 대기열이 중단된 경우 소비자에게 알리도록 x-cancel-on-ha-failover 플래그를 활성화합니다.

heartbeat_in_pthread = False

부울 값

기본적으로 네이티브 python 스레드를 통해 상태 점검 하트비트 스레드를 실행합니다. 이 옵션이 False인 경우 상태 점검 하트비트는 상위 프로세스에서 실행 모델을 상속합니다. 예를 들어, 상위 프로세스가 eventlet/greenlet을 사용하여 stdlib를 패치한 경우, 하트비트는 녹색 스레드를 통해 실행됩니다. 이 옵션은 wsgi 서비스에 대해서만 True로 설정해야 합니다.

heartbeat_rate = 2

정수 값

heartbeat_timeout_threshold 중에 하트비트를 확인하는 빈도입니다.

heartbeat_timeout_threshold = 60

정수 값

하트비트의 keep-alive가 실패하는 경우 Rabbit 브로커가 다운된 후 몇 초 후에 하트비트 브로커를 비활성화합니다.

kombu_compression = None

문자열 값

EXPERIMENTAL: 가능한 값은 gzip, bz2입니다. 설정하지 않으면 압축이 사용되지 않습니다. 이 옵션은 향후 버전에서 제공되지 않을 수 있습니다.

kombu_failover_strategy = round-robin

문자열 값

현재 연결된 노드를 사용할 수 없게 되는 경우 다음 RabbitMQ 노드를 선택하는 방법을 결정합니다. 는 config에 둘 이상의 RabbitMQ 노드가 제공된 경우에만 적용됩니다.

kombu_missing_consumer_retry_timeout = 60

정수 값

응답을 보내는 것을 포기하기 전에 누락된 클라이언트를 대기하는 시간입니다. 이 값은 rpc_response_timeout보다 길지 않아야 합니다.

kombu_reconnect_delay = 1.0

부동 소수점 값

AMQP 소비자 취소 알림에 응답하여 다시 연결하기 전에 대기하는 시간(초)입니다.

rabbit_ha_queues = False

부울 값

RabbitMQ에서 HA 대기열(x-ha-policy: all)을 사용합니다. 이 옵션을 변경하는 경우 RabbitMQ 데이터베이스를 지워야 합니다. RabbitMQ 3.0에서는 큐를 선언할 때 x-ha-policy 인수로 큐 미러링을 더 이상 제어하지 않습니다. 모든 대기열(자동 생성 이름을 제외한)이 모든 노드에 미러링되어 있는지 확인하려면 "rabbitmqctl set_policy HA ^(?!amq\.).* {"ha-mode": "all"} 을 실행합니다.

rabbit_interval_max = 30

정수 값

RabbitMQ 연결 재시도의 최대 간격입니다. 기본값은 30초입니다.

rabbit_login_method = AMQPLAIN

문자열 값

RabbitMQ 로그인 방법입니다.

rabbit_qos_prefetch_count = 0

정수 값

사전 가져올 메시지 수를 지정합니다. 0으로 설정하면 무제한 메시지가 허용됩니다.

rabbit_quorum_delivery_limit = 0

정수 값

메시지를 소비자에게 다시 전달할 때마다 카운터가 증가합니다. 재전송 횟수가 전달 제한을 초과하면 메시지가 삭제되거나 dead-lettered됩니다( DLX 교환이 구성된 경우) rabbit_quorum_queue가 활성화된 경우에만 사용되는 경우 Default 0은 제한을 설정하지 않음을 의미합니다.

rabbit_quorum_max_memory_bytes = 0

정수 값

쿼럼 큐의 길이가 늘어나면 기본적으로 모든 메시지가 메모리에 유지 관리되므로 클러스터에 메모리가 부족해질 수 있습니다. 이 옵션은 쿼럼 대기열에서 사용하는 메모리 바이트 수를 제한할 수 있습니다. rabbit_quorum_queue가 활성화된 경우에만 사용되며 Default 0은 제한을 설정하지 않음을 의미합니다.

rabbit_quorum_max_memory_length = 0

정수 값

쿼럼 큐의 길이가 늘어나면 기본적으로 모든 메시지가 메모리에 유지 관리되므로 클러스터에 메모리가 부족해질 수 있습니다. 이 옵션은 쿼럼 대기열의 메시지 수를 제한할 수 있습니다. rabbit_quorum_queue가 활성화된 경우에만 사용되며 Default 0은 제한을 설정하지 않음을 의미합니다.

rabbit_quorum_queue = False

부울 값

RabbitMQ에서 쿼럼 대기열(x-queue-type: 쿼럼)을 사용합니다. 쿼럼 큐는 Raft 합의 알고리즘을 기반으로 하는 조정된 FIFO 큐를 구현하는 RabbitMQ의 최신 큐 유형입니다. RabbitMQ 3.8.0부터 사용할 수 있습니다. 이 옵션을 설정하면 HA 대기열을 비활성화해야 하는 즉, HA 대기열을 비활성화해야 하는 HA 대기열(rabbit_ha_queues)과 충돌하는 경우 이 옵션이 활성화될 때 amqp_durable_queues opion이 무시되도록 쿼럼 대기열이 기본적으로 비활성화됩니다.

rabbit_retry_backoff = 2

정수 값

RabbitMQ에 연결할 때 재시도 사이에 백오프하는 시간입니다.

rabbit_retry_interval = 1

정수 값

RabbitMQ 연결을 다시 시도하는 빈도입니다.

rabbit_transient_queues_ttl = 1800

정수 값

큐 TTL(x-expires)의 기간(초)을 나타내는 양의 정수입니다. TTL 기간에 사용되지 않는 대기열은 자동으로 삭제됩니다. 이 매개변수는 응답 및 팬아웃 큐에만 영향을 미칩니다.

SSL = False

부울 값

SSL을 통해 연결합니다.

`ssl_ca_file = `

문자열 값

SSL 인증 기관 파일(SSL이 활성화된 경우에만 확인).

`ssl_cert_file = `

문자열 값

SSL 인증서 파일(SSL이 활성화된 경우에만 확인).

ssl_enforce_fips_mode = False

부울 값

OpenSSL FIPS 모드를 강제 적용하는 글로벌 토글입니다. 이 기능에는 Python 지원이 필요합니다. 이는 모든 환경에서 Python 3.9에서 사용할 수 있으며 일부 환경에서 이전 Python 버전으로 백포트되었을 수 있습니다. 사용된 Python 실행 파일이 OpenSSL FIPS 모드를 지원하지 않으면 예외가 발생합니다.

`ssl_key_file = `

문자열 값

SSL 키 파일(SSL이 활성화된 경우에만 확인).

`ssl_version = `

문자열 값

사용할 SSL 버전(SSL이 활성화된 경우에만 확인). 유효한 값은 TLSv1 및 SSLv23입니다. SSLv2, SSLv3, TLSv1_1, TLSv1_2는 일부 배포판에서 사용할 수 있습니다.

7.1.29. oslo_middleware

다음 표에는 /etc/keystone/keystone.conf 파일의 [oslo_middleware] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.28. oslo_middleware
구성 옵션 = 기본값유형설명

enable_proxy_headers_parsing = False

부울 값

애플리케이션이 프록시 뒤에 있는지 여부입니다. 미들웨어가 헤더를 구문 분석해야 하는지 여부를 결정합니다.

http_basic_auth_user_file = /etc/htpasswd

문자열 값

HTTP 기본 인증 암호 파일.

max_request_body_size = 114688

정수 값

각 요청의 최대 본문 크기(바이트)입니다.

secure_proxy_ssl_header = X-Forwarded-Proto

문자열 값

원래 요청 프로토콜 체계가 SSL 종료 프록시에 의해 숨겨져 있어도 원래 요청 프로토콜 스키마를 결정하는 데 사용할 HTTP 헤더입니다.

7.1.30. oslo_policy

다음 표에는 /etc/keystone/keystone.conf 파일의 [oslo_policy] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.29. oslo_policy
구성 옵션 = 기본값유형설명

enforce_new_defaults = False

부울 값

이 옵션은 정책을 평가할 때 더 이상 사용되지 않는 이전 기본값을 사용할지 여부를 제어합니다. True 인 경우 더 이상 사용되지 않는 이전 기본값은 평가되지 않습니다. 즉, 기존 토큰이 기존 기본값에 허용되지만 새 기본값에는 허용되지 않는 경우 이를 허용하지 않습니다. 새로운 기본값과 scope_type 의 이점을 얻을 수 있도록 enforce_scope 플래그와 함께 이 플래그를 활성화하는 것이 좋습니다. False 인 경우 더 이상 사용되지 않는 정책 검사 문자열이 새 정책 검사 문자열을 사용하여 논리적으로 OR인 경우 기본 정책인 새 정책을 사용한 릴리스 간의 정상적인 업그레이드 환경을 허용합니다.

enforce_scope = False

부울 값

이 옵션은 정책을 평가할 때 범위를 적용할지 여부를 제어합니다. True 인 경우 요청에 사용된 토큰 범위는 적용되는 정책의 scope_types 와 비교됩니다. 범위가 일치하지 않으면 InvalidScope 예외가 발생합니다. False 인 경우 Operator에 정책이 일치하지 않는 범위로 호출됨을 알리는 메시지가 기록됩니다.

policy_default_rule = default

문자열 값

기본 규칙. 요청된 규칙을 찾을 수 없는 경우 적용됩니다.

policy_dirs = ['policy.d']

다중 값

정책 구성 파일이 저장되는 디렉터리입니다. 이는 config_dir 옵션으로 정의된 검색 경로의 모든 디렉토리 또는 절대 경로의 상대일 수 있습니다. 이러한 디렉터리를 검색하려면 policy_file으로 정의된 파일이 있어야 합니다. 누락되거나 빈 디렉터리는 무시됩니다.

policy_file = policy.yaml

문자열 값

지정된 서비스의 권한에 역할을 매핑하는 파일의 상대 또는 절대 경로입니다. 이 옵션을 설정하는 구성 파일과 관련하여 상대 경로를 지정해야 합니다.

remote_content_type = application/x-www-form-urlencoded

문자열 값

REST 기반 정책 검사를 위한 데이터를 전송하고 수신하는 콘텐츠 유형

remote_ssl_ca_crt_file = None

문자열 값

REST 기반 정책 검사를 위한 ca 인증서 파일의 절대 경로

remote_ssl_client_crt_file = None

문자열 값

REST 기반 정책 검사를 위한 클라이언트 인증서의 절대 경로

remote_ssl_client_key_file = None

문자열 값

절대 경로 클라이언트 키 파일 REST 기반 정책 검사

remote_ssl_verify_server_crt = False

부울 값

REST 기반 정책 검사를 위한 서버 ID 확인

7.1.31. policy

다음 표에는 /etc/keystone/keystone.conf 파일의 [policy] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.30. policy
구성 옵션 = 기본값유형설명

driver = sql

문자열 값

keystone.policy 네임스페이스의 정책 백엔드 드라이버의 진입점입니다. 제공된 드라이버는 v3 정책 API에 대한 CRUD 작업을 지원하지 않는 규칙 이며 sql 입니다. 일반적으로 사용자 지정 진입점을 제공하지 않는 한 이 옵션을 설정할 이유가 없습니다.

list_limit = None

정수 값

정책 컬렉션에 반환되는 최대 엔터티 수입니다.

7.1.32. Cryostat

다음 표에는 /etc/keystone/keystone.conf 파일의 [profiler] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.31. Cryostat
구성 옵션 = 기본값유형설명

connection_string = messaging://

문자열 값

notifier 백엔드의 연결 문자열입니다.

기본값은 messaging:// 로, notifier를 oslo_messaging으로 설정합니다.

가능한 값의 예:

  • messaging:// - 기간 전송을 위해 oslo_messaging 드라이버를 사용합니다.
  • Redis://127.0.0.1:6379 - 기간 전송을 위해 redis 드라이버를 사용합니다.
  • MongoDB://127.0.0.1:27017 - 기간 전송을 위해 mongodb 드라이버를 사용합니다.
  • Elasticsearch://127.0.0.1:9200 - 기간 전송을 위해 elasticsearch 드라이버를 사용합니다.
  • Jaeger://127.0.0.1:6831 - 기간 전송을 위한 드라이버로 jaeger 추적을 사용합니다.

enabled = False

부울 값

이 노드의 모든 서비스에 대한 프로파일링을 활성화합니다.

기본값은 False(프로파일링 기능을 완전히 비활성화)입니다.

가능한 값은 다음과 같습니다.

  • true: 기능 활성화
  • false: 기능을 비활성화합니다. 프로파일링은 이 프로젝트 작업을 통해 시작할 수 없습니다. 다른 프로젝트에서 프로파일링을 트리거하면 이 프로젝트 부분이 비어 있습니다.

es_doc_type = notification

문자열 값

elasticsearch에서 알림 인덱싱을 위한 문서 유형입니다.

es_scroll_size = 10000

정수 값

Elasticsearch는 대규모 요청을 일괄적으로 분할합니다. 이 매개변수는 각 배치의 최대 크기를 정의합니다(예: es_scroll_size=10000).

es_scroll_time = 2m

문자열 값

이 매개변수는 time value 매개변수(예: es_scroll_time=2m)로, 검색에 참여하는 노드가 해당 리소스를 계속 유지하고 지원하기 위해 관련 리소스를 유지하는 시간을 나타냅니다.

filter_error_trace = False

부울 값

분리된 위치에 대한 오류/예외가 포함된 필터 추적을 활성화합니다.

기본값은 False입니다.

가능한 값은 다음과 같습니다.

  • True: 오류/예외가 포함된 필터 추적을 활성화합니다.
  • False: 필터를 비활성화합니다.

hmac_keys = SECRET_KEY

문자열 값

성능 프로파일링을 위해 컨텍스트 데이터를 암호화하는 데 사용할 시크릿 키입니다.

이 문자열 값에는 <key1>[,<key2>,…​<keyn>] 형식이 있어야 합니다. 여기서 각 키는 임의의 문자열입니다. REST API를 통해 프로파일링을 트리거하는 사용자는 이 특정 프로젝트에 대한 이 노드의 프로파일링 결과를 포함하도록 REST API 호출의 헤더에 이러한 키 중 하나를 설정해야 합니다.

프로파일링을 활성화하려면 "enabled" 플래그와 "hmac_keys" 구성 옵션을 모두 설정해야 합니다. 또한 모든 서비스에서 올바른 프로파일링 정보를 생성하려면 OpenStack 프로젝트 간에 하나 이상의 키가 일치해야 합니다. 이렇게 하면 클라이언트에서 이를 사용하여 가능한 모든 리소스의 정보를 포함하는 추적을 생성할 수 있습니다.

sentinel_service_name = mymaster

문자열 값

Redissentinel은 서비스 이름을 사용하여 마스터 redis 서비스를 식별합니다. 이 매개변수는 이름을 정의합니다(예: sentinal_service_name=mymaster).

socket_timeout = 0.1

부동 소수점 값

Redissentinel은 연결에 시간 초과 옵션을 제공합니다. 이 매개변수는 시간 초과(예: socket_timeout=0.1)를 정의합니다.

trace_sqlalchemy = False

부울 값

서비스에서 SQL 요청 프로파일링을 활성화합니다.

기본값은 False(SQL 요청 추적되지 않음)입니다.

가능한 값은 다음과 같습니다.

  • True: SQL 요청 프로파일링을 활성화합니다. 각 SQL 쿼리는 추적의 일부가 되며 이를 위해 사용된 시간으로 분석할 수 있습니다.
  • false: 프로파일링을 비활성화합니다. 소비된 시간은 더 높은 작업 수준에서만 표시됩니다. 이러한 방식으로 단일 SQL 쿼리를 분석할 수 없습니다.

7.1.33. 영수증

다음 표에는 /etc/keystone/keystone.conf 파일의 [receipt] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.32. 영수증
구성 옵션 = 기본값유형설명

cache_on_issue = True

부울 값

첫 번째 수신 검증이 실제로 전체 검증 주기를 유발하지 않도록 발행된 영수증 데이터를 저장하여 유효성 검사 캐시를 수신할 수 있습니다. 이 옵션은 글로벌 캐싱 및 수신 캐싱이 활성화된 경우를 제외하고 적용되지 않습니다.

cache_time = 300

정수 값

수신 생성 및 검증 데이터를 캐시하는 시간(초)입니다. 이는 글로벌 및 [receipt] 캐싱 이 모두 활성화되어 있지 않으면 적용되지 않습니다.

caching = True

부울 값

캐싱 영수증 생성 및 유효성 검사 데이터를 토글합니다. 이는 글로벌 캐싱이 활성화되거나 문제가 발생한 캐시 영수증만 캐시하므로 cache_on_issue가 비활성화되지 않는 한 영향을 미치지 않습니다.

expiration = 300

정수 값

영수증이 유효해야 하는 시간(초)입니다. 이 값은 사용자가 누락된 auth 메서드로 다시 시도해야 하는 기간을 나타내며, 이는 항상 매우 짧아야 합니다.

provider = fernet

문자열 값

keystone.receipt.provider 네임스페이스에 있는 수령 공급자의 진입점입니다. 영수증 공급자는 영수증 구성 및 검증 작업을 제어합니다. Keystone에는 현재 페넷 수령 공급자만 포함됩니다. Cryostat 영수증은 전혀 유지될 필요는 없지만 keystone-manage fernet _setup 을 실행해야 합니다( keystone-manage fernet_rotate 명령도 참조).

7.1.34. resource

다음 표에는 /etc/keystone/keystone.conf 파일의 [resource] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.33. resource
구성 옵션 = 기본값유형설명

admin_project_domain_name = None

문자열 값

admin_project_name 을 소유한 도메인의 이름입니다. 설정되지 않은 경우 관리자 프로젝트가 없습니다. [resource] admin_project_name 도 이 옵션을 사용하도록 설정해야 합니다.

admin_project_name = None

문자열 값

이는 서비스 전반에서 클라우드 수준 관리자 권한을 나타내는 특수 프로젝트입니다. 이 프로젝트로 범위가 지정된 토큰에는 해당 특정 프로젝트에 대한 역할 할당이 모든 프로젝트에 동일하게 적용되어야 함을 정책 시스템에 나타내는 true is_admin_project 특성이 포함됩니다. 설정되지 않은 경우 관리자 프로젝트가 없으므로 프로젝트 간 역할 할당을 명시적으로 사용할 수 없습니다. [resource] admin_project_domain_name 도 이 옵션을 사용하도록 설정해야 합니다.

cache_time = None

정수 값

리소스 데이터를 초 단위로 캐시하는 시간입니다. 이는 글로벌 캐싱이 활성화되지 않는 한 적용되지 않습니다.

caching = True

부울 값

리소스 캐싱을 위한 토글입니다. 이는 글로벌 캐싱이 활성화되지 않는 한 적용되지 않습니다.

domain_name_url_safe = off

문자열 값

이렇게 하면 도메인 이름이 URL 보존된 문자가 포함되지 않도록 제한되는지 여부를 제어합니다. 로 설정하면 URL에서 안전하지 않은 이름으로 도메인을 만들거나 업데이트하려고 하면 실패합니다. strict 로 설정하면 URL이 안전하지 않은 도메인 이름을 사용하여 토큰의 범위를 지정하려고 하면 실패하고 모든 도메인 이름을 URL 안전으로 업데이트합니다.

driver = sql

문자열 값

keystone.resource 네임스페이스의 리소스 드라이버 진입점. keystone에서 sql 드라이버만 제공됩니다. keystone용 독점 드라이버를 작성하지 않는 한 이 옵션을 설정할 필요가 없습니다.

list_limit = None

정수 값

리소스 컬렉션에 반환되는 최대 엔터티 수입니다.

project_name_url_safe = off

문자열 값

이렇게 하면 프로젝트 이름이 URL-reserved 문자가 포함된 프로젝트에서 제한되는지 여부를 제어합니다. new 로 설정하면 URL에서 안전하지 않은 이름으로 프로젝트를 만들거나 업데이트하려고 하면 실패합니다. Strict 으로 설정하면 URL이 안전하지 않은 프로젝트 이름으로 토큰의 범위를 지정하려고 하면 실패하고 모든 프로젝트 이름이 URL 안전으로 업데이트되도록 강제할 수 있습니다.

7.1.35. 취소

다음 표에는 /etc/keystone/keystone.conf 파일의 [revoke] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.34. 취소
구성 옵션 = 기본값유형설명

cache_time = 3600

정수 값

취소 목록 및 취소 이벤트(초)를 캐시하는 시간입니다. 이는 글로벌 및 [revoke] 캐싱 이 모두 활성화되어 있지 않는 한 영향을 미치지 않습니다.

caching = True

부울 값

취소 이벤트 캐싱을 전환합니다. 이는 글로벌 캐싱이 활성화되지 않는 한 적용되지 않습니다.

driver = sql

문자열 값

keystone.revoke 네임스페이스의 토큰 취소 백엔드 드라이버의 진입점입니다. Keystone에서는 sql 드라이버만 제공하므로 사용자 정의 진입점을 제공하지 않는 한 이 옵션을 설정할 이유가 없습니다.

expiration_buffer = 1800

정수 값

해당 취소 이벤트가 백엔드에서 제거되기 전에 토큰이 만료된 후 시간(초)입니다.

7.1.36. role

다음 표에는 /etc/keystone/keystone.conf 파일의 [role] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.35. role
구성 옵션 = 기본값유형설명

cache_time = None

정수 값

역할 데이터를 캐시하는 시간(초)입니다. 이는 글로벌 캐싱과 [role] 캐싱 이 모두 활성화되지 않는 한 영향을 미치지 않습니다.

caching = True

부울 값

역할 캐싱을 위한 토글입니다. 이는 글로벌 캐싱이 활성화되지 않는 한 적용되지 않습니다. 일반적인 배포에서는 이를 비활성화할 이유가 없습니다.

driver = None

문자열 값

keystone.role 네임스페이스의 역할 백엔드 드라이버의 진입점입니다. Keystone은 sql 드라이버만 제공하므로 사용자 정의 진입점을 제공하지 않는 한 이 값을 변경할 이유가 없습니다.

list_limit = None

정수 값

역할 컬렉션에 반환되는 최대 엔터티 수입니다. 이 기능은 배포에 개별 역할이 많은 경우 튜닝하는 데 유용할 수 있습니다.

7.1.37. SAML

다음 표에는 /etc/keystone/keystone.conf 파일의 [saml] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.36. SAML
구성 옵션 = 기본값유형설명

assertion_expiration_time = 3600

정수 값

NotOnOrAfter 속성을 사용하여 keystone에서 생성된 모든 SAML 어설션의 수명을 결정합니다.

certfile = /etc/keystone/ssl/certs/signing_cert.pem

문자열 값

SAML 서명에 사용할 공용 인증서 파일의 절대 경로입니다. 값에 쉼표(,)를 포함할 수 없습니다.

idp_contact_company = Example, Inc.

문자열 값

ID 공급자 담당자의 회사 이름입니다.

idp_contact_email = support@example.com

문자열 값

ID 공급자의 연락처 이메일 주소입니다.

idp_contact_name = SAML Identity Provider Support

문자열 값

이 이름은 ID 공급자의 연락처 담당자의 이름입니다.

idp_contact_surname = Support

문자열 값

ID 공급자 연락처의 성입니다.

idp_contact_telephone = +1 800 555 0100

문자열 값

ID 공급자 연락처의 전화 번호입니다.

idp_contact_type = other

문자열 값

이는 ID 공급자의 연락처를 가장 잘 설명하는 연락처 유형입니다.

idp_entity_id = None

URI 값

SAML 어설션을 생성할 때 사용할 ID 공급자(keystone)의 고유한 엔티티 식별자입니다. 이 값은 ID 공급자 메타데이터를 생성하는 데 필요하며 URI여야 합니다(URL이 권장됩니다). 예: https://keystone.example.com/v3/OS-FEDERATION/saml2/idp.

idp_lang = en

문자열 값

이는 ID 공급자의 조직에서 사용하는 언어입니다.

idp_metadata_path = /etc/keystone/saml2_idp_metadata.xml

문자열 값

ID 공급자 메타데이터 파일의 절대 경로입니다. 이 파일은 keystone-manage saml_idp_metadata 명령을 사용하여 생성해야 합니다. 일반적으로 이 값을 변경할 이유가 없습니다.

idp_organization_display_name = OpenStack SAML Identity Provider

문자열 값

표시할 ID 공급자 조직의 이름입니다.

idp_organization_name = SAML Identity Provider

문자열 값

ID 공급자 조직의 이름입니다.

idp_organization_url = https://example.com/

URI 값

ID 공급자 조직의 URL입니다. 여기에 언급된 URL은 사람에게 유용할 것입니다.

idp_sso_endpoint = None

URI 값

이는 HTTP POST 요청을 수락하는 ID 공급자의 SSO(Single Sign-On) 서비스 위치입니다. ID 공급자 메타데이터를 생성하려면 값이 필요합니다. 예: https://keystone.example.com/v3/OS-FEDERATION/saml2/sso.

keyfile = /etc/keystone/ssl/private/signing_key.pem

문자열 값

SAML 서명에 사용할 개인 키 파일의 절대 경로입니다. 값에 쉼표(,)를 포함할 수 없습니다.

relay_state_prefix = ss:mem:

문자열 값

향상된 클라이언트 및 프록시(ECP) 어설션을 생성할 때 사용할 RelayState SAML 속성의 접두사입니다. 일반적인 배포에서는 이 값을 변경할 이유가 없습니다.

xmlsec1_binary = xmlsec1

문자열 값

XML 서명에 사용할 바이너리의 이름 또는 절대 경로입니다. XML Security Library(xmlsec1)만 지원되지만 시스템에 비표준 이름 또는 경로가 있을 수 있습니다. keystone이 바이너리 자체를 찾을 수 없는 경우 적절한 패키지를 설치하거나 이 옵션을 사용하여 절대 경로를 지정하거나 keystone의 PATH 환경 변수를 조정해야 할 수 있습니다.

7.1.38. security_compliance

다음 표에는 /etc/keystone/keystone.conf 파일의 [security_compliance] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.37. security_compliance
구성 옵션 = 기본값유형설명

change_password_upon_first_use = False

부울 값

이 옵션을 활성화하려면 사용자가 생성될 때 또는 관리 재설정 시 암호를 변경해야 합니다. 서비스에 액세스하기 전에 영향을 받는 사용자는 암호를 변경해야 합니다. 서비스 사용자와 같은 특정 사용자에 대해 이 요구 사항을 무시하려면 업데이트 사용자 API를 통해 원하는 사용자에 대해 ignore_change_password_upon_first_use 옵션을 True 로 설정합니다. 이 기능은 기본적으로 비활성화되어 있습니다. 이 기능은 [identity] 드라이버sql 백엔드에만 적용됩니다.

disable_user_account_days_inactive = None

정수 값

사용자가 "활성"으로 간주되기 전에 인증하지 않고 자동으로 비활성화(잠금)할 수 있는 최대 일 수입니다. 이 기능은 기본적으로 비활성화되어 있습니다. 값을 설정하여 활성화합니다. 이 기능은 [ID] 드라이버sql 백엔드에 따라 다릅니다. 사용자가 이 임계값을 초과하고 "inactive"로 간주되는 경우 HTTP API에서 사용자의 활성화된 특성이 사용자 테이블의 활성화된 열의 값과 일치하지 않을 수 있습니다.

lockout_duration = 1800

정수 값

인증 시도 실패 횟수 ([security_compliance] lockout_failure_attempts)가 초과되면 사용자 계정이 잠기지 않는 시간(초)입니다. 이 옵션을 설정하면 [security_compliance] lockout_failure_attempts 를 0이 아닌 값으로 설정하지 않으면 효과가 없습니다. 이 기능은 [ID] 드라이버sql 백엔드에 따라 다릅니다.

lockout_failure_attempts = None

정수 값

[security_compliance] lockout_duration 에서 지정한 시간(초) 동안 사용자 계정이 잠기기 전에 사용자가 인증할 수 있는 최대 횟수입니다. 이 기능은 기본적으로 비활성화되어 있습니다. 이 기능이 활성화되어 있고 [security_compliance] lockout_duration 이 설정되지 않은 경우 사용자가 API를 통해 명시적으로 활성화될 때까지 사용자가 무기한 잠길 수 있습니다. 이 기능은 [ID] 드라이버sql 백엔드에 따라 다릅니다.

minimum_password_age = 0

정수 값

사용자가 암호를 변경하기 전에 암호를 사용해야 하는 일 수입니다. 이렇게 하면 사용자가 암호 기록을 지우고 이전 암호를 재사용하기 위해 즉시 암호를 변경할 수 없습니다. 이 기능은 관리자가 수동으로 암호를 재설정하지 못하도록 하지 않습니다. 기본적으로 비활성화되어 있으며 즉시 암호 변경을 허용합니다. 이 기능은 [ID] 드라이버sql 백엔드에 따라 다릅니다. 참고: [security_compliance] password_expires_days 가 설정된 경우 이 옵션의 값은 password_expires_days 보다 작아야 합니다.

password_expires_days = None

정수 값

암호를 변경해야 하기 전에 유효한 것으로 간주되는 일 수입니다. 이 기능은 기본적으로 비활성화되어 있습니다. 활성화하면 새 암호 변경의 만료 날짜가 있지만 기존 암호에는 영향을 미치지 않습니다. 이 기능은 [ID] 드라이버sql 백엔드에 따라 다릅니다.

password_regex = None

문자열 값

암호 강도 요구 사항을 확인하는 데 사용되는 정규식입니다. 기본적으로 정규식은 모든 암호와 일치합니다. 다음은 최소 1자, 1자리가 필요한 패턴의 예입니다. ^(?=.\\d)(?=.[a-zA-Z]).{7,} 이 기능은 [identity] 드라이버에 대한 sql 백엔드에 따라 다릅니다.

password_regex_description = None

문자열 값

암호 정규식을 여기에 사람을 위한 언어로 설명합니다. 암호가 정규식과 일치하지 않으면 이 구성 변수의 내용이 사용자에게 반환되어 요청된 암호가 충분하지 않은 이유를 설명합니다.

unique_last_password_count = 0

정수 값

이렇게 하면 새로 생성된 암호가 고유한 암호를 강제 적용하기 위해 기록에 보관하기 위해 이전 사용자 암호 반복 횟수가 제어됩니다. 새 암호가 포함된 총 수는 이 값보다 크거나 같을 수 없습니다. 값을 0(기본값)으로 설정하면 이 기능이 비활성화됩니다. 따라서 이 기능을 사용하려면 값이 0보다 커야 합니다. 이 기능은 [ID] 드라이버sql 백엔드에 따라 다릅니다.

7.1.39. shadow_users

다음 표에는 /etc/keystone/keystone.conf 파일의 [shadow_users] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.38. shadow_users
구성 옵션 = 기본값유형설명

driver = sql

문자열 값

keystone.identity.shadow_users 네임스페이스의 shadow 사용자 백엔드 드라이버의 진입점입니다. 이 드라이버는 페더레이션, LDAP 등을 통해 외부 관리 ID에 대한 로컬 사용자 참조를 유지하는 데 사용됩니다. Keystone에서는 sql 드라이버만 제공하므로 사용자 정의 진입점을 제공하지 않는 한 이 옵션을 변경할 이유가 없습니다.

7.1.40. token

다음 표에는 /etc/keystone/keystone.conf 파일의 [token] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.39. token
구성 옵션 = 기본값유형설명

allow_expired_window = 172800

정수 값

이렇게 하면 토큰이 기본 제공 만료 시간 이상으로 검색할 수 있는 시간(초)이 제어됩니다. 이렇게 하면 장기 실행 작업이 성공할 수 있습니다. 기본값은 2일입니다.

allow_rescope_scoped_token = True

부울 값

이 토글은 범위가 지정된 토큰을 새 프로젝트 또는 도메인으로 다시 지정할 수 있는지 여부를 전환하여 사용자가 다른 토큰에 대해 범위 토큰(기본 프로젝트 범위가 포함된 토큰 포함)을 교환하지 못하도록 합니다. 이로 인해 사용자는 범위가 지정되지 않은 토큰에 대해 인증해야 하며 나중에 토큰에 대해 범위가 지정되지 않은 토큰을 교환하거나 범위가 지정된 토큰에 대한 모든 요청에 인증 정보를 제공하여 다시 제거되지 않도록 합니다.

cache_on_issue = True

부울 값

첫 번째 토큰 유효성 검사로 인해 전체 검증 주기가 발생하지 않도록 발행된 토큰 데이터를 토큰 검증 캐시에 저장할 수 있습니다. 이 옵션은 글로벌 캐싱이 활성화되지 않는 한 영향을 미치지 않으며 [token] 캐싱 = False인 경우에도 토큰 을 계속 캐시합니다. 더 이상 사용되지 않음: S

*reason:*Keystone은 이미 캐싱 토큰을 위한 구성 옵션을 노출하고 있습니다. 토큰이 발행될 때 토큰을 캐시하는 별도의 구성 옵션이 중복되고, 불필요하게 복잡하며, 토큰이 발행될 때 기본적으로 사전 캐시되므로 토큰 캐싱이 비활성화되면 잘못된 경우가 있습니다. 토큰을 발행할 때 사전 캐시하는 기능은 향후 'keystone.conf [token] 캐싱' 옵션에 독점적으로 의존하게 됩니다.

cache_time = None

정수 값

토큰 생성 및 검증 데이터를 캐시하는 시간(초)입니다. 이는 글로벌 및 [token] 캐싱 이 모두 활성화되지 않는 한 적용되지 않습니다.

caching = True

부울 값

캐싱 토큰 생성 및 검증 데이터를 전환합니다. 이는 글로벌 캐싱이 활성화되지 않는 한 적용되지 않습니다.

expiration = 3600

정수 값

토큰이 유효한 상태로 유지해야 하는 시간(초)입니다. 이 값을 크게 줄이면 여러 서비스와 관련된 "긴 실행" 작업이 중단되고 사용자가 keystone을 더 자주 인증하도록 할 수 있습니다. 이 값을 크게 늘리면 동시에 유효한 토큰 수가 증가합니다. Keystone 토큰도 전달자 토큰이므로 더 짧은 기간은 손상된 토큰의 잠재적인 보안 영향을 줄일 수 있습니다.

provider = fernet

문자열 값

keystone.token.provider 네임스페이스에 있는 토큰 공급자의 진입점입니다. 토큰 공급자는 토큰 구성, 검증 및 취소 작업을 제어합니다. 지원되는 업스트림 공급자는 fernetjws 입니다. fernet 또는 jws 토큰에는 지속성이 필요하지 않으며 둘 다 추가 설정이 필요합니다. fernet 을 사용하는 경우 keystone-manage fernet_setup 을 실행하여 토큰을 암호화하는 데 사용되는 대칭 키를 만들어야 합니다. jws 를 사용하는 경우 토큰 서명 및 검증에 SHA-256 해시 알고리즘을 사용하여 ECDSA 키 쌍을 생성해야 합니다. 이 알고리즘은 keystone-manage create_jws_keypair 로 수행할 수 있습니다. fernet 토큰은 암호화되고 jws 토큰은만 서명됩니다. 배포에 토큰 ID를 생성하는 데 사용되는 페이로드 콘텐츠와 관련된 보안 요구 사항이 있는 경우 이를 고려하십시오.

revoke_by_id = True

부울 값

이 토글은 토큰 식별자와 다양한 토큰 열거 작업(예: 특정 사용자에게 발행된 모든 토큰 나열)을 통해 개별 토큰 취소를 지원합니다. 이러한 작업은 취소 여부를 고려할 토큰 목록을 결정하는 데 사용됩니다. kvs [revoke] 드라이버 를 사용하는 경우 이 옵션을 비활성화하지 마십시오.

7.1.41. tokenless_auth

다음 표에는 /etc/keystone/keystone.conf 파일의 [tokenless_auth] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.40. tokenless_auth
구성 옵션 = 기본값유형설명

issuer_attribute = SSL_CLIENT_I_DN

문자열 값

클라이언트 인증서의 발행자를 keystone에 전달하는 데 사용되는 WSGI 환경 변수의 이름입니다. 이 속성은 해당 매핑을 조회하기 위해 프로토콜과 함께 X.509 토큰리스 권한 부여의 ID 공급자 ID로 사용됩니다. 일반적인 배포에서는 이 값을 변경할 이유가 없습니다.

protocol = x509

문자열 값

X.509 토큰 없는 승인을 나타내는 데 사용되는 페더레이션 프로토콜 ID입니다. 이는 [tokenless_auth] issuer_attribute 값과 결합하여 해당 페더레이션 매핑을 찾는 데 사용됩니다. 일반적인 배포에서는 이 값을 변경할 이유가 없습니다.

trusted_issuer = []

다중 값

X.509 토큰 없이 권한을 사용할 수 있는 클라이언트 인증서의 신뢰할 수 있는 발행자를 식별하는 고유 이름 목록입니다. 옵션이 없으면 인증서가 허용되지 않습니다. 고유 이름(DN) 값의 형식은 쉼표로 구분하고 공백을 포함하지 않아야 합니다. 또한 개별 DN에 쉼표가 포함될 수 있으므로 이 구성 옵션은 여러 값을 나타내기 위해 여러 번 반복될 수 있습니다. 예를 들어 keystone.conf에는 trusted_issuer = CN=john,OU=keystone,O=openstacktrusted_issuer = CN=eng,O=eng,O=abc 와 같은 두 개의 다른 DN을 신뢰하기 위해 두 개의 연속 행이 포함됩니다.

7.1.42. TOTP

다음 표에는 /etc/keystone/keystone.conf 파일의 [totp] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.41. TOTP
구성 옵션 = 기본값유형설명

included_previous_windows = 1

정수 값

TOTP 패스코드를 처리할 때 확인할 이전 창의 수입니다.

7.1.43. 신뢰

다음 표에는 /etc/keystone/keystone.conf 파일의 [trust] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.42. 신뢰
구성 옵션 = 기본값유형설명

allow_redelegation = False

부울 값

권한 부여를 한 사용자에서 다른 사용자로 분류하여 효과적으로 신뢰를 연결할 수 있습니다. 비활성화하면 신뢰의 remaining_uses 속성이 0으로 제한됩니다.

driver = sql

문자열 값

keystone.trust 네임스페이스의 신뢰 백엔드 드라이버의 진입점입니다. Keystone에서는 sql 드라이버만 제공하므로 사용자 정의 진입점을 제공하지 않는 한 이 값을 변경할 이유가 없습니다.

max_redelegation_count = 3

정수 값

신뢰 체인에서 권한 부여를 한 사용자에서 다른 사용자로 다시 지정할 수 있는 최대 횟수입니다. 특정 신뢰에 대해 이 수를 더 줄일 수 있습니다.

7.1.44. unified_limit

다음 표에는 /etc/keystone/keystone.conf 파일의 [unified_limit] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.43. unified_limit
구성 옵션 = 기본값유형설명

cache_time = None

정수 값

통합 제한 데이터를 캐시하는 시간(초)입니다. 이는 글로벌 캐싱과 [unified_limit] 캐싱 이 모두 활성화되어 있지 않으면 적용되지 않습니다.

caching = True

부울 값

통합 제한 캐싱을 위해 토글합니다. 이는 글로벌 캐싱이 활성화되지 않는 한 적용되지 않습니다. 일반적인 배포에서는 이를 비활성화할 이유가 없습니다.

driver = sql

문자열 값

keystone.unified_limit 네임스페이스의 제한 백엔드 드라이버의 진입점입니다. Keystone은 sql 드라이버만 제공하므로 사용자 정의 진입점을 제공하지 않는 한 이 값을 변경할 이유가 없습니다.

enforcement_model = flat

문자열 값

프로젝트와 관련된 제한을 검증할 때 사용할 적용 모델입니다. 시행 모델은 기존 제한에 따라 다르게 동작하므로 모델을 실행 중인 배포로 전환하면 이전 버전과 호환되지 않는 변경이 발생할 수 있습니다.

list_limit = None

정수 값

통합 제한 컬렉션에서 반환되는 최대 엔터티 수입니다. 배포에 통합 제한이 많은 경우 이 기능이 유용할 수 있습니다.

7.1.45. wsgi

다음 표에는 /etc/keystone/keystone.conf 파일의 [wsgi] 그룹에서 사용할 수 있는 옵션이 요약되어 있습니다.

표 7.44. wsgi
구성 옵션 = 기본값유형설명

debug_middleware = False

부울 값

true로 설정하면 Keystone에서 oslo 디버그 미들웨어가 활성화됩니다. 이 미들웨어는 요청과 응답에 대한 많은 정보를 출력합니다. 유선(디코딩)의 데이터에 대한 정보를 가져오고 WSGI 애플리케이션 파이프라인으로 전달하는 데 유용합니다. 이 미들웨어는 구성 파일의 [DEFAULT] 섹션에 있는 "디버그" 설정 또는 Keystone의 로그 수준을 "DEBUG"로 설정하는 데 영향을 미치지 않습니다. 이 미들웨어는 입력 시 WSGI 데이터를 디버깅하고 Keystone(특정 요청 관련 데이터)을 디버깅하는 데만 적용됩니다. 이 옵션은 웹 서버(apache, nginx 등)와 Keystone 간의 요청 및 응답 데이터를 인트로스펙션하는 데 사용됩니다. 이 미들웨어는 미들웨어 체인의 첫 번째 요소로 삽입되고 가장 가까운 데이터를 표시합니다. 경고: 프로덕션에서 사용할 수 없습니다. 이 미들웨어는 민감한/권한 있는 데이터를 내보낼 수 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.