KeyRock idm、Wilma PEP-Proxy、AuthZForce PDP over Docker を使用して Orion Context Broker を保護しようとしています。今のところ、レベル 1 のセキュリティはうまく機能しており、ログに記録されていないユーザーへのアクセスを拒否できますが、レベル 2 を追加しようとすると Wilma でこのエラーが発生します。
AZF domain not created for application <applicationID>
Wilma の config.js ファイルでの私の azf 構成は次のとおりです。
config.azf = {
enabled: true,
protocol: 'http',
host: 'azfcontainer',
port: 8080,
custom_policy: undefined
};
これが、KeyRock でアクセス制御構成を設定する方法です。
# ACCESS CONTROL GE
ACCESS_CONTROL_URL = 'http://azfcontainer:8080'
ACCESS_CONTROL_MAGIC_KEY = None
Keyrock でカスタム ポリシーを作成しましたが、AuthZForce ログには KeyRock または Wilma からのリクエストが表示されないため、PDP でドメインが作成されません。すべてのコンテナーが互いに認識して到達できること、およびすべてのポートが稼働していることを確認しました。一部の設定が不足している可能性があります。
これらは私が使用しているバージョンです:
keyrock=5.4.1
wilma=5.4
autzforce=6.0.0/5.4.1
この質問は、「アプリケーション用に作成されていない AZF ドメイン」 AuthZforceと同じですが、表示された AuthZForce GE 構成でも問題が解決しません。
AuthZForceがPEP プロキシの背後にないため、変数 ACCESS_CONTROL_MAGIC_KEY が変更されていない (デフォルトではなし)場合に発生するこの問題の原因を見つけました。
ホライズンは、AuthZForceに接続する必要があるときに、openstack_dashboard/local/local_settings.py のACCESS_CONTROL_URL および ACCESS_CONTROL_MAGIC_KEY パラメーターの両方を読み取るようです。理論上、2 番目のパラメータはオプションです (PEP プロキシの「X-Auth-Token」ヘッダーを導入します) が、ホライズンがそれが None (local_settings.py のデフォルト値) または空の文字列であると検出した場合、ログには次のように表示されます。openstack_dashboard/fiware_api/access_control_ge.pyの関数 "policyset_update" から警告およびすぐに戻ります。したがって、AuthZForce への通信は行われません。
この問題を解決する簡単な方法は、openstack_dashboard/local/local_settings.py にテキストをマジック キーとして書き込むことです。
# ACCESS CONTROL GE
ACCESS_CONTROL_URL = 'http://authzforce_url:port'
ACCESS_CONTROL_MAGIC_KEY = '1234567890' # DO NOT LEAVE None OR EMPTY
したがって、「X-Auth-Token」ヘッダーが生成されますが、AuthZForce が PEP プロキシの背後にない場合、通信に影響を与えるべきではありません (ヘッダーは単に無視されます)。
注意:変更を行う場合は、キャッシュされたバイトコード ファイル「openstack_dashboard/local/local_settings.py c」を削除して、Horizonサービスの再起動後に新しい構成が確実に更新されるようにしてください。
PS: https://github.com/ging/horizon にプル リクエストを送信し、問題を修正する簡単な変更を加えました。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加