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

9.2.0

Bug Fixes

  • [bug 1594482] list_limit 設定オプションを使用すると、 GET /services?name={service_name} API が最初にリストを切り捨ててから、名前でフィルタリングしていました。 API は最初に名前でフィルタリングするように修正され、その後、結果リストを目的の制限で切り捨てます。

9.0.0

新機能

  • [blueprint domain-specific-roles] ロールをドメイン固有として定義できるようになりました。ドメイン固有のロールは、ポリシーファイルでは参照されず、ドメインが推論ルールを持つ独自の暗黙ロールを構築できるようにするために使用されます。ドメイン固有のロールをドメインまたはドメイン内のプロジェクトに割り当てることができ、グローバルなロールのサブセットを意味し、それぞれのドメインまたはプロジェクトにスコープされたトークンに表示されます。 ただし、ドメイン固有のロール自体はトークンには表示されません。

  • [blueprint bootstrap] keystone-manage は CLI での bootstrap コマンドをサポートし、 paste-ini に admin_token フィルタを必要とせずに Keystone のインストールを初期化できるようになりました。

  • [blueprint domain-config-default] 認証 API は、ドメイン固有の設定 API でオーバーライドできる、設定オプションのデフォルト値の取得をサポートしました。

  • [blueprint url-safe-naming] 階層的な名前付けを使用してプロジェクトを指定するための将来の機能をサポートするために、オプションで、プロジェクトとドメインの名前を URL に安全に使用できるようにしました。

  • [bug 1490804] 監査 ID がトークン取消リストに含まれるようになりました。

  • [bug 1519210] keystone.confnotification_opt_out オプションを使ってイベント種別のリストを指定することで、通知をオプトアウトすることができます。 これらのイベントは、メッセージングサービスには送信されません。

  • [bug 1542417] user_description_attribute の LDAP ドライバー設定へのマッピングがサポートされました。

  • [bug 1526462] LDAP 認証ドライバーを使用する場合、 OpenDirectory および UNIX での posixGroups をサポートしました。

  • [bug 1489061] ユーザー ID およびプロジェクト ID ごとのカタログ検索にキャッシュが追加されました。これは、v2 と v3 の両方の API に影響します。 結果として、これはFernet ベースのデプロイでパフォーマンス上の利点を提供します。

  • Keystone はカタログでの $(project_id)s をサポートしました。これは、$(tenant_id)s と同じ動作をします。$(tenant_id)s は非推奨になり、カタログのエンドポイントは、$(project_id)s が使用されるようになります。

  • [bug 1525317] 認証プロバイダーのフィルタリングを idenabled 属性を基にして有効化します。

  • [bug 1555830] サービスプロバイダーのフィルタリングを idenabled 属性を基にして有効化します。

  • [blueprint implied-roles] Keystone は暗黙のロールの作成をサポートするようになりました。ロール推論ルールを追加して、あるロールの割り当てが別のロールの割り当てを意味する場合を示すことができるようになりました。そのルールは prior_role の形式で implied_role を意味します。トークン生成時に、暗黙的なロールを持つロールのユーザー/グループの割り当てが展開され、そのロールもトークンに含められます。暗黙のロールの拡張は、 keystone.conf[assignment] セクションの prohibited_implied_role オプションによって制御されます。

  • [bug 96869] [resource] セクションに、特別な admin プロジェクト admin_project_domain_nameadmin_project_name を指定するための、一対の設定オプションが追加されました。これらが定義されている場合、そのプロジェクトに対して発行されたスコープ付きトークンは、トークンに追加された追加の識別子 is_admin_project を持ちます。この識別子は、 API がアクセス制御ポリシーを評価するときに、サービスのポリシーファイル内のポリシールールによってチェックできます。 Keystone は、まだドメインとして動作しているプロジェクトが管理プロジェクトになる機能をサポートしていません。 これは、ドメインとして動作しているプロジェクトのための残りのコードがマージされると追加されます。

  • [bug 1515302] [ldap] セクションに2つの新しい設定オプションが追加されました。user_enabled_emulation_use_group_configproject_enabled_emulation_use_group_config を使用して、デプロイヤーがデフォルトのグループ LDAP スキーマオプションを上書きするかどうかを選択できます。

  • [bug 1501698] 認証バックエンドに LDAP を使用した時の list_limit パラメーターがサポートされました。

  • [bug 1479569] ロールの割り当てのリストに名前が追加されました(GET /role_assignments?include_names=True)。オブジェクトの内部的な ID だけでなく、名前も返されます。

  • ドメインは、 is_domain 属性が true に設定されたトップレベルのプロジェクトとして表されます。 そのようなプロジェクトは、以前のトップレベルプロジェクトの親として表示されます。 ドメインとして機能するプロジェクトは、プロジェクト API またはドメイン API (V3 のみ)を使用して作成、読み取り、更新、および削除ができます。

  • [bug 1500222] ユーザー ID 、プロジェクト ID 、およびドメイン ID などの情報をログエントリーに追加しました。この変更の副作用として、ユーザーのドメイン ID とプロジェクトのドメイン ID の両方が認証コンテキストに含まれるようになりました。

  • [bug 1473042] Keystone の S3 互換性サポートは、 AWS Signature Version 4 を使用して認証を行います。

  • [blueprint totp-auth] Keystone は Time-based One-Time Password(TOTP)による認証をサポートしました。 この機能を有効にするには、 totp 認証プラグインを keystone.conf[auth] セクションの methods オプションに追加してください。 TOTP の使用に関する詳細は、 Keystone の開発者用ドキュメント にあります。

アップグレード時の注意

  • [bug 1473553] keystone-paste.ini は、build_auth_context の前に admin_token_auth ミドルウェアを置くように変更する必要があります。正しい pipeline の値については、` keystone-paste.ini` サンプルを参照してください。build_auth_context の後の admin_token_auth は非推奨になり、将来のリリースではサポートされなくなります。

  • LDAP ドライバは、 LDAP からのユーザー取得後にユーザーの description 属性もマップするようになりました。 これが望ましくない動作である場合は、 LDAP ドライバ設定の user_attribute_ignoredescription を追加してください。 description 属性のデフォルトマッピングは description`に設定されています。 LDAP が別の属性名を使用する場合(例えば、 AD がバックエンドの LDAP の場合は `displayName)、 LDAP ドライバ設定 user_description_attribute を調整してください。 あなたの user_additional_attribute_mapping 設定に description:description が含まれている場合、このマッピングを削除すれば、デフォルト動作になります。

  • os_inherit 設定オプションのデフォルトは、 True に変更されました。この部分の API を無効にする必要がある場合は、os_inherit オプションを明示的に False に指定して、デフォルト設定をオーバーライドします。

  • keystone-paste.ini`ファイルを編集して拡張フィルタを削除し、``[pipeline:api_v3]` でそれらを使う必要があります。 [filter:oauth1_extension][filter:federation_extension]、 `` [filter:endpoint_filter_extension]``、 [filter:revoke_extension] のフィルタを削除してください。 ガイダンスについては、サンプル keystone-paste.ini <https://git.openstack.org/cgit/openstack/keystone/tree/etc/keystone-paste.ini> _ ファイルを参照してください。

  • keystone-paste.ini ファイルを編集して拡張フィルタを削除し、[pipe:public_api][pipeline:admin_api] パイプラインでそれらを使う必要があります。[filter:user_crud_extension][filter:crud_extension] を削除してください。ガイダンスについては、サンプル keystone-paste.ini <https://git.openstack.org/cgit/openstack/keystone/tree/etc/keystone-paste.ini> _ ファイルを参照してください。

  • 新しい設定オプション insecure_debug が追加され、デバッグ情報をクライアントに返すか制御できます。 これは debug オプションによって制御されていました。 追加情報をクライアントに返したい場合は、値を true に設定してください。 この追加情報は、攻撃者を助けるかもしれません。

  • LDAP 接続プーリングの設定オプション [ldap] use_pool[ldap] use_auth_pool は、デフォルトで両方とも有効になりました。 LDAP ドライバを使用しているデプロイメントのみが影響を受けます。[ldap] セクションに追加の設定オプションがあり、接続プールのサイズなどを調整できます。

  • [bug 1541092] データベースのアップグレードは Kilo 以降のみでサポートされます。

  • Keystone は oslo.cache を使用するようになりました。keystone.conf[cache] セクションを oslo.cache バックエンドを指すよう、oslo_cache.memcache_pool または oslo_cache.mongo に、更新しました。 サンプルの設定ファイルを参照してください。追加のドキュメントを参照してください `oslo.cache<http://docs.openstack.org/developer/oslo.cache>`_

廃止予定の機能

  • [blueprint deprecated-as-of-mitaka] V8 割り当てドライバーインタフェースは非推奨です。 V8 割り当てドライバーインタフェースのサポートは、 OpenStack の 'O' リリースで削除される予定です。

  • [blueprint deprecated-as-of-mitaka] V8 ロールドライバーインタフェースは非推奨です。 V8 ロールドライバーインタフェースのサポートは、 OpenStack の 'O' リリースで削除される予定です。

  • V8 リソースドライバーインターフェースは非推奨になりました。 V8 フェデレーションドライバーインターフェースのサポートは、 OpenStack の 'O' リリースで削除される予定です。

  • [blueprint deprecated-as-of-mitaka] admin_token_auth フィルタは、 keystone-paste.inibuild_auth_context フィルタの前に置く必要があります。

  • カタログエンドポイントでの $(tenant_id)s の使用は非推奨となり、 $(project_id)s になりました。

  • [blueprint deprecated-as-of-mitaka] `` [endpoint_policy]`` の enabled オプションを非推奨、 'O'リリースで削除予定とし、その拡張機能は常に有効になります。

  • [blueprint deprecated-as-of-mitaka] トークン用の memcache と memcache_pool 永続性バックエンドは、永続性を必要としない Fernet トークンを使用するために非推奨になりました。

  • [blueprint deprecated-as-of-mitaka] すべての v2.0 API を非推奨にしました。 Keystone チームは代わりに v3 API を使用することを推奨します。ほとんどの v2.0 API は 'Q' リリースで削除されます。 ただし、認証 API と EC2 API は無期限に非推奨であり、 'Q' リリースでは削除されません。

  • [blueprint deprecated-as-of-mitaka] Mitaka リリースでは、 PKI および PKIz トークンの形式は非推奨です。これらは 'O' リリースで削除されます。この変更により、設定ファイルの [token] セクションの hash_algorithm オプションも非推奨になりました。この変更のために、 keystone-manage pki_setup コマンドも同様に非推奨されました。

  • [blueprint deprecated-as-of-mitaka] Mitaka リリースでは、認証バックエンドの LDAP ドライバーに対する書き込みサポートが非推奨になりました。これには、ユーザーの作成、グループの作成、ユーザーの削除、グループの削除、ユーザーの更新、グループの更新、ユーザーのグループへの追加、およびグループからのユーザーの削除の操作が含まれます。これらの操作は 'O' リリースで削除されます。

  • [blueprint deprecated-as-of-mitaka] Mitaka リリースでは、認証プラグイン keystone.auth.plugins.saml2.Saml2 は廃止されました。 代わりに、 keystone.auth.plugins.mapped.Mapped を使用することをお勧めします。 saml2 プラグインは 'O' リリースで削除されます。

  • [blueprint deprecated-as-of-mitaka] Mitaka リリースでは、 simple_cert_extension は PKI および PKIz トークン形式のサポートでのみ使用されるため、非推奨となっています。これは 'O' リリースで削除されます。

  • os_inherit 設定オプションは無効になりました。将来、このオプションは削除され、 API のこの部分は常に有効になります。

  • [blueprint deprecated-as-of-mitaka] httpd/keystone.py ファイルは、 keystone-wsgi-adminkeystone-wsgi-public のために非推奨となり、 'O' リリースで削除される予定です。

  • [blueprint deprecated-as-of-mitaka] keystone.common.cache.backends.memcache_poolkeystone.common.cache.backends.mongo、および keystone.common.cache.backends.noop は、 oslo.cache バックエンドを使用するため、非推奨になりました。これらの Keystone バックエンドは 'O' リリースで削除されます。

  • V8 フェデレーションドライバーインターフェースは非推奨になり、 V9 フェデレーションドライバーインターフェースになりました。 V8 フェデレーションドライバーインターフェースのサポートは、 OpenStack の 'O' リリースで削除される予定です。

セキュリティー上の問題

  • admin_token フィルタの使用は、適切なユーザ名/パスワードの使用と比較して安全ではありません。歴史的に、admin_token フィルタは、 CMS システムを動作させるために、初期化後の Keystone では有効になったままです。 keystone-manage bootstrap を使ったアウトオブバンドの初期化に移行すると、 Keystone への、つまりインストール全体への管理者アクセス権を譲渡する静的共有文字列に関するセキュリティ上の懸念が排除されます。

  • admin_token 認証方法は、インストールをブートストラップする以外の目的には使用されませんでした。しかし、Web パイプラインの設定に使用されるペーストファイルの編集の制限により、多くのデプロイメントで admin_token メソッドを有効にしておかなければなりませんでした。このメカニズムによるリスクを最小限に抑えるために、 admin_token 設定値のデフォルト値は、 Python の None 値です。さらに、明示的または暗黙的に値が None に設定されている場合、admin_token は有効にならず、それを使用しようとすると認証に失敗します。

  • [bug 1490804] [CVE-2015-7546] PKI または PKIz トークンプロバイダーが使用されているときに、攻撃者がトークンの取り消しを回避できるバグが修正されました。この脆弱性に対する完全な修復には、keystonemiddleware プロジェクトの対応する修正が必要です。

Bug Fixes

  • [bug 1535878] もともと、 GET /projects/{project_id} を実行するために、提供されたポリシーファイルには、少なくともプロジェクトの管理者レベルの権限が必要でした。プロジェクトに役割を持つユーザーなら誰でも実行できるように更新しました。

  • [bug 1516469] endpoint_group のプロジェクト関連付けによってフィルタリングされたエンドポイントは、プロジェクトスコープトークンが発行され、カタログドライバに endpoint_filter.sql が使用されたときにサービスカタログに含まれます。

  • ユーザー/グループのメンバーシップに関する通知イベント送信がサポートされました。 ユーザーがグループに追加または削除されると、ユーザーとグループの両方の識別子を含む通知が送信されます。

  • [bug 1527759] 既定のドメインにないユーザーまたはプロジェクトで V2 トークンを取得する機能を削除する変更を元に戻しました。この変更は、既定のドメインにないユーザーまたはプロジェクトで V2 API 経由で認証する機能を利用していた実際のデプロイを破壊しました。デプロイヤーは V3 の認証を適切に処理するためにコードを変更してくれると確信していますが、この修正は、期待され、テストされた動作を破壊したものでした。

  • [bug 1480270] v2.0 API を使用してエンドポイントをリストするときに、Keystone REST API の v3 を使用して作成されたエンドポイントが含まれるようになりました。

その他の注意点

  • 割り当てドライバーの V9 バージョンから、 list_project_ids_for_user()、 list_domain_ids_for_user()、 list_user_ids_for_project()、 list_project_ids_for_groups()、 list_domain_ids_for_groups()、 list_role_ids_for_groups_on_project() および list_role_ids_for_groups_on_domain() メソッドが削除されました。

  • [blueprint move-extensions] keystone-manage db_sync --extension endpoint_policy のような拡張マイグレーションが実行された場合、エラーが返されます。これは設計どおりの動作です。これらの移行を実行するには、単に keystone-manage db_sync を実行します。影響を受ける拡張は、 oauth1federationendpoint_filterendpoint_policy 、および revoke です。

  • [bug 1367113] カタログテンプレートのデータを使用するために、KVS カタログバックエンドの「エンティティー取得」機能と「エンティティー一覧」機能が再実装されました。これまでは、実行時に作成された一時的なデータに対してのみ機能しました。 エンティティーの作成、更新、削除機能は、例外を発生するようになりました。

  • keystone-manage db_sync は、デフォルトドメインを作成しません。 このドメインは、従来の v2.0 API を使用して作成されたすべてのユーザーのドメインとして使用されます。 デフォルトのドメインは、 keystone-manage bootstrap 、あるいはユーザーやプロジェクトが従来の v2.0 API を使って作成されたときに作成されます。

  • v2.0 API に対する信頼スコープのトークンを検証する機能が削除され、バージョン 3 の API が使用されました。

  • [blueprint removed-as-of-mitaka] トークンレスポンスから extras を削除しました。 これらのフィールドは必要ではなく、明確な API によってこのフィールドは冗長になります。これは Kilo リリースで非推奨になりました。

  • [blueprint removed-as-of-mitaka] keystone middleware から RequestBodySizeLimiter を削除しました。 Keystone チームは代わりに oslo_middleware.sizelimit.RequestBodySizeLimiter を使用することを提案しています。これは Kilo リリースで非推奨になりました。

  • [blueprint removed-as-of-mitaka] identity.created.role_assignmentidentity.deleted.role_assignment の event_type の通知は削除されました。 Keystone チームは代わりに、 identity.role_assignment.createdidentity.role_assignment.deleted で判断するよう提案しています。 これは Kilo リリースで非推奨になりました。

  • [blueprint removed-as-of-mitaka] トラストコントローラーから check_role_for_trust を削除ました。ポリシーファイルがこのターゲットを参照していないことを確認してください。これは Kilo リリースで非推奨になりました。

  • [blueprint removed-as-of-mitaka] カタログ KVS バックエンドを削除しました( keystone.catalog.backends.sql.Catalog )。 これは Icehouse リリースで非推奨になりました。

  • [blueprint removed-as-of-mitaka] Assignment の LDAP バックエンドが削除されました。これは Kilo リリースで非推奨になりました。

  • [blueprint removed-as-of-mitaka] Resource の LDAP バックエンドが削除されました。これは Kilo リリースで非推奨になりました。

  • [blueprint removed-as-of-mitaka] ロール の LDAP バックエンドが削除されました。これは Kilo リリースで非推奨になりました。

  • [blueprint removed-as-of-mitaka] Revoke KVS バックエンドを削除しました( keystone.revoke.backends.kvs.Revoke)。 これは Juno リリースで非推奨になりました。