検索

第7章 keystone

download PDF

以下の章では、keystone サービスの設定オプションを説明します。

7.1. keystone.conf

このセクションでは、/etc/keystone/keystone.conf ファイルのオプションを説明します。

7.1.1. デフォルト

以下の表は、/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'、'amqplib=WARN'、'boto=WARN'、'qpid=WARN'、'sqlalchemy=WARN'、'suds=INFO'、'oslo.messaging=INFO'、'oslo_messaging=INFO'、'iso8601=WARN'、'requests.packages.urllib3.connectionpool=WARN'、'urllib3.connectionpool=WARN'、'websocket=WARN'、'requests.packages.urllib3.util.retry=WARN'、'urllib3.util.retry=WARN'、'keystonemiddleware=WARN'、'routes.middleware=WARN'、'stevedore=WARN'、'taskflow=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

整数値

エグゼキューターがスレッディングまたはイベントレットの場合のエグゼキュータースレッドプールのサイズ。

fatal_deprecations = False

ブール値

非推奨の致命的なステータスを有効または無効にします。

insecure_debug = False

ブール値

true に設定すると、サーバーは、認証されていない、または認証されたユーザーが通常の情報 (認証が失敗した理由に関する追加情報など) を取得できるように HTTP 応答の情報を返します。これはデバッグに役立ちますが、安全ではありません。

instance_format = [instance: %(uuid)s]

文字列値

ログメッセージで渡されるインスタンスの形式。

instance_uuid_format = [instance: %(uuid)s]

文字列値

ログメッセージで渡されるインスタンス UUID の形式。

list_limit = None

整数値

コレクションで返されるエンティティーの最大数。次に、適切なセクションに list_limit を指定して、特定のドライバーに対してこのグローバル制限を上書きできます (例: [assignment])。デフォルトでは制限は設定されません。大規模なデプロイメントでは、全ユーザーおよびプロジェクトをリスト表示するような操作がシステムに不必要な負荷が配置されないようにするために、これを妥当な数値に設定することが推奨されます。

log-config-append = None

文字列値

ロギング設定ファイルの名前。このファイルは、既存のロギング設定ファイルに追加されます。ロギング設定ファイルの詳細は、Python のロギングモジュールのドキュメントを参照してください。ロギング設定ファイルを使用すると、すべてのロギング設定が設定ファイルで設定され、その他のロギング設定オプションは無視されます (例:log-date-format)。

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

文字列値

ログレコードの %%(asctime)s のフォーマット文字列を定義します。デフォルト:%(default)sこのオプションは、log_config_append が設定されている場合は無視されます。

log-dir = None

文字列値

(オプション)log_file の相対パスに使用されるベースディレクトリー。このオプションは、log_config_append が設定されている場合は無視されます。

log-file = None

文字列値

(オプション) ロギング出力を送信するログファイルの名前。デフォルトが設定されていない場合、ロギングは 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 %(name)s [%(global_request_id)s %(request_id)s %(user_identity)s] %(instance)s%(message)s

文字列値

コンテキスト付きログメッセージに使用するフォーマット文字列。oslo_log.formatters.ContextFormatter により使用されます。

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

文字列値

メッセージのロギングレベルが DEBUG の場合にログメッセージに追加する追加のデータ。oslo_log.formatters.ContextFormatter により使用されます。

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

文字列値

コンテキストが定義されていない場合に、ログメッセージに使用するフォーマット文字列。oslo_log.formatters.ContextFormatter により使用されます。

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

文字列値

この形式で、例外出力の各行の前に接頭辞が付けられます。oslo_log.formatters.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)s のフォーマット文字列を定義します。oslo_log.formatters.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 と同様ですが、トークン値の例外を提供します。Fernet トークンでは、この値を 255 未満に設定できます。

notification_format = cadf

文字列値

Identity サービスイベントの通知形式を定義します。basic 通知には、操作するリソースに関する情報のみがあります。cadf 通知には、イベントのイニシエーターに関する情報と、同じ情報があります。cadf オプションは basic オプションと完全に後方互換性がありますが、CADF は完全に準拠しており、監査のユースケースで推奨されます。

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 の値に keystone が自動的に推測されないパス (/prefix/v3) が含まれている場合に限ります。または、エンドポイントが別のホストにある必要がある場合に限ります。

publish_errors = False

ブール値

エラーイベントの公開を有効または無効にします。

rate_limit_burst = 0

整数値

rate_limit_interval ごとのログ記録されたメッセージの最大数。

rate_limit_except_level = CRITICAL

文字列値

レート制限で使用されるログレベル名:CRITICAL、ERROR、INFO、WARNING、DEBUG または空の文字列。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 環境で実行している場合は、ジャーナルサポートを有効にしたい場合があります。その場合、ログメッセージに加えて構造化されたメタデータが含まれる journal ネイティブプロトコルが使用されます。このオプションは、log_config_append が設定されている場合は無視されます。

use-json = False

ブール値

ロギングに JSON 形式を使用します。このオプションは、log_config_append が設定されている場合は無視されます。

use-syslog = False

ブール値

ロギングに syslog を使用します。既存の syslog 形式は非推奨であり、後に 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 データベースでエラーが発生したり、keystone が DoS 攻撃を行う可能性がありました。

7.1.3. assignment

以下の表は、/etc/keystone/keystone.conf ファイルの [assignment] グループで使用できるオプションの概要をまとめたものです。

表7.2 assignment
設定オプション = デフォルト値タイプ説明

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 auth プラグインモジュールのエントリーポイント。keystone の独自の application_credential 認証プラグインを上書きする場合以外は、この設定を行う必要はありません。

external = None

文字列値

keystone.auth.external 名前空間の外部 (REMOTE_USER) 認証プラグインモジュールのエントリーポイント。提供されるドライバーは DefaultDomain および Domain です。デフォルトのドライバーは DefaultDomain です。ここでは、REMOTE_USER 変数の keystone に指定したユーザー名で識別されているすべてのユーザーが、デフォルトドメインのコンテキスト内に存在することを前提とします。Domain オプションは、REMOTE_USER のドメイン名を含む追加の環境変数 REMOTE_DOMAIN が keystone に提示されることを期待します (REMOTE_DOMAIN が設定されていない場合、代わりにデフォルトのドメインが使用されることになります)。"外部認証" を利用する場合、アプリケーションサーバー (Apache など) が keystone ではなく認証を処理している場合を除き、この設定を行う必要はありません。

mapped = None

文字列値

keystone.auth.mapped 名前空間のマップされた auth プラグインモジュールのエントリーポイント。keystone の独自の mapped 認証プラグインを上書きする場合以外は、この設定を行う必要はありません。

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

リスト値

許可される認証方法。注意: 現在フェデレーションを使用している場合は、external 認証メソッドを無効にする必要があります。外部認証とフェデレーションはいずれも REMOTE_USER 変数を使用します。マッピングされたプラグインと外部プラグインの両方がリクエスト環境で属性を検証するため、競合が発生する可能性があります。

oauth1 = None

文字列値

keystone.auth.oauth1 名前空間の OAuth 1.0a auth プラグインモジュールのエントリーポイント。keystone 自身の oauth1 認証プラグインを上書きする場合以外は、この設定を行う必要はありません。

password = None

文字列値

keystone.auth.password 名前空間のパスワード認証プラグインモジュールのエントリーポイント。keystone 自体のパスワード認証プラグインを上書きする場合を除き、この設定は必要ありません。

token = None

文字列値

keystone.auth.token 名前空間のトークン認証プラグインモジュールのエントリーポイント。keystone 自体のトークン認証プラグインを上書きする場合を除き、この設定は必要ありません。

7.1.5. cache

以下の表は、/etc/keystone/keystone.conf ファイルの [cache] グループで使用できるオプションの概要をまとめたものです。

表7.4 cache
設定オプション = デフォルト値タイプ説明

backend = dogpile.cache.null

文字列値

キャッシュバックエンドモジュール。数百のスレッドサーバーを持つイベントレットベースまたは環境の場合は、プーリングを含む Memcache (oslo_cache.memcache_pool) が推奨されます。100 台未満のスレッドサーバーがある環境では、Memcached(dogpile.cache.memcached) または Redis(dogpile.cache.redis) が推奨されます。サーバーの単一のインスタンスを含むテスト環境は、dogpile.cache.memory バックエンドを使用できます。

backend_argument = []

多値

バックエンドモジュールに指定された引数。このオプションは、dogpile.cache バックエンドに渡される引数ごとに 1 回指定します。例: "<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 クライアントをラップするために使用できます。ラッパーを使用すると、試行回数と attemot 間の待機時間を定義できます。

enable_socket_keepalive = False

ブール値

dogpile の pymemcache バックエンドのソケットキープアライブのグローバルトグル

enabled = True

ブール値

キャッシュのグローバル切り替え。

expiration_time = 600

整数値

dogpile.cache リージョンのキャッシュされた項目に対するデフォルトの TTL (秒単位)。これは、キャッシュの有効期限が明示的に定義されていないキャッシュされたメソッドに適用されます。

hashclient_retry_attempts = 2

整数値

HashClient の内部メカニズムでクライアントが無効としてマークされ、プールから削除されるまで、クライアントを試行する必要がある回数。

hashclient_retry_delay = 1

浮動小数点の値

HashClient の内部メカニズムでの再試行の間に経過する時間 (秒単位)。

memcache_dead_retry = 300

整数値

再試行するまで memcached サーバーが停止されているとみなされる秒数 (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 and SecurityLayer) を有効にし、それ以外の場合は無効にします。

memcache_servers = ['localhost:11211']

リスト値

"host:port" 形式の memcache サーバー。これは、Memcached に依存するバックエンドによって使用されます。dogpile.cache.memcached または oslo_cache.memcache_pool が使用され、指定されたホストが IPv6 を参照するか、指定されたドメインが IPv6 を参照する場合は、指定されたアドレスの前にアドレスファミリー (inet6) を付ける必要があります (例: inet6[::1]:11211inet6:[fd12:3456:789a:1::1]:11211inet6:[controller-0.internalapi]:11211)。アドレスファミリーが指定されていない場合は、これらのバックエンドは IPv4 に対応するデフォルトの inet アドレスファミリーを使用します。

memcache_socket_timeout = 1.0

浮動小数点の値

サーバーへの呼び出しごとにタイムアウト (秒単位)。(dogpile.cache.memcache および oslo_cache.memcache_pool バックエンドのみ)。

`memcache_username = `

文字列値

SASL が有効になっている memcached のユーザー名

proxies = []

リスト値

dogpile.cache バックエンドの機能に影響を与えるプロキシークラス。changing-backend-behavior に関する dogpile.cache ドキュメントを参照してください。

retry_attempts = 2

整数値

失敗するまでアクションを試行する回数。

retry_delay = 0

浮動小数点の値

各試行の間にスリープする秒数。

socket_keepalive_count = 1

整数値

接続を切断する前に TCP が送信するキープアライブプローブの最大数。ゼロより大きい正の整数である必要があります。

socket_keepalive_idle = 1

整数値

TCP がキープアライブプローブの送信を開始する前に、接続がアイドル状態を維持する必要がある時間 (秒単位)。ゼロより大きい正の整数である必要があります。

socket_keepalive_interval = 1

整数値

個々のキープアライブプローブ間の時間 (秒単位)。ゼロより大きい正の整数である必要があります。

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 オプション (SQL 経由の基本的な CRUD 操作)、templated オプション (ディスク上のテンプレート化されたカタログからカタログを読み込む)、および endpoint_filter.sql オプション (プロジェクトごとに任意のサービスカタログをサポートする) を提供します。

list_limit = None

整数値

カタログコレクションで返されるエンティティーの最大数。デプロイメントに十分なサービスやエンドポイントがあり、妥当な制限を超えるのに十分なサービスやエンドポイントがあるため、通常はこれを設定する必要はありません。

template_file = default_catalog.templates

文字列値

テンプレート化されたカタログバックエンドに使用するファイルへの絶対パス。このオプションは、[catalog] drivertemplated に設定されている場合にのみ使用されます。

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-Id', 'X-Project-Domain-Name', 'X-Domain-Id', 'X-Domain-Name', 'Openstack-Auth-Receipt']

リスト値

実際の要求時に使用されるヘッダーフィールド名を示します。

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

リスト値

実際の要求時に使用できるメソッドを示します。

allowed_origin = None

リスト値

このリソースがリクエストの "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 ヘッダーです。

max_age = 3600

整数値

CORS プリフライトリクエストの最大キャッシュ期間。

7.1.8. credential

以下の表は、/etc/keystone/keystone.conf ファイルの [credential] グループで使用できるオプションの概要をまとめたものです。

表7.7 credential
設定オプション = デフォルト値タイプ説明

auth_ttl = 15

整数値

署名付き EC2 または S3 トークン要求がトークン要求に含まれるタイムスタンプから有効になる期間 (分単位)。

cache_time = None

整数値

認証情報データを秒単位でキャッシュする時間 (秒単位)。これは、グローバルキャッシングが有効でない限り効果はありません。

caching = True

ブール値

ユーザー認証情報の取得時にのみキャッシュを有効にします。これは、グローバルキャッシングが有効でない限り効果はありません。

driver = sql

文字列値

keystone.credential 名前空間内のクレデンシャルバックエンドドライバーのエントリーポイント。Keystone は sql ドライバーのみを提供するため、カスタムエントリーポイントを提供しない限り、この変更の理由はありません。

key_repository = /etc/keystone/credential-keys/

文字列値

認証情報のバックエンドに保存されている認証情報を暗号化および復号化するために使用される Fernet キーが含まれるディレクトリー。認証情報の暗号化に使用される Fernet キーは、Fernet トークンの暗号化に使用される Fernet キーとは関係ありません。両方の鍵は別々に管理する必要があり、異なるローテーションポリシーが必要です。Fernet トークンのキーの管理に使用するリポジトリーとこのリポジトリーを共有しないでください。

provider = fernet

文字列値

keystone.credential.provider 名前空間での認証情報の暗号化および復号操作のエントリーポイント。Keystone は fernet ドライバーのみを提供するため、認証情報を暗号化および復号化するカスタムエントリーポイントを提供しない限り、この変更の理由はありません。

user_limit = -1

整数値

ユーザーが作成できる認証情報の最大数。-1 の値は無制限を意味します。制限が設定されていない場合、ユーザーは認証情報を自由に作成できます。これにより、keystone データベースが肥大化したり、keystone が DoS 攻撃を受ける可能性があります。

7.1.9. database

以下の表は、/etc/keystone/keystone.conf ファイルの [database] グループで使用できるオプションの概要をまとめたものです。

表7.8 database
設定オプション = デフォルト値タイプ説明

backend = sqlalchemy

文字列値

データベースに使用するバックエンド。

connection = None

文字列値

データベースへの接続に使用する SQLAlchemy 接続文字列。

connection_debug = 0

整数値

SQL デバッグ情報の冗長性: 0=なし、100=すべて。

`connection_parameters = `

文字列値

接続時に接続 URL に追加するオプションの URL パラメーター。param1=value1&param2=value2&…​ として指定します。

connection_recycle_time = 3600

整数値

この秒数より長く接続プールに存在していた接続は、次にプールからチェックアウトされたときに新しい接続に置き換えられます。

connection_trace = False

ブール値

Python スタックトレースをコメント文字列として SQL に追加します。

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 以降 非推奨

*理由:*MySQL NDB Cluster ストレージエンジンのサポートは非推奨となり、今後のリリースで削除される予定です。

mysql_sql_mode = TRADITIONAL

文字列値

MySQL セッションに使用する SQL モード。このオプション (デフォルトを含む) は、サーバーセット SQL モードを上書きします。サーバー設定で設定された SQL モードを使用するには、これを no value に設定します。例: mysql_sql_mode=

mysql_wsrep_sync_wait = None

整数値

Galera の場合に限り、新しい接続で wsrep_sync_wait 因果関係チェックを設定します。デフォルトは 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

整数値

ドメイン固有の設定データをキャッシュするための Time-to-live (TTL)。[domain_config] caching が有効でない限り、これは効果がありません。

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

以下の表は、/etc/keystone/keystone.conf ファイルの [federation] グループで使用できるオプションの概要をまとめたものです。

表7.13 federation
設定オプション = デフォルト値タイプ説明

`assertion_prefix = `

文字列値

フェデレーションされたアサーションの環境変数名をフィルターする際に使用する接頭辞。一致する変数は、フェデレーションされたマッピングエンジンに渡されます。

caching = True

ブール値

フェデレーションキャッシングを切り替えます。これは、グローバルキャッシングが有効でない限り効果はありません。通常、これを無効にする理由はありません。

default_authorization_ttl = 0

整数値

マッピングから引き継がれたグループメンバーシップの有効期間のデフォルト時間 (分単位)。デフォルトは 0 で、無効を意味します。

driver = sql

文字列値

keystone.federation 名前空間内のフェデレーションバックエンドドライバーのエントリーポイント。Keystone は sql ドライバーのみを提供するため、カスタムエントリーポイントを提供しない限り、このオプションを設定する必要はありません。

federated_domain_name = Federated

文字列値

フェデレーションされた一時ユーザーがドメインの概念を設定できるように予約される任意のドメイン名。管理者は、この名前でドメインを作成したり、既存のドメインをこの名前に更新したりすることはできません。本当に必要でない限り、この値を変更しないようにしてください。非推奨となったバージョン: T

*理由:* このオプションは、アイデンティティープロバイダーのドメインに存在する一時ユーザーに置き換えられました。

remote_id_attribute = None

文字列値

環境からアイデンティティープロバイダーのエンティティー 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

文字列値

シングルサインオンコールバックハンドラーとして使用される HTML ファイルへの絶対パス。このページには、POST 要求でトークンをエンコードすることで、keystone からのユーザーを信頼済みのダッシュボードホストにリダイレクトすることが想定されています。ほとんどのデプロイメントでは、Keystone のデフォルト値で十分です。

trusted_dashboard = []

多値

信頼済みダッシュボードホストのリスト。トークンを返すためのシングルサインオン要求を受け入れる前に、元のホストはこのリストのメンバーである必要があります。この設定オプションは、複数の値に対して繰り返すことができます。これは、web ベースの 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/

文字列値

Fernet receipt キーを含むディレクトリー。このディレクトリーは、keystone-manage fernet_setup を初めて使用する前に存在し、keystone-manage fernet_setup または keystone-manage fernet_rotate を実行しているユーザーが書き込み可能で、もちろん keystone のサーバープロセスも読み取り可能でなければなりません。リポジトリーには、受信検証に使用される単一のステージキー (常にインデックス 0)、受信に使用される 1 つのプライマリーキー (常に最も高いインデックス)、受信および検証に使用される 1 つのセカンダリーキー (他のすべてのインデックス値)、および受信検証に使用される 1 つのセカンダリーキー (他のすべてのインデックス値) が含まれます。複数の keystone ノードの場合、各ノードはステージドキー (インデックス 0) を除き、同じキーリポジトリーコンテンツを共有する必要があります。1 つのノードで keystone-manage fernet_rotate を 1 回実行し、ステージングキー (インデックス 0) を新しいプライマリーに昇格させ (前の最高インデックスから増量)、新しいステージングキー (インデックス 0 の新しいキー) を生成することは安全である。出来上がったリポジトリーは、レースコンディションのリスクなしに他のノードにアトミックに複製できます。(例えば、ホスト A でkeystone-manage fernet_rotate を実行し、任意の時間を待ち、ホスト A でディレクトリーの tarball を作成し、ホスト B でそれを一時的に解凍し、ホスト B の場所にディレクトリーをアトミック (mv) 移動しても問題ないです)。他のノードを同期せずにキーリポジトリーで keystone-manage fernet_rotate2 回 実行すると、受信が全ノードで検証できなくなります。

max_active_keys = 3

整数値

これは、keystone-manage fernet_rotate が破棄される前に、ローテーションで保持される鍵の数を制御します。デフォルト値の 3 は、keystone がステージドキー (常にインデックス 0)、1 つのプライマリーキー (最大数インデックス)、および 1 つのセカンダリーキー (他のすべてのインデックス) を維持することを意味します。この値を増やすと、セカンダリーキーがローテーションに保持されます。

7.1.16. fernet_tokens

以下の表は、/etc/keystone/keystone.conf ファイルの [fernet_tokens] グループで使用できるオプションの概要をまとめたものです。

表7.15 fernet_tokens
設定オプション = デフォルト値タイプ説明

key_repository = /etc/keystone/fernet-keys/

文字列値

Fernet トークンキーを含むディレクトリー。このディレクトリーは、keystone-manage fernet_setup を初めて使用する前に存在し、keystone-manage fernet_setup または keystone-manage fernet_rotate を実行しているユーザーが書き込み可能で、もちろん keystone のサーバープロセスも読み取り可能でなければなりません。リポジトリーには、トークン検証に使用される単一のステージキー (常にインデックス 0)、トークンの作成と検証に使用される単一のプライマリーキー (最も高いインデックス)、およびトークン検証に使用される 1 つのセカンダリーキー (他のすべてのインデックス値) の 3 つの状態のキーが含まれる可能性があります。複数の keystone ノードの場合、各ノードはステージドキー (インデックス 0) を除き、同じキーリポジトリーコンテンツを共有する必要があります。1 つのノードで keystone-manage fernet_rotate を 1 回実行し、ステージングキー (インデックス 0) を新しいプライマリーに昇格させ (前の最高インデックスから増量)、新しいステージングキー (インデックス 0 の新しいキー) を生成することは安全である。出来上がったリポジトリーは、レースコンディションのリスクなしに他のノードにアトミックに複製できます。(例えば、ホスト A でkeystone-manage fernet_rotate を実行し、任意の時間を待ち、ホスト A でディレクトリーの tarball を作成し、ホスト B でそれを一時的に解凍し、ホスト B の場所にディレクトリーをアトミック (mv) 移動しても問題ないです)。他のノードを同期せずに、キーリポジトリーで keystone-manage fernet_rotate2 回 実行すると、全ノードで検証できないトークンが生成されます。

max_active_keys = 3

整数値

これは、keystone-manage fernet_rotate が破棄される前に、ローテーションで保持される鍵の数を制御します。デフォルト値の 3 は、keystone がステージドキー (常にインデックス 0)、1 つのプライマリーキー (最大数インデックス)、および 1 つのセカンダリーキー (他のすべてのインデックス) を維持することを意味します。この値を増やすと、セカンダリーキーがローテーションに保持されます。

7.1.17. Healthcheck

以下の表は、/etc/keystone/keystone.conf ファイルの [healthcheck] グループで使用できるオプションの概要をまとめたものです。

表7.16 Healthcheck
設定オプション = デフォルト値タイプ説明

backends = []

リスト値

ヘルスチェックを実施し、リクエストの一部としてその情報を報告できる追加のバックエンド。

detailed = False

ブール値

応答の一部として詳細情報を表示します。セキュリティーメモ: このオプションを有効にすると、監視対象のサービスに関する機密情報が漏洩する可能性があります。セキュリティーポリシーに違反しないことを確認してください。

disable_by_file_path = None

文字列値

ファイルが存在することを確認し、アプリケーションがポート上で実行されているかどうかを確認します。DisableByFileHealthcheck プラグインで使用されます。

disable_by_file_paths = []

リスト値

ポートに基づいてファイルが存在することを確認し、アプリケーションがポート上で実行されているかどうかを判断します。文字列の "port:path" リストを想定します。DisableByFilesPortsHealthcheck プラグインで使用されます。

path = /healthcheck

文字列値

healtcheck 要求に応答するパス。

7.1.18. identity

以下の表は、/etc/keystone/keystone.conf ファイルの [identity] グループで使用できるオプションの概要をまとめたものです。

表7.17 identity
設定オプション = デフォルト値タイプ説明

cache_time = 600

整数値

アイデンティティーデータのキャッシュ時間 (秒単位)。グローバルおよびアイデンティティーキャッシングが有効でない限り、効果はありません。

caching = True

ブール値

アイデンティティーキャッシングを切り替えます。これは、グローバルキャッシングが有効でない限り効果はありません。通常、これを無効にする理由はありません。

default_domain_id = default

文字列値

これは、すべての Identity API v2 要求に使用するドメインを参照します (これはドメインを認識しません)。この ID を持つドメインは、オプションで keystone-manage bootstrap により作成することができます。v2 API が誤って破損しないように、この ID によって参照されるドメインは 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 で識別されるディレクトリー内のファイルから読み込まれます。このオプションを有効にすると、代わりに API 経由でドメイン固有の設定を管理することができます。これは、ディスク上の設定ファイルを使用するのではなく、バックエンド (通常は SQL データベース) で永続化されます。

domain_specific_drivers_enabled = False

ブール値

ドメインのサブセット (またはすべて) には独自のアイデンティティードライバーがあり、それぞれに独自の部分的な設定オプションがあり、リソースバックエンドまたはドメイン設定ディレクトリーのファイルのいずれかに保存されます ([identity] domain_configurations_from_database の設定により異なります)。このようにドメインに固有の値のみを指定する必要があります。この機能はデフォルトでは無効になっていますが、今後のリリースではデフォルトで有効化される可能性があります。有効にするには true に設定します。

driver = sql

文字列値

keystone.identity 名前空間の identity バックエンドドライバーのエントリーポイント。Keystone は sql ドライバーと ldap ドライバーを提供します。このオプションは、[identity] domain_specific_drivers_enabled が有効になった場合に、デフォルトのドライバー選択 (およびこのセクションの他の設定変数とともに) として使用されますが、該当するドメイン固有の設定は定義されません。デプロイメントが主に ldap に依存しており、ドメイン固有の設定を使用していない限り、通常はこれを sql に設定したままにしておきます。

list_limit = None

整数値

アイデンティティーコレクションで返されるエンティティーの最大数。

max_password_length = 4096

整数値

ユーザーパスワードの最大許容長。パフォーマンスを向上させるために、この値を小さくします。この値を変更しても、既存のパスワードは影響を受けません。この値は、設定された値よりも優先される特定のハッシュアルゴリズムの最大許容長によってオーバーライドされることもあります。bcrypt max_password_length は 72 バイトです。

password_hash_algorithm = bcrypt

文字列値

keystone に保存されているパスワードに使用するパスワードハッシュアルゴリズム。

password_hash_rounds = None

整数値

このオプションは、セキュリティーとパフォーマンス間のトレードオフを表します。値が大きいほどパフォーマンスは低下しますが、セキュリティーが強化されます。このオプションを変更すると、既存のパスワードハッシュにすでに固定数のラウンドが適用されているため、新しく作成されたパスワードにのみ影響するため、実行中のクラスターでこのオプションを調整しても安全です。bcrypt のデフォルト値は 12 で、4 から 31 までの値である必要があります。scrypt のデフォルト値は 16 で、range(1,32) 内に指定する必要があります。pbkdf_sha512 のデフォルトは 60000 で、range (1,1<<32) 内である必要があります。警告: scrypt を使用する場合は、この値を大きくして、パスワードのハッシュに BOTH 時間およびメモリー要件を増やします。

salt_bytesize = None

整数値

scrypt および pbkfd2_sha512 ハッシュの salt で使用するバイト数。scrypt のデフォルト値は 16 バイトです。デフォルトは、pbkfd2_sha512 は 16 バイトです。パスワードハッシュを保存するために使用される列のサイズにより、96 バイトの最大値に制限されます。

scrypt_block_size = None

整数値

scrypt ハッシュ関数に渡す任意のブロックサイズ (r パラメーター)。scrypt を CPU アーキテクチャーのパフォーマンスを最適に調整するのに便利です。このオプションは、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) で、Jupno でユーザーおよびグループ ID の形式が変更され、keystone は LDAP の基礎となる属性にハッシュのマッピングを提供します。デフォルトでは、このマッピングが無効になり、既存の ID が変更されなくなります。ドメイン固有のドライバー ([identity] domain_specific_drivers_enabled) を使用してマッピングが有効になっている場合でも、LDAP によって処理されるデフォルトドメインのユーザーおよびグループは、ID が後方互換性を維持するようにマッピングされません。この値を false に設定すると、デフォルトの LDAP ドライバーを含め、すべてのバックエンドの新しいマッピングが有効になります。デフォルトの LDAP ドメインからユーザーおよびグループが割り当てられておらず、Keystone で以前に行った異なる ID を提供していない場合 (API の既存 ID は突然変更される)、このオプションを安全に保つことが保証されます。通常、この値を false に設定できるのは、新しいインストールを設定するときだけであることを意味しますが、これは推奨値です。

driver = sql

文字列値

keystone.identity.id_mapping 名前空間の identity マッピングバックエンドドライバーのエントリーポイント。Keystone は sql ドライバーのみを提供するため、カスタムエントリーポイントを提供しない限り、これを変更する必要はありません。

generator = sha256

文字列値

keystone.identity.id_generator namespace 内のユーザーおよびグループエンティティーのパブリック ID ジェネレーターのエントリーポイント。Keystone アイデンティティーマッパーは、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 の server プロセスでも読み取り可能でなければなりません。keystone.conf [jwt_tokens] jws_public_key_repository の公開鍵に対応する秘密鍵が少なくとも 1 つ含まれる必要があります。このディレクトリーに複数の秘密鍵がある場合、keystone は private.pem という名前の鍵を使用してトークンに署名します。今後、keystone は複数の秘密鍵でトークンに署名する機能をサポートする場合があります。現在、JWS トークンを発行するには、このディレクトリーに private.pem という名前のキーのみが必要になります。このオプションは、JWS トークンを発行し、keystone.conf [token] provider = jws を設定するデプロイメントにのみ適用されます。

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

文字列値

JWS トークン署名を検証するための公開鍵を含むディレクトリー。keystone のサーバープロセスを開始するには、このディレクトリーが存在している必要があります。また、keystone の server プロセスでも読み取り可能でなければなりません。keystone.conf [jwt_tokens] jws_private_key_repository の秘密鍵に対応するパブリックキーを少なくとも 1 つ含む必要があります。このオプションは、JWS トークンを発行し、keystone.conf [token] provider = jws を設定するデプロイメントにのみ適用されます。

7.1.21. ldap

以下の表は、/etc/keystone/keystone.conf ファイルの [ldap] グループで使用できるオプションの概要をまとめたものです。

表7.20 ldap
設定オプション = デフォルト値タイプ説明

alias_dereferencing = default

文字列値

エイリアスを含むクエリーに使用する LDAP 逆参照オプション。default の値は、ldap.conf によって設定されたデフォルトの逆参照動作を使用するようにフォールバックされます。値が never の場合は、エイリアスが逆参照されなくなります。searching の値は、名前解決の後にのみエイリアスの参照を解除します。finding の値は、名前解決時にのみエイリアスを参照します。always の値は、すべての場合において、エイリアスを非参照とする。

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>:<group_attr> です。ldap_attr は LDAP オブジェクトの属性で、group_attr は Identity 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 である場合は、このオプションを有効にします。Open Directory のグループオブジェクトクラスとして posixGroup を使用した場合です。

group_name_attribute = ou

文字列値

keystone のグループ名にマッピングされる LDAP 属性。グループ名は keystone ドメイン内でのみ一意となることが想定されており、URL セーフであることが予想されます。

group_objectclass = groupOfNames

文字列値

グループに使用する LDAP オブジェクトクラス。このオプションを posixGroup に設定する場合は、[ldap] group_members_are_ids オプションを有効にすることもできます。

group_tree_dn = None

文字列値

グループに使用する検索ベース。デフォルトは、[ldap] suffix が追加された ou=UserGroups です。

page_size = 0

整数値

オブジェクトをリスト表示する際に keystone が LDAP サーバーから要求する必要のある、ページごとの最大結果数を定義します。0 を値として指定すると、ページングが無効になります。

password = None

文字列値

LDAP サーバーにクエリーを実行するときに使用する管理者バインド DN のパスワードは、LDAP サーバーが必要な場合です。

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 サーバーへの接続を試みる最大回数 (中止するまでの回数)。値が 1 の場合、接続は 1 回だけ試行されます。このオプションは、[ldap] use_pool が有効でない限り効果はありません。

pool_size = 10

整数値

LDAP 接続プールのサイズ。このオプションは、[ldap] use_pool が有効でない限り効果はありません。

query_scope = one

文字列値

検索ベース内での詳細な検索方法を定義する検索範囲。値 one (oneLevel または singleLevel を表す) は、ベースオブジェクトのすぐ下のオブジェクトを検索することを示すが、ベースオブジェクト自体は含まれない。sub の値 (subtree または wholeSubtree) は、ベースオブジェクト自体と、その下のサブツリー全体の検索を示します。

randomize_urls = False

ブール値

各 keystone プロセスの URL の順序をランダム化します。これにより、最初のサーバーがダウンした場合、プロセス/スレッドはリストの下位のサーバーへの接続を試行する前に、指定のタイムアウトに達するまで待機するため、障害の動作がより緩やかになります。下位互換性のために、デフォルトは False です。

suffix = cn=example,cn=com

文字列値

[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 サーバーから必要になります。allow に設定すると、証明書は常に要求されますが、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 は Identity 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 の user enabled 属性にマッピングされた LDAP 属性。このオプションを userAccountControl に設定する場合は、[ldap] user_enabled_mask[ldap] user_enabled_default を設定することを推奨します。

user_enabled_default = True

文字列値

ユーザーを有効にするためのデフォルト値。LDAP サーバーが、非ブール値 (ビットマスク) 値を使用してユーザーが有効または無効になっているかを示す場合は、適切な整数値と一致させる必要があります。これが 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 サーバーが個別のブール値ではなく、整数の整数を整数で表した場合、"有効な" 値を示すビットマスク整数。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] suffix が追加された ou=Users です。

7.1.22. memcache

以下の表は、/etc/keystone/keystone.conf ファイルの [memcache] グループで使用できるオプションの概要をまとめたものです。

表7.21 memcache
設定オプション = デフォルト値タイプ説明

dead_retry = 300

整数値

memcached サーバーが再び試行されるまで停止されているとみなされる秒数。これは、キー値ストアシステムによって使用されます。非推奨: Y 以降

*理由:* このオプションは効果がありません。代わりに、``keystone.conf [cache] memcache_dead_retry`` オプションを設定して memcached の dead_retry を設定します。

pool_connection_get_timeout = 10

整数値

操作が memcache クライアント接続を取得するのを待つ秒数。これは、キー値ストアシステムによって使用されます。非推奨: Y 以降

*理由:* このオプションは効果がありません。代わりに、``keystone.conf [cache] memcache_pool_connection_get_timeout`` オプションを設定して memcached の connection_get_timeout を設定します。

pool_maxsize = 10

整数値

すべての memcached サーバーへのオープン接続の最大数。これは、キー値ストアシステムによって使用されます。非推奨: Y 以降

*理由:* このオプションは効果がありません。代わりに、``keystone.conf [cache] memcache_pool_maxsize`` オプションを設定して memcached の pool_maxsize を設定します。

pool_unused_timeout = 60

整数値

memcached への接続が、閉じられる前にプールに未使用のまま保持される秒数。これは、キー値ストアシステムによって使用されます。非推奨: Y 以降

*理由:* このオプションは効果がありません。代わりに、``keystone.conf [cache] memcache_pool_unused_timeout`` オプションを設定して memcached の pool_unused_timeout を設定します。

socket_timeout = 3

整数値

サーバーへの呼び出しごとにタイムアウト (秒単位)。これは、キー値ストアシステムによって使用されます。非推奨となったバージョン: T

*理由:* このオプションは効果がありません。代わりに memcached の socket_timeout を設定するように "keystone.conf [cache] memcache_socket_timeout" オプションを設定します。

7.1.23. oauth1

以下の表は、/etc/keystone/keystone.conf ファイルの [oauth1] グループで使用できるオプションの概要をまとめたものです。

表7.22 oauth1
設定オプション = デフォルト値タイプ説明

access_token_duration = 86400

整数値

OAuth アクセストークンの作成後も有効な状態を維持するための秒数。これは、コンシューマーがサービスプロバイダー (通常は keystone) と対話する必要のある時間です。このオプションをゼロに設定すると、アクセストークンが最後に実行されることを意味します。

driver = sql

文字列値

keystone.oauth1 namespace の OAuth バックエンドドライバーのエントリーポイント。通常、カスタムエントリーポイントを指定しない限り、このオプションを設定する必要はありません。

request_token_duration = 28800

整数値

OAuth 要求トークンの作成後も有効な状態を維持するための秒数。これは、ユーザーがトークンを承認する必要がある時間です。このオプションをゼロに設定すると、リクエストトークンが永久に継続されます。

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 - レガシーのルーティング不可能なアドレス指定を使用します。routable - ルーティング可能なアドレスを使用します。dynamic - メッセージバスがルーティングをサポートしていない場合はレガシーのアドレスを使用します。それ以外の場合は、ルーティング可能なアドレスを使用します。

anycast_address = anycast

文字列値

コンシューマーのグループに送信する際に、アドレス接頭辞に追加されます。コンシューマー間でラウンドロビン方式で配信される必要のあるメッセージを特定するために、メッセージバスで使用されます。

broadcast_prefix = broadcast

文字列値

すべてのサーバーにブロードキャストする場合に使用されるアドレス接頭辞

connection_retry_backoff = 2

整数値

フェイルオーバーの試みに失敗するたびに、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

文字列値

通知アドレスで使用される変換名。エクスチェンジ名の解決の優先順位:Target.exchange、他に設定されている場合は default_notification_exchange、他に設定されている場合は control_exchange、他に設定されている場合は notify

default_notify_timeout = 30

整数値

送信された通知メッセージ配信の期限。呼び出し元がタイムアウトを明示的に指定しない場合にのみ使用されます。

default_reply_retry = 0

整数値

リカバリー可能なエラーが原因で失敗した返信メッセージを再送信する最大試行回数。

default_reply_timeout = 30

整数値

rpc 返信メッセージ配信の期限。

default_rpc_exchange = None

文字列値

RPC アドレスで使用される変換名。エクスチェンジ名の解決の優先順位:Target.exchange、他に設定されている場合は default_rpc_exchange、他に設定されている場合は control_exchange、他に設定されている場合は rpc

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 - RPC 呼び出しを事前処置状態で送信します。rpc-reply- RPC 返信を事前処置状態で送信します。rpc-cast - RPC キャストを事前処置状態で送信します。notify - 通知を事前処置状態で送信します。

pseudo_vhost = True

ブール値

仮想ホスト (qpidd など) をネイティブにサポートしていないメッセージバスの仮想ホストサポートを有効にします。true に設定すると、仮想ホスト名はすべてのメッセージバスアドレスに追加され、結果として仮想ホストごとにプライベート サブネット を作成します。メッセージバスが仮想ホストの名前として AMQP 1.0 オープン遂行動詞の hostname フィールドを使用して仮想ホストをサポートする場合は False に設定します。

reply_link_credit = 200

整数値

受信する RPC 返信メッセージのウィンドウサイズ。

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 バンドルを使用してサーバーの証明書を検証します。

`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 のホスト名と一致することを確認します。設定によっては、代わりに仮想ホスト名を使用することが望ましい場合があります。たとえば、サーバーが Server Name Indication TLS 拡張 (rfc6066) を使用して、仮想ホストごとの証明書を提供する場合などです。サーバーの SSL 証明書が DNS 名ではなく仮想ホスト名を使用する場合は、ssl_verify_vhost を True に設定します。

trace = False

ブール値

デバッグ: 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

整数値

ポーリング呼び出しで返されるレコードの最大数

pool_size = 10

整数値

Kafka コンシューマーのプールサイズ

producer_batch_size = 16384

整数値

プロデューサーの非同期送信のバッチサイズ

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 - 無限回

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 で永続キューを使用します。rabbit_quorum_queue が有効な場合、キューは永続的になり、この値は無視されます。

direct_mandatory_flag = True

ブール値

(非推奨) ダイレクト送信のための RabbitMQ 必須フラグを有効/無効にします。直接送信は応答として使用されるため、クライアントキューが存在しない場合には MessageUndeliverable 例外が発生します。MessageUndeliverable 例外はタイムアウトをループして、送信者が回復する可能性が高くなります。このフラグは非推奨になり、この機能を非アクティブ化することはできません。

enable_cancel_on_failover = False

ブール値

x-cancel-on-ha-failover フラグを有効にして、rabbitmq サーバーがキューが停止しているときにコンシューマーをキャンセルし、通知できるようにします。

heartbeat_in_pthread = False

ブール値

デフォルトでは、ネイティブ Python スレッドを介してヘルスチェックハートビートスレッドを実行します。このオプションが False の場合、ヘルスチェックハートビートは親プロセスから実行モデルを継承します。たとえば、親プロセスが eventlet/greenlet を使用して stdlib にモンキーパッチを適用した場合、ハートビートはグリーンスレッドを介して実行されます。This option should be set to True only for the wsgi services.

heartbeat_rate = 2

整数値

heartbeat_timeout_threshold 中、ハートビートを確認する回数。

heartbeat_timeout_threshold = 60

整数値

ハートビートの keep-alive が失敗した場合に Rabbit ブローカーがダウンとみなされるまでの秒数 (0 はハートビートを無効にします)。

kombu_compression = None

文字列値

実験的用途: 許容値は gzip、bz2 です。設定されていない場合、圧縮は使用されません。このオプションは、今後のバージョンで利用できない可能性があります。

kombu_failover_strategy = round-robin

文字列値

現在接続しているノードが利用できなくなった場合に、次の RabbitMQ ノードを選択する方法を指定します。設定で複数の RabbitMQ ノードが指定される場合に限り有効になります。

kombu_missing_consumer_retry_timeout = 60

整数値

応答のないクライアントが応答を送信するのを待つ時間。この時間が経過すると無視します。この値は rpc_response_timeout より長くすることはできません。

kombu_reconnect_delay = 1.0

浮動小数点の値

AMQP コンシューマーのキャンセル通知に応答して再接続するまでの待機時間 (秒単位)。

rabbit_ha_queues = False

ブール値

RabbitMQ (x-ha-policy: all) の HA キューの使用を試みます。このオプションを変更する場合は、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

整数値

事前フェッチするメッセージの数を指定します。ゼロに設定すると、無制限のメッセージのフェッチが許可されます。

rabbit_quorum_delivery_limit = 0

整数値

メッセージがコンシューマーに再配信されるたびに、カウンターが増加します。再配信回数が配信制限を超えると、メッセージはドロップされるか、配信不能になります (DLX エクスチェンジが設定されている場合)。rabbit_quorum_queue が有効な場合にのみ使用されます。デフォルトは 0 で、制限を設定しないことを意味します。

rabbit_quorum_max_memory_bytes = 0

整数値

デフォルトでは、すべてのメッセージはメモリー内に保持されますが、クォーラムキューの長さが長くなると、クラスターでメモリーの逼迫が発生する可能性があります。このオプションを使用すると、クォーラムキューで使用されるメモリーバイト数を制限できます。rabbit_quorum_queue が有効な場合にのみ使用されます。デフォルトは 0 で、制限を設定しないことを意味します。

rabbit_quorum_max_memory_length = 0

整数値

デフォルトでは、すべてのメッセージはメモリー内に保持されますが、クォーラムキューの長さが長くなると、クラスターでメモリーの逼迫が発生する可能性があります。このオプションを使用すると、クォーラムキュー内のメッセージの数を制限できます。rabbit_quorum_queue が有効な場合にのみ使用されます。デフォルトは 0 で、制限を設定しないことを意味します。

rabbit_quorum_queue = False

ブール値

RabbitMQ でクォーラムキューを使用します (x-queue-type: quorum)。クォーラムキューは、Raft コンセンサスアルゴリズムに基づきレプリケートされた永続的な FIFO キューを実装する RabbitMQ の最新キュータイプです。RabbitMQ 3.8.0 以降で利用可能です。このオプションを設定すると、HA キュー (rabbit_ha_queues)、つまりミラーリングされたキューと競合します。そのため、HA キューは無効にする必要があります。クォーラムキューはデフォルトで永続的であるため、このオプションを有効にすると amqp_durable_queues オプションは無視されます。

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 Basic 認証パスワードファイル。

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 の場合、ポリシーが一致しないスコープで呼び出されていることを運用者に通知するメッセージが記録されます。

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 ベースのポリシーチェック用の認証局証明書ファイルの絶対パス

remote_ssl_client_crt_file = None

文字列値

REST ベースのポリシーチェック用のクライアント証明書の絶対パス

remote_ssl_client_key_file = None

文字列値

REST ベースのポリシーチェック用のクライアント鍵ファイルの絶対パス

remote_ssl_verify_server_crt = False

ブール値

REST ベースのポリシーチェックのサーバーアイデンティティー検証

7.1.31. policy

以下の表は、/etc/keystone/keystone.conf ファイルの [policy] グループで使用できるオプションの概要をまとめたものです。

表7.30 policy
設定オプション = デフォルト値タイプ説明

driver = sql

文字列値

keystone.policy 名前空間のポリシーバックエンドドライバーのエントリーポイント。提供されるドライバーは rules (v3 ポリシー API の CRUD 操作をサポートしません) および sql です。通常、カスタムエントリーポイントを指定しない限り、このオプションを設定する必要はありません。

list_limit = None

整数値

ポリシーコレクションで返されるエンティティーの最大数。

7.1.32. profiler

以下の表は、/etc/keystone/keystone.conf ファイルの [profiler] グループで使用できるオプションの概要をまとめたものです。

表7.31 profiler
設定オプション = デフォルト値タイプ説明

connection_string = messaging://

文字列値

通知バックエンドの接続文字列。

デフォルト値は messaging:// で、通知機能を 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

文字列値

このパラメーターは時間値パラメーター (es_scroll_time=2m など) です。これは、検索に参加するノードが継続してサポートするために関連するリソースを維持する時間を示します。

filter_error_trace = False

ブール値

エラー/例外を含むフィルタートレースを分離された場所へ有効にします。

デフォルト値は False に設定されます。

値:

  • True: エラー/例外を含むフィルタートレースを有効にします。
  • False: フィルターを無効にします。

hmac_keys = SECRET_KEY

文字列値

パフォーマンスプロファイリング用にコンテキストデータの暗号化に使用するシークレットキー。

この文字列値は <key1>[,<key2>,…​<keyn>] の形式にする必要があります。各キーはランダムな文字列です。REST API 経由でプロファイリングをトリガーするユーザーは、REST API 呼び出しのヘッダーにこれらのキーの 1 つを設定し、この特定プロジェクトのノードのプロファイリング結果が含まれるようにする必要があります。

プロファイリングを有効にするには、"enabled" フラグと "hmac_keys" 設定オプションの両方を設定する必要があります。また、少なくとも 1 つのキーで全サービス間で正しいプロファイリング情報を生成するには、OpenStack プロジェクト間で一貫性を確保する必要があります。これにより、クライアント側からを使用して、すべての可能なリソースからの情報を含むトレースを生成できます。

sentinel_service_name = mymaster

文字列値

Redissentinel はサービス名を使用してマスターの redis サービスを識別します。このパラメーターは名前を定義します (例: sentinal_service_name=mymaster)。

socket_timeout = 0.1

浮動小数点の値

Redissentinel は、接続に timeout オプションを提供します。このパラメーターは、タイムアウトを定義します (例: socket_timeout=0.1)。

trace_sqlalchemy = False

ブール値

サービスで SQL 要求のプロファイリングを有効にします。

デフォルト値は False です (SQL 要求はトレースされません)。

値:

  • True: SQL 要求のプロファイリングを有効にします。各 SQL クエリーはトレースの一部となり、それにどの程度の時間を費やしたかによって分析できます。
  • False: SQL 要求のプロファイリングを無効にします。費やした時間は、高いレベルの操作でのみ表示されます。単一の SQL クエリーをこのように分析できません。

7.1.33. receipt

以下の表は、/etc/keystone/keystone.conf ファイルの [receipt] グループで使用できるオプションの概要をまとめたものです。

表7.32 receipt
設定オプション = デフォルト値タイプ説明

cache_on_issue = True

ブール値

発行した受信データを取得して検証キャッシュを取得し、最初の受信検証で完全な検証サイクルが発生しないようにします。グローバルキャッシングおよび受信キャッシングが有効でない限り、このオプションは機能しません。

cache_time = 300

整数値

受信データおよび検証データをキャッシュする秒数。グローバルと [receipt] caching が有効でない限り、効果はありません。

caching = True

ブール値

キャッシュ受信データおよび検証データのキャッシュを切り替えます。これは、グローバルキャッシングが有効でない場合や、問題のキャッシュ受信のみのために cache_on_issue が無効でない限り効果はありません。

expiration = 300

整数値

受信が有効な時間 (秒単位)。この値は、認証メソッドが欠落している場合にユーザーが認証を再試行する必要がある時間を表すため、常に非常に短くする必要があります。

provider = fernet

文字列値

keystone.receipt.provider 名前空間の Receipt プロバイダーに対するエントリーポイント。受信プロバイダーは、受信および検証操作を制御します。Keystone には、現時点では fernet レシートプロバイダーのみが含まれています。fernet レシートを永続化する必要はまったくありませんが、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-reserved 文字を含むように制限されるかどうかを制御します。new に設定されている場合、ドメインの作成または更新を URL-unsafe 名で試行すると失敗します。strict に設定すると、URL-unsafe ドメイン名を持つトークンのスコープ設定に失敗するため、すべてのドメイン名が URL セーフになるよう強制されます。

driver = sql

文字列値

keystone.resource 名前空間のリソースドライバーのエントリーポイント。keystone が提供するのは sql ドライバーのみです。keystone 用のプロプライエタリードライバーを記述していない限り、このオプションを設定する必要はありません。

list_limit = None

整数値

リソースコレクションで返されるエンティティーの最大数。

project_name_url_safe = off

文字列値

これは、プロジェクトの名前が URL-reserved 文字を含むように制限されるかどうかを制御します。new に設定されている場合、URL-unsafe 名でプロジェクトの作成または更新に失敗します。strict に設定されている場合、URL 安全でないプロジェクト名を持つトークンのスコープ試行は失敗します。これにより、すべてのプロジェクト名が URL セーフになるよう強制されます。

7.1.35. revoke

以下の表は、/etc/keystone/keystone.conf ファイルの [revoke] グループで使用できるオプションの概要をまとめたものです。

表7.34 revoke
設定オプション = デフォルト値タイプ説明

cache_time = 3600

整数値

失効リストと失効イベントをキャッシュする時間 (秒単位)。これは、グローバルキャッシュと [revoke] caching の両方が有効でない限り効果はありません。

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.

文字列値

これは、アイデンティティープロバイダーの連絡先個人の会社名です。

idp_contact_email = support@example.com

文字列値

これは、アイデンティティープロバイダーの連絡先ユーザーのメールアドレスです。

idp_contact_name = SAML Identity Provider Support

文字列値

これは、アイデンティティープロバイダーの連絡先人の名前になります。

idp_contact_surname = Support

文字列値

これは、アイデンティティープロバイダーの連絡先ユーザーの名称です。

idp_contact_telephone = +1 800 555 0100

文字列値

これは、アイデンティティープロバイダーの連絡先ユーザーの電話番号です。

idp_contact_type = other

文字列値

これは、アイデンティティープロバイダーの連絡先担当者に最適な連絡先のタイプです。

idp_entity_id = None

URI 値

これは、SAML アサーションを生成するときに使用するアイデンティティープロバイダー (keystone) の一意のエンティティー識別子です。この値はアイデンティティープロバイダーのメタデータを生成するために必要です。この値は URI でなければなりません (URL の使用が推奨されます)。例: https://keystone.example.com/v3/OS-FEDERATION/saml2/idp

idp_lang = en

文字列値

これは、アイデンティティープロバイダーの組織によって使用される言語です。

idp_metadata_path = /etc/keystone/saml2_idp_metadata.xml

文字列値

アイデンティティープロバイダーメタデータファイルへの絶対パス。このファイルは keystone-manage saml_idp_metadata コマンドで生成する必要があります。通常、この値を変更する理由はありません。

idp_organization_display_name = OpenStack SAML Identity Provider

文字列値

これは、表示するアイデンティティープロバイダーの組織の名前です。

idp_organization_name = SAML Identity Provider

文字列値

これは、アイデンティティープロバイダーの組織の名前です。

idp_organization_url = https://example.com/

URI 値

これは、アイデンティティープロバイダーの組織の URL です。ここで参照される URL は人間にとって役に立ちます。

idp_sso_endpoint = None

URI 値

これは、HTTP POST 要求を受け入れるアイデンティティープロバイダーのシングルサインオン (SSO) サービスの場所です。アイデンティティープロバイダーのメタデータを生成するには、値が必要です。例: 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 で必要なユーザーの options 属性 ignore_change_password_upon_first_useTrue に設定します。デフォルトでは無効になっています。この機能は、[identity] driversql バックエンドにのみ適用されます。

disable_user_account_days_inactive = None

整数値

ユーザーが認証なしでアカウントを使用し続けることのできる最大日数。この期間が過ぎるとアカウントは "非アクティブ" と見なされて自動的に無効 (ロック状態) になります。この機能はデフォルトでは無効になっています。有効にするには、任意の値を設定します。この機能は、[identity] driversql バックエンドによって異なります。ユーザーがこのしきい値を超え、"inactive" とみなされると、HTTP API のユーザーの enabled 属性は、ユーザーテーブルのユーザーの enabled コラムの値と一致しない場合があります。

lockout_duration = 1800

整数値

[security_compliance] lockout_failure_attempts で指定されているように、認証失敗回数の最大値を超えた場合に、ユーザーアカウントがロックされる秒数を指定します。[security_compliance] lockout_failure_attempts をゼロ以外の値に設定しても、このオプションを設定しても効果はありません。この機能は、[identity] driversql バックエンドによって異なります。

lockout_failure_attempts = None

整数値

[security_compliance] lockout_duration で指定された秒数の間、ユーザーアカウントがロックされるまで、ユーザーが認証に失敗できる最大回数。デフォルトでは無効になっています。この機能が有効になり、[security_compliance] lockout_duration が設定されていない場合、ユーザーが API 経由で明示的に有効にされるまで、ユーザーは無期限にロックアウトされる可能性があります。この機能は、[identity] driversql バックエンドによって異なります。

minimum_password_age = 0

整数値

ユーザーがパスワードを変更できるようになるまで、そのパスワードを使用する必要のある日数。これは、パスワードの履歴を消去して古いパスワードを再利用するためにユーザーがパスワードを直ちに変更するのを防ぎます。この機能は、管理者がパスワードを手動でリセットするのを防ぐものではありません。これはデフォルトで無効になっており、即時にパスワードの変更を可能にします。この機能は、[identity] driversql バックエンドによって異なります。注意: [security_compliance] password_expires_days が設定されている場合、このオプションの値は password_expires_days より小さくする必要があります。

password_expires_days = None

整数値

パスワードが有効と見なされる日数。この期間が過ぎるとパスワードの変更が要求されます。デフォルトでは無効になっています。有効にすると、新しいパスワードの変更には有効期限が設定されますが、既存のパスワードは影響を受けません。この機能は、[identity] driversql バックエンドによって異なります。

password_regex = None

文字列値

パスワードの強度要件の検証に使用される正規表現デフォルトでは、正規表現は任意のパスワードと一致します。次は、少なくとも 1 つの文字と 1 つの数字を必要とし、最小長が 7 文字であるパターンの例です。^(?=.\\d)(?=.[a-zA-Z]).{7,}$。この機能は、[identity] driversql バックエンドに依存します。

password_regex_description = None

文字列値

人が判読できる言語でパスワードの正規表現を記述してください。パスワードが正規表現と一致しない場合、この設定変数の内容はユーザーに返され、要求されたパスワードが不十分な理由が説明されています。

unique_last_password_count = 0

整数値

これにより、新たに作成されたパスワードが一意であることを強制するために、履歴に保管する以前のユーザーパスワードのイテレーション数が制御されます。新しいパスワードを含む合計数はこの値以上にしないでください。値をゼロ (デフォルト) に設定すると、この機能が無効になります。したがって、この機能を有効にするには、値は 0 より大きい必要があります。この機能は、[identity] driversql バックエンドによって異なります。

7.1.39. shadow_users

以下の表は、/etc/keystone/keystone.conf ファイルの [shadow_users] グループで使用できるオプションの概要をまとめたものです。

表7.38 shadow_users
設定オプション = デフォルト値タイプ説明

driver = sql

文字列値

keystone.identity.shadow_users 名前空間内のシャドウユーザーバックエンドドライバーのエントリーポイント。このドライバーは、(フェデレーション、LDAP などを介して) 外部で管理されるアイデンティティーへのローカルユーザー参照を保持するために使用されます。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] caching = False であってもトークンをキャッシュします。非推奨となったバージョン: S

*理由:*Keystone は、トークンのキャッシュオプションをすでに公開しています。発行時にトークンをキャッシュする個別の設定オプションは冗長で、不必要に複雑で、トークンが発行時にデフォルトで事前キャッシュされるため、トークンが無効になっていると誤解を招く可能性があります。トークンが発行時に事前キャッシュされる機能は、今後 "keystone.conf [token] caching" オプションにのみ依存します。

cache_time = None

整数値

トークンの作成および検証データをキャッシュする秒数。グローバルと [token] caching が有効でない限り、効果はありません。

caching = True

ブール値

トークンの作成および検証データのキャッシュを切り替えます。これは、グローバルキャッシングが有効でない限り効果はありません。

expiration = 3600

整数値

トークンが有効でなければならない期間 (秒単位)。この値を大きく減らすと、複数のサービスを組み合わせて調整する "長時間実行する" 操作が中断される可能性があり、ユーザーは keystone でより頻繁に認証を強制します。この値を大きくすると、同時に有効なトークンの数が増えます。Keystone トークンもベアラートークンであるため、期間は短く、危険にさらされたトークンの潜在的なセキュリティーの影響を軽減します。

provider = fernet

文字列値

keystone.token.provider 名前空間内のトークンプロバイダーのエントリーポイント。トークンプロバイダーは、トークンの構築、検証、および失効操作を制御します。サポートされるアップストリームプロバイダーは fernet および jws です。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] driver を使用している場合は、このオプションを無効にしないでください。

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 として使用され、対応するマッピングを検索します。一般的なデプロイメントでは、この値を変更する必要はありません。

protocol = x509

文字列値

X.509 トークンレス承認を表すために使用されるフェデレーションされたプロトコル ID。これは [tokenless_auth] issuer_attribute の値と組み合わせて、対応するフェデレーションマッピングを見つけます。一般的なデプロイメントでは、この値を変更する必要はありません。

trusted_issuer = []

多値

X.509 トークンレス認証の使用が許可されるクライアント証明書の信頼できる発行者を識別する識別名のリスト。オプションが存在しない場合、証明書は許可されません。識別名 (DN) の値の形式はコンマで区切り、スペースは使用しないでください。さらに、個別の DN にはコンマが含まれる可能性があるため、このオプションを複数回繰り返して、複数の値を表すことができます。たとえば、keystone.conf には、trusted_issuer = CN=john,OU=keystone,O=openstack および trusted_issuer = CN=mary,OU=eng,O=abc の 2 つの異なる DN を信頼するために 2 つの連続した行が含まれます。

7.1.42. totp

以下の表は、/etc/keystone/keystone.conf ファイルの [totp] グループで使用できるオプションの概要をまとめたものです。

表7.41 totp
設定オプション = デフォルト値タイプ説明

included_previous_windows = 1

整数値

TOTP の乗車の乗車パスを処理するときに確認する前のウィンドウの数。

7.1.43. 信頼 (trust)

以下の表は、/etc/keystone/keystone.conf ファイルの [trust] グループで使用できるオプションの概要をまとめたものです。

表7.42 信頼 (trust)
設定オプション = デフォルト値タイプ説明

allow_redelegation = False

ブール値

あるユーザーから別のユーザーに承認を交換し、信頼を効果的にチェーンできるようにします。無効にすると、信頼の remaining_uses 属性はゼロに制限されます。

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" に設定することや、Keystone が Keystone (特定の要求関連のデータ) のままにしているので、WSGI データのデバッグに固有の設定には影響を与えません。このオプションは、Web サーバー (apache、nginx など) と Keystone 間の要求および応答データのイントロスペクションに使用されます。このミドルウェアは、ミドルウェアチェーンの最初の要素として挿入され、ネットワークに最も近いデータを表示します。警告: 実稼働環境での使用を目的としていません。このミドルウェアは、機密/特権データを生成することができます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.