Ocata バージョンのリリースノート

11.0.4

Bug Fixes

  • [bug 1704205] すべてのユーザーとグループには名前が必要です。この修正に先立って、 Keystone は LDAP ユーザーとグループに対してこれを適切に実施していませんでした。 Keystone は、そのエンティティの名前に使用するように設定されている LDAP 属性の値を持たないユーザーおよびグループを無視します。

  • [bug 1718747] ドメインを含まれるユーザーごと削除するときにサーバーエラーが発生するというリグレッションが修正されています。このバグ修正は、ドメインの名前空間内に置かれているユーザーを削除するという以前の動作を復元します。これは、SQL 認証バックエンドを使用する場合にのみ適用されます。

その他の注意点

  • [bug 1718747] ユーザーを含むドメインが削除されないようにする認証 SQL バックエンドのリグレッションを解決する一環として、認証バックエンドが SQL の場合にのみユーザーが削除されるように通知コールバックが変更されました。読み取り専用ではないカスタム認証バックエンドを使用している場合、そのドライバーで is_sql プロパティが true と評価されない限り、Keystone でドメインを削除してもバックエンドのユーザーは削除されません。

11.0.3

セキュリティー上の問題

  • [bug 1703369] 以前のリリースのデフォルトの policy.json ファイルには、identity:get_identity_provider ルールにタイプミスがありました。そのルールのデフォルト値はデフォルトルールのデフォルト値(adminに制限されています)と同じで、このタイプミスが容易には判明しませんでした。このルールをカスタマイズしたら、設定を確認して、そのタイプミスをコピーしていないことを確認する必要があります。このバックポートの目的に関する詳細は、バグレポートに記載されています。

Bug Fixes

  • [bug 1689616] 膨大なデータセットに対してトークンフラッシュを実行するときの、重要な改善が行われました。

  • [bug 1687593] OAUTH1 要求トークンを作成するときの要求を行うために使用される URL が、要求トークンを検証する URL でもあることを確実にしました。

11.0.1

Bug Fixes

  • [bug 1674415] ロケールが設定されている 認証 API から、どんなエラーメッセージも発生しないという、 Keystone エラーメッセージの翻訳に関する問題を修正しました。

11.0.0

紹介

  • 現在、デフォルトのトークンプロバイダーは、 Fernet です。

  • PKI と PKIz トークン形式は削除されました。詳細は その他の注意点 を参照してください。

  • LDAP への書き出しのサポートは削除されました。詳細は その他の注意点 を参照してください。

新機能

  • [blueprint allow-expired] 有効期限が切れたトークンを取得できるトークン検証コール (GET /HEAD/v3 /auth/tokens) に allow_expired フラグが追加されました。 これにより、長時間実行されている操作のトークンの検証が可能になります。

  • [blueprint password-expires-validation] トークンレスポンスは user オブジェクトに password_expires_at フィールドを持つようになりました。これはつまり、

    {"token": {"user": {"password_expires_at": null}}}
    

    [security_compliance] 設定オプションによってPCI サポートを有効にしている場合に、password_expires_at 項目にタイムスタンプが入力されます。そうでなければ、デフォルトで null になり、パスワードの有効期限が切れないことを意味します。

  • [blueprint pci-dss-notifications] CADF 通知は、 PCI-DSS イベントにも適用されます。 reason オブジェクトが通知に追加されました。 reason オブジェクトには reasonType (理由の簡単な説明)と reasonCode (HTTP レスポンスコード)があります。以下のイベントが影響を受けます:

    • ユーザーが少なくとも X 日ごとにパスワードを変更しない場合、 [security_compliance] password_expires_days を参照してください。

    • 認証に複数回失敗してユーザーがロックアウトされた場合、 [security_compliance] lockout_failure_attempts を参照してください。

    • ユーザーが新しいパスワードに最近使用されたものを送信した場合、 [security_compliance] unique_last_password_count を参照してください。

    • パスワードが指定された基準を満たしていない場合、 [security_compliance] password_regex を参照してください。

    • ユーザーが頻繁にパスワードを変更しようとする場合、 [security_compliance] minimum_password_age を参照してください。

    追加の詳細は、event notifications を参照してください。

  • [blueprint pci-dss-password-requirements-api] パスワードの正規表現要件を取得するための新しい API ( /v3/domains/{domain_id}/config/security_compliance )を追加しました。具体的には、 [security_compliance] password_regex[security_compliance] password_regex_description が返されます。これらのオプションは、さまざまな [security_compliance] 設定オプションを使って PCI サポートが有効になっている場合にのみ有効であることに注意してください。

  • [blueprint pci-dss-query-password-expired-users] /v3/users/v3/groups/{group_id}/userspassword_expires_at クエリーを追加しました。 password_expires_at クエリーは operator (下記の有効な選択肢)と YYYY-MM-DDTHH:mm:ssZ 形式の timestamp の2つの部分で構成されています。 API は与えられた operatortimestamp に基づいてユーザーのリストをフィルタリングします。
    • lt - パスワードはそのタイムスタンプより前に有効期限が切れます

    • lte - パスワードはそのタイムスタンプ以降に有効期限が切れます

    • gt - パスワードはそのタイムスタンプより後に有効期限が切れます

    • gte - パスワードはそのタイムスタンプ以降に有効期限が切れます

    • eq - パスワードはそのタイムスタンプで有効期限が切れます

    • neq - パスワードはそのタイムスタンプではないときに有効期限が切れます

  • [blueprint per-user-auth-plugin-reqs] ユーザー単位の多要素認証ルール( MFA ルール)が実装されました。 これらのルールは、どの認証方法を使用できるか(たとえば、パスワードや TOTP)を定義し、トークンを正常に取得するために複数の認証フォームを要求する機能を提供します。

    MFA ルールは、ユーザー作成および更新 API (POST/PATCH /v3/users) の呼び出しによって設定されます。 このオプションを使用すると、管理者は、ユーザーによるトークン取得に、特定の形式の認証、または複数の形式の認証の組み合わせの使用を強制することができます。 ルールは次のように指定されます。

    user["options"]["multi_factor_auth_rules"] = [["password", "totp"], ["password", "custom-auth-method"]]
    

    ルールはリストのリストとして指定されます。 サブリストの要素は文字列でなければならず、 [auth] methods オプションの keystone.conf で定義されている必要な認証方法名(passwordtotp など)です。

    メソッドの各リストはルールを指定します。 ユーザーが提供する認証方法がリスト内の認証方法と一致(または複数が一致)した場合、そのルールが使用されます。 見つかった最初のルール(ルールは特定の順序で処理されません)が使用されます。 ユーザーがルールセットを [["password","totp"]] として定義している場合、ユーザーはトークンを受け取るためには password と totp の両方の認証方法を提供しなければなりません。 しかし、ユーザーが [["password"],["password","totp"]] として定義されたルールセットを持っている場合、ユーザーは自身の password``メソッドを使うことができますが、 ``totp が指定されていれば password``と ``totp の両方を使います。

    [auth] methods オプションの keystone.conf で定義されていない認証方法は、ルールの処理時に無視されます。空のルールは設定できません。ルール内に無効な認証方法が存在するためにルールが空の場合、ルールは認証時に破棄されます。 ユーザーにルールがない場合、またはユーザーに対して有効なルールがない場合、認証はデフォルトの方法で行われます。一つの認証方法が設定されていいれば、トークンを受信するのに十分です。

    ユーザーが MFA ルールから免除されるべきである場合、設定されているかどうかにかかわらず、 ユーザーが作成と更新 API ( `` POST / PATCH / v3 / users``)を呼び出すことによって、そのユーザーの User-Option の multi_factor_auth_enabled オプションが False に設定されます。このオプションが False に設定されている場合、 そのユーザに対して MFA ルールは無視されます。 False を除く他の値の場合は、 MFA ルールが処理される結果となります。 オプションはブール値(True または False)、あるいは None (これはデフォルトの動作( True と同じ)になりますが、このオプションは user ["options"] ディクショナリーからなくなります)です。

    ユーザーを MFA ルールから免除されるようにマークするには:

    user["options"]["multi_factor_auth_enabled"] = False
    

    token 認証方法は、通常、どの MFA ルールでも指定すべきではありません。 token 認証方法は、元の認証リクエストに対するすべての以前の認証方法を含み、適切なルールセットと一致します。 token メソッドは、アクティブなプロジェクトの再スコープ/変更に使用されるもので、これは意図的なものです。

    セキュリティ情報: MFA ルールは、認証が V3 認証 API を介して行われる場合にのみ処理されます。 V2 認証が有効な場合、ユーザーが V2 認証 APIを使用して認証できる場合は、MFA ルールを迂回することができます。 MFA ルールを完全に実施するには、V2 認証を無効にすることをお勧めします。

  • [blueprint shadow-mapping] The federated identity mapping engine now supports the ability to automatically provision projects for federated users. A role assignment will automatically be created for the user on the specified project. If the project specified within the mapping does not exist, it will be automatically created in the domain associated with the identity provider. This behavior can be triggered using a specific syntax within the local rules section of a mapping. For more information see: mapping combinations

  • [blueprint support-federated-attr] 統合認証の属性( idp_idprotocol_idunique_id )の問い合わせをサポートするために、 list user API (GET /v3/users) に新しいフィルターを追加しました。

  • [bug 1638603] Active Directory のネストされたグループのサポートを追加しました。新しいブール値のオプション [ldap] group_ad_nesting を追加しました。デフォルトは False です。有効にすると、ネストされたグループを持つ Active Directory を使用できます。このオプションは、 list_users_in_grouplist_groups_for_user、および check_user_in_group 操作に影響します。

  • [bug 1641645] RBAC保護が Self-service change user password API (/v3/user/$ user_id/password)から削除されました。つまり、ユーザーは ``X- Auth-Token` ヘッダーに指定されているトークンを使用せずにパスワードを変更できるようになりました。この変更により、期限切れのパスワードを持つユーザーは、管理者の介入なしにパスワードを更新できます。

  • [bug 1641654] oslo.middlewarehealthcheck ミドルウェアは、デフォルトで Keystone のアプリケーションパイプラインに追加されています。 このミドルウェアは、Keystone の健全性をチェックする一般的な方法を提供します。 keystone-paste.ini に用意されている例を参照して、 healthcheck ミドルウェアを含める方法を見てください。

  • [bug 1641816] デフォルトで [token] cache_on_issue オプションが有効になりました。このオプションは、グローバルキャッシングとトークンキャッシングが有効になっていない限り無効です。

  • [bug 1642348] デプロイヤーが PCI ロックアウトルールから除外されているユーザーを指定できるようにする新しいオプション [security_compliance] lockout_ignored_user_ids が追加されました。

  • [Bug 1645487] 新しいユーザーの最初の使用時、および管理者によるパスワードのリセット後に、ユーザーにすぐにパスワード変更を必要とさせるための新しい PCI-DSS 機能が追加されました。新しい機能を有効にするには、[security_compliance] change_password_upon_first_useTrue に設定します。

アップグレード時の注意

  • [blueprint allow-expired] サービスを完了するために長時間実行される操作を許可するには、 allow_expired フラグを使って期限切れのトークンを取得できる必要があります。それまでの有効期限を超えてトークンを取得可能な時間は、 [token] allow_expired_window オプションで管理されるため、この時間の間、データを取得可能にする必要があります。 Fernet トークンを使用する場合、古いトークンがまだ解読可能であるためには、キーのローテート期間がこれ以上でなければならないことを意味します。 [token] expiration + [token] allow_expired_window 秒より早く Fernet キーをローテートさせないようにしてください。

  • [bug 1547684] サンプルファイルが正しく読み込まれるように、 policy.v3cloudsample.json サンプルファイルを少し変更しました。 cloud_admin ルール変更前:

    "role:admin and (token.is_admin_project:True or domain_id:admin_domain_id)"
    

    正しくは:

    "role:admin and (is_admin_project:True or domain_id:admin_domain_id)"
    

    必要に応じて設定ツールを調整してください。この変更の詳細については、 バグ修正 のセクションを参照してください。

  • [bug 1561054] デフォルトのトークンプロバイダーは、 UUID から Fernet に切り替えました。 Fernet は、Ocata を実行する前にキーリポジトリーが必要であることに注意してください。これは keystone-manage fernet_setup を実行することで実現できます。さらに、マルチノード環境では、アップグレードする前にキー配布プロセスを使用することが不可欠です。キーリポジトリーを作成したら、そのリポジトリーをデプロイメントのすべての Keystone ノードに配布する必要があります。これにより、各 Keystone ノードはデプロイメント全体で発行されたトークンを検証できます。 トークン形式を切り替える必要がない場合は、 keystone.conf[token] provideruuid に設定して、各ノードのトークンプロバイダーを明示的に設定する必要があります。 ドキュメントは fernet-tokens <https://docs.openstack.org/developer/keystone/configuration.html#encryption-keys-for-fernet-tokens> _ にあります。

  • [bug 1641654] oslo.middlewarehealthcheck ミドルウェアは、デフォルトで KeyStone のアプリケーションパイプラインに追加されています。 次のセクションが keystone-paste.ini に追加されました。

    [filter:healthcheck]
    use = egg:oslo.middleware#healthcheck
    

    パイプラインの最初に healthcheck ミドルウェアを使うことをお勧めします:

    pipeline = healthcheck cors sizelimit http_proxy_to_wsgi osprofiler ...
    
  • [bug 1641660] [DEFAULT] notification_format のデフォルト値は basic から cadf に変更されました。 CADF 通知には、要求を開始したユーザーに関する詳細情報があります。

  • [bug 1641660] [DEFAULT] notification_opt_out のデフォルト値は、 identity.authenticate.successidentity.authenticate.pendingidentity.authenticate.failed を含むように変更されました。 デプロイメントがこれらの通知に依存している場合は、デフォルト設定を書き換えてください。

  • [bug 1642687] アップグレードが成功すると、すべての既存の identity provider が自動的に作成されたドメインに関連付けられます。 Ocata リリースより前に存在していた``identity provider`` には domain_id フィールドが追加されました。新しいドメインは id (ランダムな UUID) および identity provider ID と一致する name を持ち、デフォルトでは enabled になります。

  • [Related to Bug 1649446] identity:list_revoke_events ルールは両方のサンプルポリシーファイル policy.json``と ``policy.v3cloudsample.json で変更されました。変更前::

    "identity:list_revoke_events": ""
    

    変更後:

    "identity:list_revoke_events": "rule:service_or_admin"
    

廃止予定の機能

  • [bug 1659995] 設定オプション [security_compliance] password_expires_ignore_user_ids は非推奨となり、オプションの値セットの使用を推奨しています。これは、ユーザー作成および更新 API 呼び出しで利用できます。

  • [blueprint deprecated-as-of-ocata] カタログバックエンド endpoint_filter.sql は、 Ocata リリースで非推奨となり、 sql バックエンドと統合されました。 endpoint_filter.sql カタログバックエンドを sql バックエンドに置き換えることをお勧めします。 endpoint_filter.sql バックエンドは Pike リリースで削除されます。

  • [blueprint deprecated-as-of-ocata] 様々な KVS バックエンドと設定オプションが非推奨となり、 Pike リリースで削除される予定です。 以下が含まれます。

    • keystone.common.kvs.backends.inmemdb.MemoryBackend

    • keystone.common.kvs.backends.memcached.MemcachedBackend

    • keystone.token.persistence.backends.kvs.Token

    • keystone.conf[kvs] にあるすべての設定オプション

    • keystone.conf[memcached] servers の設定オプション

致命的な問題

  • [bug 1561054] Fernet トークンにアップグレードする場合は、キーリポジトリーとキー配布メカニズムを適切に配置する必要があります。そうしないと、トークンの検証が機能しない可能性があります。詳細については、アップグレード時の注意のセクションを参照してください。

セキュリティー上の問題

  • [bug 1650676] 認証プラグインは、 AuthContext オブジェクトを使用する必要があります。これにより、サーバーが処理する認証方法の間で user_id などの情報が変更されないようにするためのセキュリティ機能が追加されました。 keystone.controllers.Auth.authenticate メソッドは、引数 auth_context を実際の AuthContext オブジェクトにする必要があります。

Bug Fixes

  • [bug 1524030] トークンの検証中に返される取り消しイベントの数を減らし、トークンに関連するイベントのサブセットのみ返すようにしました。したがって、全体的なトークン検証のパフォーマンスが向上します。

  • [bug 1651989] bug 1547684 によって、policy.v3cloudsample.json サンプルファイルを使用した時に、ドメイン管理者トークンがクラウド管理者として扱われれていました。is_admin_project 機能がプロジェクトにスコープされたトークンのみをサポートしているので、 is_admin_project プロパティを持つすべてのドメインにスコープされたトークンに ``False``に自動的に設定します。

    [bug 1547684] policy.v3cloudsample.json サンプルファイルのタイプミスにより oslo.policy がファイルをロードしていませんでした。 詳細については、アップグレード時の注意 の節を参照してください。

  • [bug 1571878] フェデレーションプロトコルを作成または更新するときは、有効な mapping_id が必要になります。 mapping_id が存在しない場合、 400 - Bad Request が返されます。

  • [bug 1616424] /v3/OS-OAUTH1/request_token/ v3/OS-OAUTH1/access_token API を使って、 OAuth リクエストトークンと OAuth アクセストークンを作成する際の例外メッセージが改善されました。

  • [bug 1622310] 信頼がスコープされているプロジェクト、または委任が割り当てられているユーザー(委託者または受託者)が削除された場合、信頼は無効になります。

  • [bug 1636950] 新しいオプション [ldap] connection_timeout は、デプロイヤーが LDAP サーバーで使用するための OPT_NETWORK_TIMEOUT 値を設定できるようにします。これにより、LDAP URLが正しくない場合や接続に失敗した場合、 LDAP サーバーは SERVER_DOWN 例外を返すことができます。デフォルトでは、 [ldap] connection_timeout の値は -1 であり、無効になっています。オプションを有効にするには、正の値(秒単位)を設定します。

  • [bug 1642457] Fernet トークンのキーをローテーションするときの、ディスク書き込みと I/O 失敗を処理します。空のキーを作成するのではなく、ディスクに書き込めないときにエラーを適切にキャッチしてログに記録します。

  • [bug 1642687] OS-FEDERATION API を介して identity provider を登録する際には、要求内の identity provider に関連付けるために domain_id を含むことが推奨されています。 identity provider で認証された統合されたユーザーは、指定された domain_id に関連付けられます。 domain_id を指定しないと、自動的にドメインが作成されます。

  • [bug 1642687] identity provider で認証するユーザーは、 domain_id 属性を持つようになりました。これは、 identity provider と結びついています。

  • [bug 1642692] 1つの`federation protocol` が削除されると、federation protocol で認証されたすべてのユーザーも削除されます。

  • [bug 1649138] 認証バックエンドとして LDAP を使用する場合、初期のバインドは接続オブジェクトの作成時に発生します。つまり、LDAP クエリーの実行の早期の段階で、バインドが認証されているか匿名であるかにかかわらず、接続エラーを正しく、早期に処理できます。

  • [Bug 1649446] 取り消しイベントをリストするデフォルトのポリシーが変更されました。以前は、すべての認証されたユーザーが取り消しイベントをリストできました。デフォルトでは、管理者またはサービスユーザー専用の機能に変更されました。 これは、 Keystone によって使用されているポリシーファイルを変更することによって変更できます。

  • [bug 1656076] keystone.controllers.Auth.authenticate 配下の様々なプラグインは、 AuthContext オブジェクトを返す必要があります。

  • [bug 1659995] 新しいオプションは、ユーザー作成更新 API (POST/PATCH /v3/users)呼び出しを使用して、管理者がユーザーを特定の PCI 要件から免除されるようにマークすることを可能にします。

    ユーザーを PCI パスワードロックアウトポリシーから免除するように設定するには、API リクエストで以下のユーザー属性を True あるいは False に設定してください。

    user['options']['ignore_lockout_failure_attempts']
    

    ユーザーを PCI パスワード有効期限ポリシーから免除されるようにマークするには:

    user['options']['ignore_password_expiry']
    

    ユーザーを PCI リセットポリシーから免除されるようにマークするには:

    user['options']['ignore_change_password_upon_first_use']
    

その他の注意点

  • [bug 1017606] keystone.catalog.backends.base.CatalogDriverBaseget_catalog メソッドと get_v3_catalog メソッドが変更されました。抽象クラス(CatalogDriverBase)を拡張するサードパーティー拡張は、新しいパラメータ名に従って変更する必要があります。変更前のメソッド:

    get_catalog(self, user_id, tenant_id)
    get_v3_catalog(self, user_id, tenant_id)
    

    変更後:

    get_catalog(self, user_id, project_id)
    get_v3_catalog(self, user_id, project_id)
    
  • [bug 1524030] keystone.revoke.backends.base.RevokeDriverBaselist_events メソッドを変更しました。 抽象クラス(RevokeDriverBase)を拡張するサードパーティー拡張は、新しいパラメーターに従ってコードを変更する必要があります。 メソッドの変更前:

    list_events(self, last_fetch=None)
    

    変更後:

    list_events(self, last_fetch=None, token=None)
    
  • [bug 1563101] トークンプロバイダードライバーインタフェースを keystone.token.provider.Provider から keystone.token.providers.base.Provider に移動しました。カスタムトークンプロバイダーを実装する場合は、新しい場所からサブクラス化してください。

  • [bug 1582585] 新しいメソッド get_domain_mapping_listkeystone.identity.mapping_backends.base.MappingDriverBase に追加されました。抽象クラス(MappingDriverBase)を拡張するサードパーティー拡張は、この新しいメソッドを実装する必要があります。このメソッドは次のように実装されています:

    get_domain_mapping_list(self, domain_id)
    

    指定されたドメイン ID のマッピングの一覧が返されます。

  • [bug 1611102] list_endpoints_for_policy()get_policy_for_endpoint() メソッドは使用されていないため、 keystone.endpoint_policy.backends.base.EndpointPolicyDriverBase 抽象クラスから削除されました。

  • [bug 1622310] 新しいメソッド delete_trusts_for_projectkeystone.trust.backends.base.TrustDriverBase に追加されました。抽象クラス(TrustDriverBase)を拡張するサードパーティー拡張は、新しいパラメータに従って変更する必要があります。 新しいメソッドは次のように実装されています:

    delete_trusts_for_project(self, project_id)
    
  • [bug 1642687] keystone.identity.shadow_backends.base.ShadowUsersDriverBasecreate_federated_user メソッドにおける署名が変更されました。

    抽象クラス(ShadowUsersDriverBase)を継承するサードパーティ拡張は、新しいパラメータ名に従って更新する必要があります。

    メソッドの署名が以下から変更されました。

    create_federated_user(self, federated_dict)
    

    変更後:

    create_federated_user(self, domain_id, federated_dict)
    
  • [bug 1659730] keystone.auth.plugins.base.AuthMethodHandlerauthenticate メソッドにある署名が変更されました。抽象クラス(AuthMethodHandler)を継承したサードパーティー製の拡張は、新しいパラメーター名にしたがって、そのコードを変更する必要があります。メソッドの署名は以下から変更されました。

    authenticate(self, context, auth_payload, auth_context)
    

    変更後:

    authenticate(self, request, auth_payload, auth_context)
    
  • PKI および PKIz トークン形式が削除され、 Fernet トークンが採用されました。

  • LDAP への書き込みのサポートは、読み込みのみのサポートのため、削除されました。以下の LDAP の操作はサポートさなくなりました。

    • ユーザーの作成

    • グループの作成

    • ユーザーの削除

    • グループの削除

    • ユーザーの更新

    • グループの更新

    • ユーザーのグループへの追加

    • ユーザーのグループからの削除

  • Route および contrib 拡張の SQL バックエンドが削除、 Keystone に組み込まれ、オプションではなくなりました。 これは次のような影響を与えます。

    • keystone/contrib/admin_crud

    • keystone/contrib/endpoint_filter

    • keystone/contrib/federation

    • keystone/contrib/oauth1

    • keystone/contrib/revoke

    • keystone/contrib/simple_cert

    • keystone/contrib/user_crud

  • Keystone キャッシュバックエンドは、 oslo.cache と同等のため削除しました。 これは次のような影響を与えます。

    • keystone/common/cache/backends/mongo

    • keystone/common/cache/backends/memcache_pool

    • keystone/common/cache/backends/noop

  • 抽象クラス keystone.token.providers.base.Provider からの幾つかのトークン検証メソッド(下記参照)が削除され、トークンを検証するための単一のメソッド(validate_token)になりました。これは署名を取ります validate_token(self, token_ref)。 カスタムトークンプロバイダを使用している場合は、それに応じてカスタムプロバイダを更新してください。

    • validate_v2_token

    • validate_v3_token

    • validate_non_persistent_token

  • 抽象クラス keystone.token.providers.base.Provider からの幾つかのトークン発行メソッド(下記参照)が削除され、トークンを発行するための単一のメソッド(issue_token)になりました。 カスタムトークンプロバイダを使用している場合は、それに応じてカスタムプロバイダを更新してください。

    • issue_v2_token

    • issue_v3_token

  • [DEFAULT] domain_id_immutable 設定オプションは、厳密で不変なドメイン ID のために削除されました。

  • [endpoint_policy] enabled 設定オプションは、エンドポイントのポリシー拡張を常に有効にするために削除されました。

  • 認証プラグイン keystone.auth.plugins.saml2.Saml2 は、認証プラグイン keystone.auth.plugins.mapped.Mapped のために削除されました。

  • memcachememcache_pool のトークン永続性バックエンドは、永続性を必要としない Fernet トークンの使用のために削除されました。

  • httpd/keystone.py ファイルは、 keystone-wsgi-admin および keystone-wsgi-public スクリプトのために削除されました。

  • keystone/service.py ファイルを削除し、そのロジックは keystone/version/service.py に移動しました。

  • build_auth_context ミドルウェアからの管理トークンのチェックが削除されました。デプロイメントで admin token`が必要な場合は、``keystone-paste.ini` を編集して、ペーストパイプラインで admin_token_authbuild_auth_context の前にあるようにしてください。そうでなければ admin_token_auth ミドルウェアを keystone-paste.ini から完全に削除してください。

  • [assignment] driver のデフォルトは sql になりました。設定で1つが提供されなかった場合のデフォルト割り当てドライバーを決定するロジックが削除されました。 Keystone は1つの割り当てドライバーのみをサポートしており、カスタム割り当てドライバを配備していない限り、変更しないでください。

  • [resource] driver のデフォルトは sql になりました。設定で1つが提供されなかった場合のデフォルトリソースドライバーを決定するロジックが削除されました。 Keystone は1つのリソースドライバーのみをサポートしており、カスタムリソースドライバを配備していない限り、変更しないでください。

  • [os_inherit] enabled 設定オプションは削除され、 OS-INHERIT 拡張が常に有効になりました。

  • [DEFAULT] domain_id_immutable オプションは削除されました。これにより、ユーザー、グループ、およびプロジェクトの domain_id 属性を変更する機能が削除されます。 この振る舞いは、エンティティの domain_id 属性を更新することによって、デプロイヤーがエンティティをあるドメインから別のドメインに移行できるようにするために導入されました。 この機能は Mitaka リリースで非推奨になり、現在は廃止されました。