6.2. プラットフォームゲートウェイ
プラットフォームゲートウェイは、Ansible Automation Platform の認証と認可を処理するサービスです。プラットフォームへの一元的な入り口を提供し、プラットフォームのユーザーインターフェイスとして機能します。
手順
-
ナビゲーションパネルから、
を選択します。 - Platform gateway settings ページが表示されます。
- オプションを設定するには、 をクリックします。
次のプラットフォームゲートウェイオプションを設定できます。
- Platform gateway proxy url: プラットフォームゲートウェイプロキシーレイヤーへの URL。
- Platform gateway proxy url ignore cert: プラットフォームゲートウェイプロキシーレイヤーへの証明書を無視します。
- をクリックして変更を保存するか、利用可能な他のプラットフォームオプションの設定に進みます。
6.2.1. プラットフォームセキュリティーの設定 リンクのコピーリンクがクリップボードにコピーされました!
Platform gateway settings ページから、プラットフォームセキュリティーの設定を指定できます。
手順
-
ナビゲーションパネルから、
を選択します。 - Platform gateway settings ページが表示されます。
- オプションを設定するには、 をクリックします。
次の Security 設定を設定できます。
- Allow admin to set insecure: スーパーユーザーアカウントが、ローカルユーザーアカウントを編集するときに安全でないパスワードを保存できるかどうか。
Gateway basic auth enabled: プラットフォームゲートウェイ API への Basic 認証を有効にします。
これをオフにすると、すべての Basic 認証 (ローカルユーザー) が阻止されるため、お客様はオフにする前に代替認証メカニズムが正しく設定されていることを確認する必要があります。
ローカル認証のみが設定された状態でこれをオフにすると、UI へのすべてのアクセスも阻止されます。
Social auth username is full email: この設定を有効にすると、ソーシャル認証でユーザー名としてフルネームではなく完全なメールアドレスを使用するようにアラートが出されます。
Gateway token name: プロキシーからバックエンドサービスにプッシュするヘッダー名。
警告この名前が変更された場合は、バックエンドを更新して補正する必要があります。
- Gateway access token expiration: アクセストークンの有効期間。
Jwt private key: バックエンドサービスに送信される JWT トークンを暗号化するために使用する秘密鍵。
これは RSA 秘密鍵であり、インストール時に自動的に生成されます。
注記鍵をローテーションすると、JWT 鍵がリセットされるまで現在のセッションが失敗するため、注意してください。
(読み取り専用) Jwt public key: バックエンドサービスに送信される JWT トークンを暗号化するために使用する秘密鍵。
これは RSA 秘密鍵であり、インストール時に自動的に生成されます。
注記他のサービスがこの鍵をどのように使用するかは、そのサービスのドキュメントを参照してください。
- をクリックして変更を保存するか、利用可能な他のプラットフォームオプションの設定に進みます。
6.2.2. プラットフォームセッションの設定 リンクのコピーリンクがクリップボードにコピーされました!
Platform gateway settings ページから、プラットフォームセッションの設定を指定できます。
手順
-
ナビゲーションパネルから、
を選択します。 - Platform gateway settings ページが表示されます。
- オプションを設定するには、 をクリックします。
- Session cookie age フィールドに、セッションの有効期限が切れるまでの時間を秒単位で入力します。
- をクリックして変更を保存するか、利用可能な他のプラットフォームオプションの設定に進みます。
6.2.3. プラットフォームのパスワードセキュリティーポリシーの設定 リンクのコピーリンクがクリップボードにコピーされました!
Platform gateway settings ページから、パスワードセキュリティーポリシーを設定できます。
手順
-
ナビゲーションパネルから、
を選択します。 - Platform gateway settings ページが表示されます。
- オプションを設定するには、 をクリックします。
次の Password Security オプションを設定できます。
- Password minimum uppercase letters: ローカルパスワードに必要な大文字の数。
- Password minimum length: ローカルパスワードの最小長。
- Password minimum numerical digits: ローカルパスワードに必要な数字の数。
- Password minimum special characters: ローカルパスワードに必要な特殊文字の数。
- をクリックして変更を保存するか、利用可能な他のプラットフォームオプションの設定に進みます。
6.2.4. プラットフォームゲートウェイデータベースのパスワードの暗号化 リンクのコピーリンクがクリップボードにコピーされました!
システム管理者は、プラットフォームゲートウェイが使用するデータベースのパスワードを暗号化し、設定ファイルに直接適用することで、SECRET_KEY の読み込み順序に関連する問題を解決できます。
プラットフォームゲートウェイは Django フレームワークを使用します。これには、復号化関数(ansible_encryption.decrypt_string ())が呼び出される前に、をメモリーに完全に読み込む必要があります。キーの読み込み前に復号化呼び出しが実行されると、プロセスは失敗し、プラットフォームゲートウェイがデータベースにアクセスできないようにします。
SECRET_ KEY
手順
- プラットフォームゲートウェイノードでコマンドラインにアクセスします。
aap-gateway-manage shell_plusコマンドを使用して対話型 Django シェルを開きます。aap-gateway-manage shell_plusシェル内で次のコマンドを実行して、暗号化ライブラリーをインポートし、パスワードを設定して、暗号化された文字列を生成します。
>>> from ansible_base.lib.utils.encryption import ansible_encryption >>> value = 'your-database-password' # REPLACE with your actual password >>> encrypted_value = ansible_encryption.encrypt_string(value) >>> print(encrypted_value)-
$encrypted$で始まる出力文字列全体をコピーします。これは暗号化されたパスワードです。 -
quit ()を使用してシェルを終了します。 プラットフォームゲートウェイ設定ファイルを開いて編集します。
vi /etc/ansible-automation-platform/gateway/settings.py-
DATABASES変数を定義するセクションを見つけます。DATABASESディクショナリーを定義する前にSECRET_KEYをロードするコードを挿入する必要があります。 ファイルを更新して、強調表示されたコードを追加し、
PASSWORDキーのプレースホルダーテキストのみをコピーした暗号化文字列に置き換えます。from ansible_base.lib.utils.encryption import ansible_encryption from django.conf import settings # ... other configuration settings ... # The GATEWAY_SECRET_KEY_FILE is typically defined earlier in settings. # The SECRET_KEY must be loaded before the decryption function is called. with open(GATEWAY_SECRET_KEY_FILE, 'rb') as f: settings.SECRET_KEY = f.read().strip() DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'HOST': '10.0.108.77', # Example host, use your value # ... other database settings ... 'PASSWORD': ansible_encryption.decrypt_string('$encrypted$UTF8$AESCBC$Z0FBQUFBQnBBNU... <YOUR_ENCRYPTED_STRING>...QWdPUHM9'), # ... other database settings ... 'PORT': '5432', # Example port, use your value } }- ファイルを保存してから閉じます。
プラットフォームゲートウェイを再起動して、新しい暗号化設定を読み込みます。
sudo systemctl restart aap-gateway
検証
プラットフォームゲートウェイがエラーなしで起動し、データベース接続の成功を示すプラットフォーム UI にアクセスできることを確認します。
6.2.5. その他のプラットフォームオプションの設定 リンクのコピーリンクがクリップボードにコピーされました!
Platform gateway settings ページから、その他のプラットフォームオプションを設定できます。
手順
-
ナビゲーションパネルから、
を選択します。 - Platform gateway settings ページが表示されます。
- をクリックします。
以下の Other settings を設定できます。
Jwt expiration buffer in seconds: JWT トークンの有効期限が切れてキャッシュから削除されるまでの秒数。
認証が行われると、ユーザーに対して JWT トークンが作成され、そのトークンがキャッシュされます。その後、Automation Controller や Event-Driven Ansible などのサービスへの呼び出しが発生すると、トークンがキャッシュから取得され、サービスに送信されます。トークンとトークンのキャッシュの両方に有効期限があります。トークンがキャッシュ内にある間に期限切れになった場合、認証プロセスの試行は 401 error (unauthorized) を表示します。この設定により、トークンの有効期限が切れる前に JWT トークンをキャッシュから削除することで、Red Hat Ansible Automation Platform にバッファーが提供されます。トークンがキャッシュから取り消されると、新しい有効期限を持つ新しいトークンが生成され、ユーザー用にキャッシュされます。その結果、キャッシュ内の期限切れのトークンは使用されません。この設定のデフォルトは 2 秒です。プラットフォームゲートウェイとサービス間の遅延が大きく、401 応答が見られる場合、この設定を増やして 401 応答の発生回数を抑える必要があります。
- Status endpoint backend timeout seconds: バックエンドに接続しようとする際に、ステータスエンドポイントが待機するタイムアウト (秒単位)。
- Status endpoint backend verify: ステータスのために個々のノードを呼び出すときに、サービスの SSL 証明書を検証するかどうかを指定します。
- Request timeout: プロキシーがタイムアウトを報告して 504 を生成するまでの時間を秒単位で指定します。
- *Allow external users to create OAuth2 tokens*: セキュリティー上の理由から、LDAP、SAML、SSO、Radius などの外部認証プロバイダーのユーザーは、OAuth2 トークンを作成できません。この動作を変更するには、この設定を有効にします。この設定をオフにすると、既存のトークンは削除されません。
- をクリックして変更を保存するか、利用可能な他のプラットフォームオプションの設定に進みます。