アクセス管理と認証


Red Hat Ansible Automation Platform 2.6

Ansible Automation Platform でロールベースのアクセス制御、オーセンティケーター、オーセンティケーターマップを設定する

Red Hat Customer Content Services

概要

このガイドでは、Red Hat Ansible Automation Platform リソースへのアクセスを制御するための要件、オプション、推奨事項を説明します。

Red Hat ドキュメントへのフィードバック (英語のみ)

このドキュメントの改善に関するご意見がある場合や、エラーを発見した場合は、https://access.redhat.com からテクニカルサポートに連絡してリクエストを送信してください。

第1章 アクセス管理と認証の概要

Ansible Automation Platform には、集中認証のセットアップ、アクセス管理の設定、グローバルおよびシステムレベルの設定を 1 つのロケーションから設定できるプラットフォームインターフェイスが備わっています。

Ansible Automation Platform に初めてログインするときは、プラットフォームのライセンス認証を行うために、サブスクリプション情報を入力する必要があります。ライセンスとサブスクリプションの詳細は、Ansible Automation Platform のライセンス、更新、サポートの管理 を参照してください。

システム管理者は、次のタスクを通じてアクセス、権限、およびシステム設定を設定できます。

第2章 Ansible Automation Platform での認証の設定

Ansible Automation Platform の認証設定を使用すると、LDAP や SAML などの複数の認証方法により簡素化されたログインを設定できます。選択した認証方法に応じて、設定を完了するためにさまざまな情報を入力する必要があります。設定のニーズに必要なすべての情報を必ず含めてください。

重要
  • Ansible Automation Platform 2.6 へのアップグレード中に、プラットフォームゲートウェイは新しい中央認証サービスを使用します。
  • アップグレード後、Automation Controller に存在していたローカルユーザーは、ローカルプラットフォームゲートウェイユーザーに自動的に変換できるようになります。LDAP、SAML、OIDC などの Automation Controller からの他のタイプの認証はプラットフォームゲートウェイに移行されますが、それらのユーザーが使用できるようになる前にプラットフォームゲートウェイで追加の設定が必要になる場合があります。

アップグレード後、ローカルユーザーパスワードは、Automation Controller とプラットフォームゲートウェイ間で自動的に同期されません。プラットフォームゲートウェイは、ローカルユーザーを初めて認証するときに次のプロセスを使用します。

  • プラットフォームゲートウェイは、プラットフォームゲートウェイパスワードを使用してユーザーの認証を試みます。
  • 試行が失敗した場合、プラットフォームゲートウェイは Automation Controller のパスワードを使用してユーザーを認証します。
  • 認証が成功すると、プラットフォームゲートウェイはデータベース内のユーザーのパスワードを更新します。
  • それ以降のログインでは、ユーザーはプラットフォームゲートウェイによって直接認証されます。

詳細は、RPM のアップグレードと移行 を参照してください。

2.1. 前提条件

  • Ansible Automation Platform 2.6 の実行中のインストール環境
  • 認証ソースの実行中のインスタンス
  • Ansible Automation Platform の管理者権限
  • Ansible Automation Platform 2.6 をソースに接続するために必要な接続情報 (詳細は、個々の認証タイプを参照)。

2.2. プラグ可能な認証

認証とは、Ansible Automation Platform に対してユーザーのアイデンティティーを確認するプロセス、つまり、ユーザーが本人であることを確認するプロセスです。これはいくつかの方法で実行でき、通常は usernamepassword に関連付けられます。LDAP、SAML、OIDC などの外部認証ソースを設定すると、シングルサインオン (SSO) エクスペリエンスが有効になります。SSO により、ユーザーは他のエンタープライズサービスと同じ認証情報を使用して、プラットフォームゲートウェイにアクセスできるようになります。

注記

Ansible Automation Platform からログアウトすると、プラットフォームとのセッションのみが終了します。外部シングルサインオン (SSO) プロバイダーとのセッションはアクティブなままです。同じプロバイダーの別のアカウントに切り替えるには、SSO プロバイダーの Web サイトから直接ログアウトする必要があります。これにより、新しいアカウントで正常にサインインできるようになります。

Ansible Automation Platform 2.6 は、プラグ可能な認証システムを採用しています。このシステムは設定ウィザードを備えており、LDAP や SAML などの異なるタイプのオーセンティケーターを、共通のシンプルな方法で設定できます。また、このプラグ可能なシステムでは、同じタイプの複数のオーセンティケーターを設定することもできます。

プラグ可能なシステムには、いくつかの概念があります。

オーセンティケータープラグイン
プラグインを使用すると、Ansible Automation Platform は LDAP や SAML などのソースシステムに接続できます。Ansible Automation Platform には、さまざまなオーセンティケータープラグインが含まれています。オーセンティケータープラグインは、必要なコードがすべてパッケージ内に含まれており、必要に応じて個別にバージョン管理できるという点で、Ansible コレクションに似ています。
オーセンティケーター
オーセンティケーターはオーセンティケータープラグインのインスタンス化であり、指定されたソースからのユーザーがログインできるようにします。たとえば、LDAP オーセンティケータープラグインは、必要な LDAP サーバー設定を定義します。LDAP 認証プラグインからオーセンティケーターをインスタンス化する場合、オーセンティケーターが接続する必要がある LDAP サーバーの URL を指定する必要があります。
オーセンティケーターマップ
オーセンティケーターマップはオーセンティケーターに適用され、システムにログインするユーザーに付与する権限を Ansible Automation Platform に指示します。

2.3. 認証方法の作成

オーセンティケーターを作成するには、次の手順に従います。

  • 認証タイプを選択します。選択した認証タイプの認証詳細を含め、設定するオーセンティケータープラグインのタイプを選択します。
  • マッピング で、システムへのアクセスを制御するためのマッピングルールタイプとトリガーを定義します。マッピング順序 で、マッピングの優先順位を定義できます。

    注記

    マッピング順序は、1 つ以上のオーセンティケーターマップを定義した場合にのみ使用できます。

2.3.1. 認証タイプの選択

Authentication Methods ページで、設定するオーセンティケータープラグインのタイプを選択できます。

手順

  1. ナビゲーションパネルから、Access ManagementAuthentication Methods を選択します。
  2. Create authentication をクリックします。
  3. オーセンティケーターの一意の Name を入力します。名前は必須で、すべてのオーセンティケーター間で一意である必要があり、512 文字を超えることはできません。これは、オーセンティケーターに対して生成される一意の識別子になります。

    注記

    名前を変更しても、オーセンティケーターの一意の識別子は更新されません。たとえば、My Authenticator という名前のオーセンティケーターを作成し、後でその名前を My LDAP Authenticator に変更した場合、一意の識別子が引き続き使用されているため、My Authenticator という名前の別のオーセンティケーターを作成することはできません。

  4. Authentication type リストから、オーセンティケータータイプを選択します。利用可能な認証プラグインの完全なリストは、認証タイプの設定 を参照してください。
  5. Authentication details セクションが自動的に更新され、選択した認証タイプに関連するフィールドが表示されます。必要な詳細は、「認証タイプの設定」の各セクションを参照してください。

    すべての認証タイプに、NameAdditional Authenticator Fields、および Create Objects を入力します。

  6. Enabled を有効または無効にして、オーセンティケーターを有効にするか無効にするかを指定します。有効にすると、ユーザーはオーセンティケーターからログインできます。無効にすると、ユーザーはオーセンティケーターからログインできません。
  7. Create Object を有効または無効にして、ユーザーがログインした際にオーセンティケーターがシステムにチームと組織を作成するかどうかを指定します。

    Enabled
    オーセンティケーターマップ内で定義されたチームと組織が作成され、ユーザーがそれらに追加されます。
    Disabled
    オーセンティケーターマップ内で定義された組織とチームは、システム内で自動的に作成されません。ただし、マップがすでに存在する場合 (スーパーユーザーによって作成された場合)、マップをトリガーするユーザーにはマップへのアクセスが許可されます。
  8. Remove Users を有効または無効にします。有効にすると、ユーザーがこのソースから認証される際に、以前にユーザーに付与されたアクセス権がすべて削除されます。無効にすると、このオーセンティケーターのオーセンティケーターマッピングの結果に基づいてのみ、ユーザーに権限が追加されたり、権限が削除されたりします。

    たとえば、ユーザーにシステム内で is_superuser 権限が付与されているとします。そして、そのユーザーがログインするオーセンティケーターのマップでは、そのユーザーがスーパーユーザーであるべきかどうかは判断されません。Remove Users が有効な場合、is_superuser 権限はユーザーから削除されます。オーセンティケーターマップはその権限を持たせるべきかどうかを判定しないため、ログイン後、ユーザーは is_superuser 権限を持ちません。

    Remove Users が無効な場合、is_superuser 権限はユーザーから 削除されません。オーセンティケーターマップはその権限を持たせるべきかどうかを判定しないため、ログイン後、ユーザーは is_superuser 権限を 持ちます

  9. Create Authentication Method をクリックし、Define authentication mapping rules and triggers に進みます。

2.3.2. 認証マッピングのルールとトリガーの定義

認証マップのタイプは、どのタイプのオーセンティケーターでも使用できます。各マップには、マップがいつ true として評価されるかを定義するトリガーがあります。

手順

  1. ナビゲーションパネルから、Access ManagementAuthentication Methods を選択します。
  2. リストビューで、Name 列に表示されているオーセンティケーター名を選択します。
  3. オーセンティケーターの Details ページから Mapping タブを選択します。
  4. Create mapping をクリックします。
  5. Authentication mapping リストからマップのタイプを選択します。各マップのタイプの詳細な説明は、オーセンティケーターマップのタイプ を参照してください。次の選択肢があります。

  6. ルールを識別するための一意のルールの Name を入力します。
  7. リストから Trigger を選択します。詳細は、オーセンティケーターマップトリガー を参照してください。次の選択肢があります。

    • Always
    • Never
    • Group
    • Attribute
  8. Create mapping をクリックします。
  9. この手順を繰り返して、オーセンティケーターのマッピングルールとトリガーをさらに作成します。
  10. 必要に応じてオーセンティケーターのマッピングの順序を変更するには、マッピング順序の調整 に進みます。

    注記

    マッピング順序の設定は、複数のオーセンティケーターマップが定義されている場合にのみ使用できます。

2.3.3. マッピング順序の調整

1 つ以上のオーセンティケーターマップが定義されている場合は、マップの順序を管理できます。オーセンティケーターマップは、ログイン時に一番下から一番上までの順序で実行されます。あるオーセンティケーターマップで、ユーザーをチームのメンバーにする必要があると判定されたが、後続のマップで、ユーザーをそのチームのメンバーにする必要がないと判定された場合、2 番目のマップの判定が最初のマップの判定結果よりも優先されます。同じ順番のオーセンティケーターマップは、不定の順序で実行されます。

たとえば、最初のオーセンティケーターマップが is_superuser タイプで、トリガーが never に設定されている場合、システムにログインするユーザーに is_superuser フラグは付与されません。

また、2 番目のマップが is_superuser タイプで、トリガーが特定のグループを持つユーザーに基づいている場合、ログインするすべてのユーザーは最初に is_superuser 権限を拒否されます。ただし、指定されたグループのすべてのユーザーには、2 番目のルールによって is_superuser 権限がその後付与されます。

ルールの順序は、組織、チーム、ロールのうちどれを最初に処理するかよりも重要です。ルールの順序はアクセスを絞り込むためにも使用されるため、ログインの問題を回避するために慎重な検討が必要です。

以下に例を示します。

  • オーセンティケーターマップ A は、すべてのユーザーによるシステムへのアクセスを拒否します。
  • オーセンティケーターマップ B は、ユーザー john にシステムへのアクセスを許可します。

マッピング順序が A、B に設定されている場合、最初のマップが john を含むすべてのユーザーのアクセスを拒否します。その後、2 番目のマップが john にシステムへのアクセスを許可します。その結果、john はアクセスを許可され、プラットフォームにログインできるようになります。

ただし、マッピング順序が B、A に変更されると、最初のマップが john にシステムへのアクセスを許可します。その後、2 番目のマップがすべてのユーザー (john を含む) によるシステムへのアクセスを拒否します。その結果、john はアクセスを拒否され、プラットフォームにログインできなくなります。

手順

  1. ナビゲーションパネルから、Access ManagementAuthentication Methods を選択します。
  2. リストビューで、Name 列に表示されているオーセンティケーター名を選択します。
  3. オーセンティケーターの Details ページから Mapping タブを選択します。
  4. Manage mappings をクリックします。
  5. ドラッグ可能なアイコンを使用して、リスト内でマッピングを上または下にドラッグアンドドロップして、マッピングの順序を調整します。

    注記

    マッピングの優先順位は、マッピングがリストされている順序によって決まります。

  6. オーセンティケーターマップが正しい順序になったら、Apply をクリックします。

2.4. ローカルオーセンティケーターの有効化と無効化

プラットフォーム管理者は、オーセンティケーターを有効または無効にできます。ただし、ローカルオーセンティケーターを無効にすると重大な影響が生じる可能性があります。無効化は特定の状況でのみ実行してください。ローカルオーセンティケーターを無効にする前に、次の点を考慮する必要があります。

ローカルアカウントからのアクセスが不可能
ローカルオーセンティケーターを無効にすると、デフォルトの admin アカウントを含むすべてのローカルアカウントがログインできなくなります。
環境へのアクセスが不可能になる可能性
少なくとも 1 つの他のオーセンティケーターを設定せずにローカルオーセンティケーターを無効にすると、Ansible Automation Platform 環境に完全にアクセスできなくなる可能性があります。
エンタープライズ認証プロバイダーへの依存
ローカルオーセンティケーターを無効にすると、設定済みのエンタープライズ認証プロバイダーで問題が発生した場合に、エンタープライズ認証プロバイダーの問題が解決されるまでプラットフォームにアクセスできなくなります。

前提条件

  • 他のオーセンティケーターメソッドが少なくとも 1 つ設定されている。
  • 別のオーセンティケーターを使用して認証できる管理者アカウントが少なくとも 1 つある。
注意

別の認証がない状態でローカルオーセンティケーターを無効にすると、環境がロックされる可能性があります。

手順

  1. ナビゲーションパネルから、Access ManagementAuthentication Methods を選択します。
  2. 他のオーセンティケータータイプが少なくとも 1 つ設定され、有効になっていることを確認します。
  3. Local Authenticator を選択します。
  4. Enabled スイッチをオフの位置に切り替えて、ローカルオーセンティケーターを無効にします。

トラブルシューティング

別の認証方法が設定されていない状態でローカルオーセンティケーターを無効にした場合、または設定済みのエンタープライズ認証プロバイダーで問題が発生し、Ansible Automation Platform にアクセスできなくなった場合は、次のようにしてコマンドラインからローカルオーセンティケーターを再度有効にできます。

  1. 次のコマンドを実行して、利用可能なオーセンティケーターをリスト表示し、ローカルオーセンティケーターの ID を取得します。

    aap-gateway-api authenticators --list
    Copy to Clipboard Toggle word wrap
  2. ID を使用してローカルオーセンティケーターを有効にします。

    aap-gateway-manage authenticators --enable :id
    Copy to Clipboard Toggle word wrap

    :id は、前のステップで取得したローカルオーセンティケーターの ID です。

2.5. 認証タイプの設定

Ansible Automation Platform は、組織のログインエクスペリエンスを簡素化するために設定できる複数のオーセンティケータープラグインを提供します。提供されるオーセンティケータープラグインは次のとおりです。

2.5.1. OAuth および SSO プロバイダーのコールバック URL の更新

Ansible Automation Platform 2.6 のアーキテクチャー変更後に適切な認証フローを確保するには、GitHub、Microsoft Entra ID、Keycloak、Generic OIDC、Google OAuth などのアイデンティティープロバイダー (IdP) の callback_url を更新します。この更新により、callback_url が Automation Controller からプラットフォームゲートウェイにリダイレクトされます。以前は、callback_url は固定値でしたが、次の手順で説明するように、現在は動的に生成され、各オーセンティケーターインスタンスに固有になっています。この変更には、プラットフォームのアップグレード後でも、IdP 設定を手動で更新する必要があります。

重要

アップグレード後、認証方法は無効になります。プラットフォーム管理者として、オーセンティケーターを有効にしてください。

通常、認証方法が設定されると、callback_url は Ansible Automation Platform によって自動生成されます。この生成された URL を Ansible Automation Platform 内からコピーし、IdP の設定に貼り付ける必要があります。

前提条件

  • 外部 IdP の設定に対する管理アクセス権がある。

手順

  1. Ansible Automation Platform UI 内のオーセンティケーターの設定詳細に移動し、callback_url を見つけます。

    詳細は、オーセンティケーターの詳細の表示 を参照してください。

  2. Ansible Automation Platform が特定の認証方法に対して提供する自動生成された コールバック URLリダイレクト URL、または 応答 URL を特定してコピーします。
  3. 必要に応じて、Ansible Automation Platform からコピーしたリダイレクト URL を IdP の設定に貼り付けて、IdP の設定を更新します。

検証

callback_url が正しく更新され、認証が機能していることを確認します。

  • Ansible Automation Platform に管理者アカウントとしてログインし、認証方法を有効にします (まだ有効にしていない場合)。
  • 新しく設定または更新された OAuth または SSO プロバイダーを使用して、Ansible Automation Platform にログインします。ログインが成功すると、設定が正しいことを示します。

2.5.2. オーセンティケーターのタイムアウトの設定

Ansible Automation Platform は、LDAP、RADIUS、TACACS+ などのパスワードベースのオーセンティケーターに対してレイヤー化されたタイムアウトシステムを使用します。認証要求が失敗しないようにするには、各タイムアウト設定を他の設定と関連付けて設定します。原則としては、各アップストリームタイムアウトは、ダウンストリームタイムアウトの合計よりもわずかに長くなる必要があります。

システムは、それぞれ独自のタイムアウト設定を持つ一連のサービスを通じて認証要求を処理します。

  • Envoy タイムアウト: 最初のエントリーポイント (Envoy) が接続を終了するまでに許容される、リクエストの合計時間。これは最も高いレベルのタイムアウトです。
  • gRPC タイムアウト: 内部認証サービスとの通信に費やされる時間を制限するダウンストリームタイムアウト。
  • オーセンティケータータイムアウト: 個々のオーセンティケーター (LDAP、RADIUS、TACACS+) がサードパーティーサーバーからの応答を待機する時間を定義する、最も低いレベルのタイムアウト。
2.5.2.1. タイムアウト値の設定

Red Hat では、認証サーバーのパフォーマンス要件に基づいてタイムアウト値を設定することを推奨しています。インストールプログラムでは、Ansible Automation Platform コンポーネントのタイムアウトを設定する方法が提供されていますが、システム管理者は、個々のオーセンティケーターのタイムアウトを確認して、特定の環境に合わせて調整する必要があります。

手順

  • オーセンティケーターのタイムアウトの設定: 各オーセンティケーターのタイムアウト設定を、外部サーバーの予想される応答時間に合わせて調整します。

    • LDAP の場合、OPT_NETWORK_TIMEOUT を秒単位で設定します。たとえば、OPT_NETWORK_TIMEOUT: 30 は、LDAP タイムアウトを 30 秒に設定します。詳細は、LDAP 認証の設定 を参照してください。
    • TACACS+ 認証の場合、タイムアウトを変更するには、プラットフォームゲートウェイ API を介して行う必要があります。
    • RADIUS 認証の場合、タイムアウトは変更できず、5 秒に設定されています。

2.5.3. ローカル認証の設定

プラットフォーム管理者は、ローカルシステム認証を設定できます。ローカル認証では、ユーザーとそのパスワードがローカルシステムアカウントと照合されます。

注記

ローカルオーセンティケーターは、Ansible Automation Platform のインストールプロセスによって自動的に作成され、インストール前にインベントリーファイルで指定された管理者認証情報を使用して設定されます。インストールが成功すると、それらの認証情報を使用して Ansible Automation Platform にログインできます。

手順

  1. ナビゲーションパネルから、Access ManagementAuthentication Methods を選択します。
  2. Create authentication をクリックします。
  3. このローカル設定の Name を入力します。設定名は必須で、すべてのオーセンティケーター間で一意である必要があり、512 文字を超えることはできません。
  4. Authentication type リストから Local を選択します。
  5. オプション: このオーセンティケーターが使用できる Additional Authenticator Fields を入力します。これらのフィールドは検証されず、オーセンティケーターに直接返されます。

    注記

    このフィールドで定義された値は、UI で提供される専用フィールドをオーバーライドします。ここで定義されていない値はオーセンティケーターに提供されません。

  6. 正常にログインした際に組織、ユーザー、チームを自動的に作成するには、Create objects を選択します。
  7. 作成時にこの認証方法を有効にするには、Enabled を選択します。
  8. このソースから認証する際に以前に追加されたグループからユーザーを削除するには、Remove users を選択します。
  9. Next をクリックします。

2.5.4. LDAP 認証の設定

プラットフォーム管理者は、Ansible Automation Platform ユーザーのアカウント認証情報のソースとして LDAP を設定できます。

注記

接続先の LDAP サーバーに自己署名証明書または内部認証局 (CA) によって署名された証明書がある場合は、その CA 証明書をシステムの信頼された CA に追加する必要があります。そうしないと、LDAP サーバーに接続する際に、証明書の発行者が認識されないというエラーが発生します。

デフォルトの Red Hat Enterprise Linux トラストストアを使用する場合、LDAP 証明書は自動的に移行されません。Ansible Automation Platform をアップグレードしていて、LDAP 認証がシステムのトラストストアに追加された証明書に依存している場合、この LDAP 証明書設定は Ansible Automation Platform 2.6 のプラットフォームゲートウェイに自動的に移行されません。

  • Ansible Automation Platform 2.4 から Ansible Automation Platform 2.6 へのアップグレードの場合:

    • すべてのオーセンティケーター設定の Automation Controller からプラットフォームゲートウェイへの移行は自動化されています。これには、サードパーティーの認証設定と、SAML 秘密鍵や OAuth シークレットキーなどの機密設定データを Automation Controller からプラットフォームゲートウェイに移動することが含まれます。ただし、カスタム LDAP 証明書を使用している場合は、これらの証明書に対して次の手順を完了する必要があります。
    • LDAP AUTH_LDAP_USER_FLAGS_BY_GROUP 設定の is_superuser および is_system_auditor フラグが新しいプラットフォームゲートウェイに正常に移行されました。ただし、is_active flag は、は、プラットフォームゲートウェイでは使用できないため、移行されません。代わりに、拒否ルールを使用して、ユーザーによるシステムへのアクセスを防ぐことができます。
  • Ansible Automation Platform 2.5 から Ansible Automation Platform 2.6 へのアップグレードの場合: オーセンティケーターの設定は、Automation Controller から自動的に移行されません。Ansible Automation Platform 2.5 で認証を設定した場合、2.6 にアップグレードした後も、その設定は現在の設定どおりに維持されます。2.5 で LDAP にカスタム証明書を使用した場合は、それも移行する必要があります。

手順

  1. ナビゲーションパネルから、Access ManagementAuthentication Methods を選択します。
  2. Create authentication をクリックします。
  3. この認証設定の Name を入力します。
  4. Authentication type リストから LDAP を選択します。Authentication details セクションが自動的に更新され、選択した認証タイプに関連するフィールドが表示されます。
  5. LDAP Server URI フィールドで、接続する LDAP サーバーのリストを入力または変更します。このフィールドは複数のアドレスをサポートします。
  6. 次の例に示すように、LDAP Bind DN text フィールドに識別名 (DN) を入力して、Ansible Automation Platform が LDAP サーバーに接続するために使用するユーザーを指定します。

    CN=josie,CN=users,DC=website,DC=com
    Copy to Clipboard Toggle word wrap
  7. バインディングユーザーに使用するパスワードを LDAP Bind Password テキストフィールドに入力します。
  8. LDAP Group Type リストからグループタイプを選択します。

    グループタイプは、LDAP ディレクトリー内のユーザーに関連付けられたグループを管理するグループのクラス名を定義し、この手順のステップ 14 で指定された検索で返されます。グループタイプは、グループパラメーターおよびグループ検索と共に、ログイン時にグループを検索してユーザーに割り当てるために使用されます。また、マッピングプロセス中に評価することもできます。次の表には、使用可能なグループタイプと、それぞれの説明および必要なパラメーターがリストされています。デフォルトでは、LDAP グループは cn 属性の最初の値を使用して Django グループにマッピングされます。name_attr で別の属性を指定できます。たとえば、name_attr='cn' です。

    Expand
    表2.1 利用可能な LDAP グループタイプ
    LDAP グループタイプDescription初期化メソッド (init)

    PosixGroupType

    posixGroup オブジェクトクラスを処理します。これにより、プライマリーグループとグループメンバーシップの両方がチェックされます。

    name_attr='cn'

    MemberDNGroupType

    グループオブジェクトにメンバー DN のリストが含まれるグループ化メカニズムを処理します。

    member_attr, name_attr='cn'

    GroupOfNamesType

    groupOfNames オブジェクトクラスを処理します。MemberDNGroupType('member') と同等です。

    name_attr='cn'

    GroupOfUniqueNamesType

    groupOfUniqueNames オブジェクトクラスを処理します。MemberDNGroupType('uniqueMember') と同等です。

    name_attr='cn'

    ActiveDirectoryGroupType

    Active Directory グループを処理します。MemberDNGroupType('member') と同等です。

    name_attr='cn'

    OrganizationalRoleGroupType

    organizationalRole オブジェクトクラスを処理します。MemberDNGroupType('roleOccupant') と同等です。

    name_attr='cn'

    NestedGroupOfNamesType

    groupOfNames オブジェクトクラスを処理します。NestedMemberDNGroupType('member') と同等です。

    member_attr, name_attr='cn'

    NestedGroupOfUniqueNamesType

    groupOfUniqueNames オブジェクトクラスを処理します。NestedMemberDNGroupType('uniqueMember') と同等です。

    name_attr='cn'

    NestedActiveDirectoryGroupType

    Active Directory グループを処理します。NestedMemberDNGroupType('member') と同等です。

    name_attr='cn'

    NestedOrganizationalRoleGroupType

    organizationalRole オブジェクトクラスを処理します。NestedMemberDNGroupType('roleOccupant') と同等です。

    name_attr='cn'

    注記

    Ansible Automation Platform でサポートされているグループタイプは、基盤となる django-auth-ldap ライブラリー を使用します。選択したグループタイプのパラメーターを指定するには、この手順のステップ 14 を参照してください。

  9. ユーザー検索の代わりに、LDAP ユーザー DN テンプレート を使用できます。このアプローチを組織の環境で使用できる場合は、検索よりもユーザー検索の場合により効率的です。次の例に示すように、テンプレートの名前を入力します。

    uid=%(user)s,cn=users,cn=accounts,dc=example,dc=com
    Copy to Clipboard Toggle word wrap

    この場合の uid はユーザー識別子、cn はコモンネーム、dc はドメインコンポーネントです。

    注記

    この設定に値がある場合は、LDAP User Search 設定の代わりに使用されます。

  10. LDAP Start TLS は、デフォルトで無効になっています。StartTLS を使用すると、LDAP 接続を、暗号化されていない接続から Transport Layer Security (TLS) を使用したセキュアな接続にアップグレードできます。LDAP 接続が SSL を使用していない場合に StartTLS を有効にするには、スイッチを On に設定します。
  11. オプション: このオーセンティケーターが使用できる Additional Authenticator Fields を入力します。これらのフィールドは検証されず、オーセンティケーターに直接返されます。

    注記

    このフィールドで定義された値は、UI で提供される専用フィールドをオーバーライドします。ここで定義されていない値はオーセンティケーターに提供されません。

  12. LDAP 接続に設定する LDAP Connection Options を入力します。LDAP 参照は (特定の LDAP クエリーが Active Directory でハングすることを防ぐために) デフォルトで無効になっています。次の例に示すように、オプション名は文字列である必要があります。

    OPT_REFERRALS: 0
    OPT_NETWORK_TIMEOUT: 30
    Copy to Clipboard Toggle word wrap

    設定できるオプションと値は、python-LDAP Reference を参照してください。

  13. 選択した LDAP Group Type に応じて、異なるパラメーターが LDAP Group Type Parameters フィールドで使用できます。LDAP_GROUP_TYPE_PARAMS はディクショナリーです。これは、kwargs に変換され、選択した LDAP Group Type クラスに渡されます。グループタイプで使用される共通パラメーターが 2 つあります。name_attrmember_attr です。name_attr のデフォルトは cnmember_attr のデフォルトは member です。

    {"name_attr": "cn", "member_attr": "member"}
    Copy to Clipboard Toggle word wrap

    特定の LDAP グループタイプ に必要なパラメーターを判断するには、django_auth_ldap ドキュメント のクラス init パラメーターに関する箇所を参照してください。

  14. 次の例に示すように、LDAP Group Search フィールドで検索するグループと検索方法を指定します。

    [
    "dc=example,dc=com",
    "SCOPE_SUBTREE",
    "(objectClass=group)"
     ]
    Copy to Clipboard Toggle word wrap
  15. 次の例に示すように、LDAP フィールドを Ansible Automation Platform ユーザーにマップするためのユーザー属性 (例: emailfirst_name) を LDAP User Attribute Map フィールドに入力します。

    {
    "first_name": "givenName",
    "last_name": "sn",
    "email": "mail"
    }
    Copy to Clipboard Toggle word wrap
  16. 次の例に示すように、認証中にユーザーを検索する場所を LDAP User Search フィールドに入力します。

    [
    "OU=Users,DC=website,DC=com",
    "SCOPE_SUBTREE",
    "(cn=%(user)s)"
    ]
    Copy to Clipboard Toggle word wrap

    LDAP User DN Template が設定されていない場合、Ansible Automation Platform は、Bind DN TemplateLDAP Bind Password を使用して LDAP に対して認証を行います。認証後、このフィールドで指定されたユーザーを検索する LDAP 検索が実行されます。ユーザーが見つかった場合、Ansible Automation Platform は、指定されたパスワードを LDAP 検索で見つかったユーザーと照合して検証します。LDAPUnion を使用したユーザー検索の場合、次の例に示すように、複数の検索語を入力することで複数の検索クエリーを実行できます。

    [
        [
            "ou=users,dc=example,dc=com",
            "SCOPE_SUBTREE",
            "uid=%(user)s"
        ],
         [
            "ou=employees,dc=subdivision,dc=com",
            "SCOPE_SUBTREE",
            "uid=%(user)s"
         ]
    ]
    Copy to Clipboard Toggle word wrap

    複数の検索の実行中に一意でないユーザーが複数見つかった場合、それらのユーザーは Ansible Automation Platform にログインできません。上記の例に基づくと、ou=users,dc=example,dc=comou=employees,dc=subdivision,dc=com の両方で uid=jdoe を持つユーザーが見つかった場合、どちらの jdoe ユーザーもログインできません。どちらかのブランチで見つかった一意の他のユーザーは、すべて引き続きログインできます。

    注記

    LDAP User DN Template フィールドに値が入力されている場合は、LDAP User Search フィールドよりも優先され、ユーザーの認証にテンプレートのみが使用されます。

  17. 正常にログインした際に組織、ユーザー、チームを自動的に作成するには、Create objects を選択します。
  18. 作成時にこの認証方法を有効にするには、Enabled を選択します。
  19. このソースから認証する際に以前に追加されたグループからユーザーを削除するには、Remove users を選択します。
  20. Create Authentication Method をクリックします。
2.5.4.1. LDAPS 統合向けに Automation Controller に認証局をインポートする手順

LDAP を使用して Automation Controller サーバーに認証できます。ただし、認証に LDAPS (LDAP over SSL/TLS) を使用するように変更し、TLS 証明書がプラットフォームゲートウェイによって信頼されていない場合は、次のようなエラーが発生して失敗します。

2025-08-26 16:40:56,141 WARNING   django_auth_ldap Caught LDAPError while authenticating: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': [], 'info': 'error:0A000086:SSL routines::certificate verify failed (self-signed certificate)'})
Copy to Clipboard Toggle word wrap

Ansible Automation Platform が LDAP からの証明書を信頼するようにするには、すべてのプラットフォームゲートウェイインスタンスで次の手順を実行します。

手順

  1. LDAP サーバー証明書のコピーを /etc/pki/ca-trust/source/anchors/ ディレクトリーに配置します。
  2. 以下のコマンドを実行します。

    update-ca-trust
    Copy to Clipboard Toggle word wrap

2.5.5. SAML 認証の設定

SAML を使用すると、アイデンティティープロバイダー (IdP) とサービスプロバイダー (SP) 間で認証および認可データを交換できます。Ansible Automation Platform は、ユーザーを認証するために 1 つ以上の SAML IdP と通信するように設定できる SAML SP です。

SAML IdP によって必要に応じて提供されるグループと属性に基づいて、Ansible Automation Platform 内のチームと組織にユーザーを配置できます。これは、このオーセンティケーターに関連付けられたオーセンティケーターマップに従って行われます。このマッピングにより、ユーザーが SAML 経由でログインしたときに、Ansible Automation Platform がユーザーを正しく識別し、名、姓、メールアドレス、グループメンバーシップなどの適切な属性を割り当てることが可能になります。

前提条件

Ansible Automation Platform で SAML 認証を設定する前に、必ず次の操作を行ってください。

  • SAML アイデンティティープロバイダー (IdP) を設定する。
  • Ansible Automation Platform との統合に必要な設定を使用して SAML IdP を事前設定する。たとえば、Microsoft Entra ID では次のように設定できます。

    • Identifier (Entity ID): 任意の値を指定できますが、Ansible Automation Platform で設定されている値と同じである必要があります。
    • Reply URL (Assertion Consumer Service (ACS) URL): この URL は、Ansible Automation Platform で SAML メソッドが設定されている場合、自動的に生成されます。その値を Ansible Automation Platform からコピーし、IdP 設定に貼り付ける必要があります。
  • SAML IdP アプリケーションのユーザー属性を収集する。IdP によって、使用する属性名と形式が異なる場合があります。正確な属性名と予想される値は、お使いの IdP のドキュメントを参照してください。
  • 次のコマンドを使用して、秘密鍵と公開証明書を生成する。

    $ openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 3650 -nodes
    Copy to Clipboard Toggle word wrap

手順

  1. ナビゲーションパネルから、Access ManagementAuthentication Methods を選択します。
  2. Create authentication をクリックします。
  3. この SAML 設定の Name を入力します。
  4. Authentication type リストから SAML を選択します。Authentication details セクションが自動的に更新され、選択した認証タイプに関連するフィールドが表示されます。
  5. SAML Service Provider Entity ID フィールドに、SAML サービスプロバイダー設定の対象ユーザーとして使用されるアプリケーション定義の一意の識別子を入力します。これは通常、サービスプロバイダーのベース URL ですが、実際の値は IdP が想定する Entity ID によって異なります。
  6. SAML Service Provider Public Certificate フィールドに証明書の内容を含めます。この情報は、前提条件で作成した cert.pem に含まれています。—–BEGIN CERTIFICATE—–—–END CERTIFICATE—– を含める必要があります。
  7. SAML Service Provider Private Key フィールドに秘密鍵の内容を含めます。この情報は、前提条件で作成した key.pem に含まれています。—–BEGIN PRIVATE KEY—–—–END PRIVATE KEY—– を含める必要があります。
  8. IdP Login URL フィールドに、ログイン開始用にユーザーをリダイレクトする URL を入力します。これは、SAML IdP アプリケーションのログイン URL です。
  9. IdP in the IdP Public Cert フィールドからのシークレットに使用する公開証明書を入力します。これは、IdP からダウンロードできる SAML 証明書です。

    注記

    IdP in the IdP Public Cert フィールドには、—–BEGIN CERTIFICATE—–—–END CERTIFICATE—– を含む証明書全体を含める必要があります。IdP に接頭辞と接尾辞が含まれていない場合は、手動で入力する必要があります。

  10. Entity ID にアサーションで返されたエンティティー ID を入力します。これは、IdP SAML アプリケーションの識別子です。この値は、IdP によって提供される SAML メタデータで確認できます。
  11. GroupsUser EmailUsernameUser Last Name、および User First Name にユーザーの詳細を入力します。
  12. User Permanent ID フィールドにユーザーの永続的な ID を入力します。このフィールドは必須です。

    注記

    SAML IdP を通じて追加の属性を利用できる場合があります。この値は、Additional Authenticators Fields または SAML IDP to extra_data attribute mapping フィールドのいずれかに含める必要があります。詳細は、該当する手順を参照してください。

  13. SAML Assertion Consumer Service (ACS) URL フィールドで、設定済みの各アイデンティティープロバイダー (IdP) にサービスをサービスプロバイダー (SP) として登録します。このフィールドは空白のままにしてください。この認証方法を保存すると、URL が自動的に生成されます。このフィールドは、IdP の Reply URL 設定と一致する必要があります。
  14. オプション: このオーセンティケーターが使用できる Additional Authenticator Fields を入力します。これらのフィールドは検証されず、オーセンティケーターに直接返されます。たとえば、メールアドレス、ユーザー名、姓、名以外のすべての SAML IdP 属性をマッピングの対象にするには、次のように入力します。

    GET_ALL_EXTRA_DATA: true
    Copy to Clipboard Toggle word wrap

    または、SAML IDP to extra_data attribute mapping フィールドに SAML IdP 属性のリストを含めることもできます。

    注記

    このフィールドで定義された値は、UI で提供される専用フィールドをオーバーライドします。ここで定義されていない値はオーセンティケーターに提供されません。

  15. SAML Service Provider Organization Info フィールドに、URL、表示名、アプリケーションの名前を入力します。

    {
      "en-US": {
        "url": "http://www.example.com",
        "displayname": "Example",
        "name": "example"
      }
    }
    Copy to Clipboard Toggle word wrap
  16. SAML Service Provider Technical Contact フィールドに、サービスプロバイダーの技術担当者の名前とメールアドレスを入力します。

    {
    "givenName": "Some User",
    "emailAddress": "suser@example.com"
    }
    Copy to Clipboard Toggle word wrap
  17. SAML Service Provider Support Contact フィールドに、サービスプロバイダーのサポート担当者の名前とメールアドレスを入力します。

    {
    "givenName": "Some User",
    "emailAddress": "suser@example.com"
    }
    Copy to Clipboard Toggle word wrap
  18. オプション: SAML Service Provider extra configuration data フィールドに追加の設定データを入力します。たとえば、セキュリティーを強化するために署名リクエストを有効にすることを選択できます。

    {
    "sign_request": True,
    }
    Copy to Clipboard Toggle word wrap

    このフィールドは、API の SOCIAL_AUTH_SAML_SP_EXTRA と同等です。有効なサービスプロバイダーの追加のパラメーター (SP_EXTRA) の詳細は、OneLogin の SAML Python Toolkit を参照してください。

  19. オプション: SAML Security Config フィールドに、セキュリティー設定を入力します。このフィールドは、API の SOCIAL_AUTH_SAML_SECURITY_CONFIG フィールドに相当します。

    // Indicates whether the <samlp:AuthnRequest> messages sent by this SP // will be signed. [Metadata of the SP will offer this info]
    "authnRequestsSigned": false,
    
    // Indicates a requirement for the <samlp:Response>, <samlp:LogoutRequest> // and <samlp:LogoutResponse> elements received by this SP to be signed.
    "wantMessagesSigned": false,
    
    // Indicates a requirement for the <saml:Assertion> elements received by // this SP to be signed. [Metadata of the SP will offer this info]
    "wantAssertionsSigned": false,
    
    // Authentication context.
    // Set to false and no AuthContext will be sent in the AuthNRequest,
    // Set true or don't present this parameter and you will get an AuthContext 'exact' 'urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport'
    // Set an array with the possible auth context values: array ('urn:oasis:names:tc:SAML:2.0:ac:classes:Password', 'urn:oasis:names:tc:SAML:2.0:ac:classes:X509'),
    "requestedAuthnContext": true,
    Copy to Clipboard Toggle word wrap

    詳細情報と追加オプションは、OneLogin の SAML Python Toolkit を参照してください。

  20. オプション: SAML IDP to extra_data attribute mapping フィールドに、IDP 属性を extra_data 属性にマッピングする値を入力します。この値には、メールアドレスやユーザー名など、マッピングする標準属性以外の追加のユーザー情報が含まれます。以下に例を示します。

    - Department
    - UserType
    - Organization
    Copy to Clipboard Toggle word wrap

    入力できる値の詳細は、詳細な SAML 設定 を参照してください。

    重要

    設定に応じてすべてが正しくマッピングされるように、関連する値をすべて含めてください。または、Additional Authenticator FieldsGET_ALL_EXTRA_DATA: true を含めて、利用可能なすべての SAML IdP 属性のマッピングを許可することもできます。

  21. 正常にログインした際に組織、ユーザー、チームを自動的に作成するには、Create objects を選択します。
  22. 作成時にこの認証方法を有効にするには、Enabled を選択します。
  23. このソースから認証する際に以前に追加されたグループからユーザーを削除するには、Remove users を選択します。
  24. Create Authentication Method をクリックします。

    重要

    Operator ベースのデプロイメントでは、SAML の HTTPS リダイレクトを設定すると、ユーザーのログインを簡素化できます。これを設定する手順は、OpenShift Container Platform 上のプラットフォームゲートウェイでシングルサインオン (SSO) を有効にする を参照してください。

2.5.5.1. 透過的な SAML ログインの設定

透過的なログインを機能させるには、まず IdP-initiated ログインを機能させる必要があります。

手順

  • IdP の RelayState を "IdP" に設定します。

2.5.6. TACACS+ 認証の設定

Terminal Access Controller Access-Control System Plus (TACACS+) は、ネットワークアクセス制御のためのリモート認証および関連サービスを、中央サーバーを介して処理するプロトコルです。TACACS+ は、認証、認可、アカウンティング (AAA) サービスを提供します。このサービスでは、Ansible Automation Platform を認証のソースとして使用するように設定できます。

注記

この機能は非推奨となり、今後のリリースで削除されます。

手順

  1. ナビゲーションパネルから、Access ManagementAuthentication Methods を選択します。
  2. Create authentication をクリックします。
  3. この認証設定の Name を入力します。
  4. Authentication type リストから TACACS+ を選択します。Authentication details セクションが自動的に更新され、選択した認証タイプに関連するフィールドが表示されます。
  5. 以下の情報を入力します。

    • TACACS+ サーバーのホスト名: 認証に使用する TACACS+ サーバーのホスト名または IP アドレスを指定します。このフィールドを空白のままにすると、TACACS+ 認証は無効になります。
    • TACACS+ Authentication Protocol: TACACS+ クライアントが使用するプロトコルです。オプションは ascii または pap です。
    • TACACS+ サーバーへの認証用の共有シークレット: TACACS+ 認証サーバーの秘密鍵。
  6. TACACS+ client address sending enabled は、デフォルトでは無効になっています。クライアントアドレスの送信を有効にするには、チェックボックスをオンにします。
  7. オプション: このオーセンティケーターが使用できる Additional Authenticator Fields を入力します。これらのフィールドは検証されず、オーセンティケーターに直接返されます。

    注記

    このフィールドで定義された値は、UI で提供される専用フィールドをオーバーライドします。ここで定義されていない値はオーセンティケーターに提供されません。

  8. 正常にログインした際に組織、ユーザー、チームを自動的に作成するには、Create objects を選択します。
  9. 作成時にこの認証方法を有効にするには、Enabled を選択します。
  10. このソースから認証する際に以前に追加されたグループからユーザーを削除するには、Remove users を選択します。
  11. Create Authentication Method をクリックします。

2.5.7. Microsoft Entra ID 認証の設定

Microsoft Entra ID (旧称 Microsoft Azure Active Directory (AD)) のエンタープライズ認証を設定するには、次の手順に従います。

  1. この手順に従って、Microsoft Entra ID 認証を使用するように Ansible Automation Platform を設定 します。
  2. Quickstart: Register an application with the Microsoft identity platform に従って、Ansible Automation Platform を Microsoft Entra ID に登録 します。このプロセスにより、アプリケーション (クライアント) ID とアプリケーションシークレットが得られます。
  3. Microsoft Entra ID にリダイレクト URL を追加 します。プラットフォームで Microsoft Entra ID 認証の設定ウィザードを完了したら、Azure AD OAuth2 Callback URL フィールドに表示される URL をコピーします。次に、Azure で登録したエンタープライズアプリケーションに移動し、How to add a redirect URI to your application の説明に従って、この URL を Redirect URL (Ansible Automation Platform では Callback URL とも呼ばれます) として追加します。この手順は、ログインフローを正しく機能させるために必要です。

Microsoft Entra ID によって提供される属性は、この認証タイプの Ansible Automation Platform 設定では設定されません。代わりに、social_core azuread バックエンド が、Microsoft Entra ID によって提供されるクレームの変換を提供します。Ansible Automation Platform がユーザーを正しく識別し、名、姓、メール、ユーザー名などの適切な属性を割り当てることができるようにするユーザー属性には、次のものがあります。

Expand
Ansible Automation Platform の属性Microsoft Entra ID のパラメーター

authenticator_uid

upn

Username

name

First Name

given_name

Last Name

family_name

Email

email (upn にフォールバック)

各キーとシークレットは、一意のアプリケーションに属している必要があり、異なる認証バックエンド間で共有したり再利用したりすることはできません。アプリケーションを登録するには、オーセンティケーター設定の Authenticator details に表示される Callback URL である Web ページの URL を指定する必要があります。この情報にアクセスする手順の詳細は、Authenticator details の表示 を参照してください。

手順

  1. ナビゲーションパネルから、Access ManagementAuthentication Methods を選択します。
  2. Create authentication をクリックします。
  3. この認証設定の Name を入力します。
  4. Authentication type リストから Azuread を選択します。Authentication details セクションが自動的に更新され、選択した認証タイプに関連するフィールドが表示されます。
  5. Edit をクリックし、Microsoft の Application (Client) ID をコピーして OIDC Key フィールドにペーストします。
  6. グループクレーム内でユーザーグループ情報を提供するように Microsoft Entra ID が設定されている場合は、必ず Microsoft Entra ID 設定と一致する Groups Claim 名を使用してプラットフォームを設定します。これにより、Microsoft Entra ID を通じてログインするユーザーのグループを、プラットフォームが正しく識別して関連付けることが可能になります。

    注記

    Microsoft Entra ID からのグループは、一意の ID またはグループ名を使用して識別できます。Microsoft Entra ID オーセンティケーターのグループマッピングを作成するときは、一意の ID またはグループ名のいずれかを使用できます。

    デフォルトでは、Microsoft Entra ID はグループをデフォルトのグループクレーム名として使用します。したがって、値をデフォルトに設定するか、IdP で設定したカスタムオーバーライドに設定してください。現在のデフォルトは、明示的に変更されない限り、既存の動作を保持するように設定されています。

  7. アプリケーションを Microsoft アイデンティティープラットフォームに登録する ための手順に従って、認証用のキー (一度だけ表示) をクライアントに提供します。
  8. Microsoft Entra ID/Microsoft Azure AD アプリケーション用に作成された秘密鍵をコピーして、OIDC Secret フィールドに貼り付けます。
  9. オプション: デフォルトでは、Microsoft Entra ID の名前属性が、Ansible Automation Platform 内のユーザー名フィールドとして使用されます。デフォルト値をオーバーライドして Microsoft Entra ID の別の属性を使用する場合は、ユーザー名フィールドにその属性を入力します。
  10. オプション: このオーセンティケーターが使用できる Additional Authenticator Fields を入力します。これらのフィールドは検証されず、オーセンティケーターに直接返されます。

    注記

    このフィールドで定義された値は、UI で提供される専用フィールドをオーバーライドします。ここで定義されていない値はオーセンティケーターに提供されません。

  11. 正常にログインした際に組織、ユーザー、チームを自動的に作成するには、Create objects を選択します。
  12. 作成時にこの認証方法を有効にするには、Enabled を選択します。
  13. このソースから認証する際に以前に追加されたグループからユーザーを削除するには、Remove users を選択します。
  14. Create Authentication Method をクリックします。

検証

認証が正しく設定されていることを確認するには、Ansible Automation Platform からログアウトし、ログイン画面に選択した認証方法のロゴが表示され、その認証情報を使用してログインできることを確認します。

次のステップ

Ansible Automation Platform サーバーにアクセスできるユーザーを制御し、ユーザーの属性 (ユーザー名やメールアドレスなど) または所属するグループに基づいて Ansible Automation Platform 組織またはチームに配置するには、マッピング に進みます。

2.5.8. Google OAuth2 認証の設定

Google のソーシャル認証をセットアップするには、Web アプリケーションの OAuth2 キーとシークレットを取得する必要があります。これを行うには、まずプロジェクトを作成し、Google でセットアップする必要があります。

手順は、Google API Console Help ドキュメントの Setting up OAuth 2.0 を参照してください。

すでにセットアッププロセスが完了している場合は、Google API Manager Console の Credentials セクションに移動すると、これらの認証情報にアクセスできます。OAuth2 キー (クライアント ID) とシークレット (クライアントシークレット) は、UI の必須フィールドに入力する際に使用します。

手順

  1. ナビゲーションパネルから、Access ManagementAuthentication Methods を選択します。
  2. Create authentication をクリックします。
  3. この認証設定の Name を入力します。
  4. Authentication type リストから Google OAuth を選択します。Authentication details セクションが自動的に更新され、選択した認証タイプに関連するフィールドが表示されます。
  5. Google OAuth2 Key および Google OAuth2 Secret フィールドは事前に入力されています。

    入力されていない場合は、Web アプリケーションのセットアッププロセス中に Google から提供された認証情報を使用します。次の手順で使用するためにこれらの設定を保存します。

  6. Google のクライアント ID をコピーして、Google OAuth2 Key フィールドにペーストします。
  7. Google のクライアントシークレットをコピーして、Google OAuth2 Secret フィールドにペーストします。
  8. オプション: 指示と必要な形式を示すツールヒントを使用して、次のフィールドに情報を入力します。

    • Access Token URL
    • Access Token Method
    • Authorization URL
    • Revoke Token Method
    • Revoke Token URL
    • OIDC JWT Algorithm(s)
    • OIDC JWT
  9. オプション: このオーセンティケーターが使用できる Additional Authenticator Fields を入力します。これらのフィールドは検証されず、オーセンティケーターに直接返されます。

    注記

    このフィールドで定義された値は、UI で提供される専用フィールドをオーバーライドします。ここで定義されていない値はオーセンティケーターに提供されません。

  10. 正常にログインした際に組織、ユーザー、チームを自動的に作成するには、Create objects を選択します。
  11. 作成時にこの認証方法を有効にするには、Enabled を選択します。
  12. このソースから認証する際に以前に追加されたグループからユーザーを削除するには、Remove users を選択します。
  13. Create Authentication Method をクリックします。

検証

認証が正しく設定されていることを確認するには、Ansible Automation Platform からログアウトし、ログイン画面に選択した認証方法のロゴが表示され、その認証情報を使用してログインできることを確認します。

2.5.9. 汎用 OIDC 認証の設定

OpenID Connect (OIDC) は OAuth 2.0 フレームワークを使用します。これにより、サードパーティーのアプリケーションがアイデンティティーを検証し、基本的なエンドユーザー情報を取得できるようになります。OIDC と SAML の主な違いは、SAML にはサービスプロバイダー (SP) と IdP 間の信頼関係があるのに対し、OIDC はセキュリティートークンの取得に使用されるチャネル (HTTPS) との信頼関係を確立する点にあります。Ansible Automation Platform で OIDC をセットアップするために必要な認証情報を取得するには、OIDC をサポートする任意の IdP のドキュメントを参照してください。

手順

  1. ナビゲーションパネルから、Access ManagementAuthentication Methods を選択します。
  2. Create authentication をクリックします。
  3. この認証設定の Name を入力します。
  4. Authentication type リストから Generic OIDC を選択します。Authentication details セクションが自動的に更新され、選択した認証タイプに関連するフィールドが表示されます。
  5. 以下の情報を入力します。

    • OIDC Provider URL: OIDC プロバイダーの URL。
    • OIDC Key: サードパーティー IdP からのクライアント ID。
    • OIDC Secret: IdP からのクライアントシークレット。
  6. オプション: Access Token Method リストからアクセストークンを要求するときに使用する HTTP メソッドを選択します。デフォルトのメソッドは POST です。
  7. オプションで、指示と必要な形式を示すツールヒントを使用して、次のフィールドに情報を入力します。

    • Access Token Method - デフォルトのメソッドは POST です。
    • Access Token URL
    • Access Token Method
    • Authorization URL
    • Callback URL - OIDC Callback URL フィールドでは、設定した各 OIDC プロバイダーにサービスをサービスプロバイダー (SP) として登録します。このフィールドは空白のままにしてください。この認証方法を保存すると、URL が自動的に生成されます。認証フローの一部としてこの URL へのリダイレクトを許可するように IdP を設定します。
    • ID Key
    • ID Token Issuer
    • JWKS URI
    • OIDC Public Key
    • Revoke Token Method - デフォルトの方法は GET です。
    • Revoke Token URL
    • Response Type
    • Token Endpoint Auth Method
    • Userinfo URL
    • Username Key
  8. Verify OIDC Provider Certificate を使用して、OIDC プロバイダー SSL 証明書の検証を有効または無効にします。
  9. Redirect 状態を使用して、リダイレクト URI の状態パラメーターを有効または無効にします。Cross Site Request Forgery (CSRF) 攻撃を阻止するために、これを有効にすることを推奨します。
  10. オプション: このオーセンティケーターが使用できる Additional Authenticator Fields を入力します。これらのフィールドは検証されず、オーセンティケーターに直接返されます。

    注記

    このフィールドで定義された値は、UI で提供される専用フィールドをオーバーライドします。ここで定義されていない値はオーセンティケーターに提供されません。

  11. 正常にログインした際に組織、ユーザー、チームを自動的に作成するには、Create objects を選択します。
  12. 作成時にこの認証方法を有効にするには、Enabled を選択します。
  13. このソースから認証する際に以前に追加されたグループからユーザーを削除するには、Remove users を選択します。
  14. Create Authentication Method をクリックします。
2.5.9.1. 汎用 OIDC シングルサインオン認証エラーのトラブルシューティング

OIDC JWT Algorithm 設定が明示的に定義されていない場合、認証は失敗します。認証コードには受け入れ可能なアルゴリズムのリストが必要ですが、そのリストは OpenID Connect (OIDC) の設定エンドポイントから自動的には取得されません。

2.5.9.1.1. JWT_Algorithms を手動で設定する

認証失敗を解決するには、プラットフォームゲートウェイ設定でサポートされているアルゴリズムのリストを手動で指定します。

手順

  1. ナビゲーションパネルから、Access ManagementAuthentication Methods を選択します。
  2. リストから OIDC オーセンティケーターを選択します。
  3. Edit authentication をクリックし、OIDC JWT Algorithm(s) フィールドを見つけます。
  4. サポートされているアルゴリズムのリストを YAML リストまたは JSON 配列として入力します。これらのアルゴリズムは通常、IdP の OpenID Connect (OIDC) 検出エンドポイントから入手できます。

    [
        "PS384",
        "ES384",
        "RS384",
        "HS256",
        "HS512",
        "ES256",
        "RS256",
        "HS384",
        "ES512",
        "PS256",
        "PS512",
        "RS512"
    ]
    Copy to Clipboard Toggle word wrap
  5. 変更を保存します。システムはトークンの検証にこれらの指定されたアルゴリズムを使用し、それらが存在しないことによって発生する認証エラーを解決します。
2.5.9.1.2. エンタープライズ認証のデバッグを有効にする

認証の問題をさらに診断するには、プラットフォームゲートウェイでデバッグロギングを有効にします。

手順

  1. プラットフォームゲートウェイの settings.py ファイルで、ロギング設定を変更します。
  2. ansible_base ロガーのロギングレベルを DEBUG に設定します。

    LOGGING['loggers']['ansible_base']['level'] = 'DEBUG'
    Copy to Clipboard Toggle word wrap

    この変更後、詳細な AuthTokenError メッセージがログに表示され、失敗の原因に関する具体的な情報が提供されます。

2.5.9.1.3. 汎用 OIDC スコープの不一致のトラブルシューティング

アイデンティティープロバイダー (IdP) が、システムによって自動的に追加されるデフォルトのスコープをサポートしていない場合、認証は失敗します。

システムがこのデフォルトのスコープを追加しないようにするには、オーセンティケーターの設定に項目を追加する必要があります。

手順

  1. ナビゲーションパネルから、Access ManagementAuthentication Methods を選択します。
  2. リストから OIDC オーセンティケーターを選択します。
  3. Edit authentication をクリックします。
  4. Additional Authenticator Fields セクションで、次の属性と値を追加します。この入力ボックスは、YAML または JSON のいずれかをサポートします。他のフィールドが存在する場合は、このキーと値のペアを新しい行に必ず追加してください。

    IGNORE_DEFAULT_SCOPE: True
    Copy to Clipboard Toggle word wrap
  5. 変更を保存します。オーセンティケーターは明示的に定義したスコープのみを使用するようになり、サポートされていないスコープに関連する認証エラーが解決されます。

2.5.10. Keycloak 認証の設定

Ansible Automation Platform を設定して Keycloak を統合し、ユーザー認証を管理できます。

注記

このオーセンティケーターを使用する場合、Keycloak インスタンスで特定の設定を行う必要があります。詳細は、Python Keycloak リファレンス を参照してください。

手順

  1. ナビゲーションパネルから、Access ManagementAuthentication Methods を選択します。
  2. Create authentication をクリックします。
  3. この認証設定の Name を入力します。
  4. Authentication type リストから Keycloak を選択します。Authentication details セクションが自動的に更新され、選択した認証タイプに関連するフィールドが表示されます。
  5. Keycloak Access Token URL フィールドに、ユーザーのトークンを取得できるロケーションを入力します。
  6. オプション: Keycloak Provider URL フィールドに、ユーザーがログインフロー中にリダイレクトされるロケーションを入力します。
  7. Keycloak OIDC Key フィールドに、Keycloak インストールからのクライアント ID を入力します。
  8. Keycloak レルムから提供された RS256 公開鍵を Keycloak Public Key フィールドに入力します。
  9. Keycloak OIDC Secret フィールドに、Keycloak インストールからの OIDC シークレット (クライアントシークレット) を入力します。
  10. オプション: このオーセンティケーターが使用できる Additional Authenticator Fields を入力します。これらのフィールドは検証されず、オーセンティケーターに直接返されます。

    注記

    このフィールドで定義された値は、UI で提供される専用フィールドをオーバーライドします。ここで定義されていない値はオーセンティケーターに提供されません。

  11. 正常にログインした際に組織、ユーザー、チームを自動的に作成するには、Create objects を選択します。
  12. 作成時にこの認証方法を有効にするには、Enabled を選択します。
  13. このソースから認証する際に以前に追加されたグループからユーザーを削除するには、Remove users を選択します。
  14. Create Authentication Method をクリックします。

トラブルシューティング

jwt.exceptions.InvalidAudienceError: Audience doesn’t match というエラーが発生した場合は、次の手順を実行してオーディエンスを再度有効にする必要があります。

  1. Keycloak 設定のナビゲーションから、Client scopesYOUR-CLIENT-ID-dedicatedAdd mapperAudience を選択します。
  2. マッパーの名前を選択します。
  3. Included Client Audience でクライアントに対応する Client ID を選択します。

2.5.11. GitHub 認証の設定

OAuth を使用して GitHub アイデンティティーを Ansible Automation Platform に接続できます。GitHub 認証をセットアップするには、新しいアプリケーションを GitHub に登録する 方法を使用して、組織所有のアプリケーションを GitHub から登録し、OAuth2 キーとシークレットを取得する必要があります。

OAuth2 キー (クライアント ID) とシークレット (クライアントシークレット) は、UI の必須フィールドに入力する際に使用します。アプリケーションを登録するには、オーセンティケーター設定の Authenticator details に表示される Callback URL である Web ページの URL を指定する必要があります。この情報にアクセスする手順の詳細は、Authenticator details の表示 を参照してください。

手順

  1. ナビゲーションパネルから、Access ManagementAuthentication Methods を選択します。
  2. Create authentication をクリックします。
  3. この認証設定の Name を入力します。
  4. Authentication type リストから GitHub を選択します。Authentication details セクションが自動的に更新され、選択した認証タイプに関連するフィールドが表示されます。
  5. アプリケーションの登録が済むと、GitHub では クライアント ID および クライアントシークレット が表示されます。

    1. GitHub クライアント ID をコピーして、GitHub OAuth2 Key フィールドにペーストします。
    2. GitHub クライアントシークレットをコピーして、GitHub OAuth2 Secret フィールドにペーストします。
  6. オプション: このオーセンティケーターが使用できる Additional Authenticator Fields を入力します。これらのフィールドは検証されず、オーセンティケーターに直接返されます。

    注記

    このフィールドで定義された値は、UI で提供される専用フィールドをオーバーライドします。ここで定義されていない値はオーセンティケーターに提供されません。

  7. 正常にログインした際に組織、ユーザー、チームを自動的に作成するには、Create objects を選択します。
  8. 作成時にこの認証方法を有効にするには、Enabled を選択します。
  9. このソースから認証する際に以前に追加されたグループからユーザーを削除するには、Remove users を選択します。
  10. Create Authentication Method をクリックします。

検証

認証が正しく設定されていることを確認するには、Ansible Automation Platform からログアウトし、ログイン画面に選択した認証方法のロゴが表示され、その認証情報を使用してログインできることを確認します。

2.5.12. GitHub 組織認証の設定

組織または組織内のチームでアカウント認証を定義する場合は、特定の組織およびチーム設定を使用する必要があります。アカウント認証は、組織ごと、または組織内のチームごとに制限を設定できます。組織以外またはチーム以外の設定を指定して、すべてを許可するように設定することも可能です。組織内または組織内のチーム内のユーザーのみに制限することで、プラットフォームにログインできるユーザーを制限できます。

GitHub 組織のソーシャル認証を設定するには、新しいアプリケーションを GitHub に登録 して、Web アプリケーションの OAuth2 キーとシークレットを取得する必要があります。

OAuth2 キー (クライアント ID) とシークレット (クライアントシークレット) は、UI の必須フィールドに入力する際に使用します。アプリケーションを登録するには、オーセンティケーター設定の Authenticator details に表示される Callback URL である Web ページの URL を指定する必要があります。この情報にアクセスする手順の詳細は、Authenticator details の表示 を参照してください。

手順

  1. ナビゲーションパネルから、Access ManagementAuthentication Methods を選択します。
  2. Create authentication をクリックします。
  3. この認証設定の Name を入力します。
  4. Authentication type リストから GitHub organization を選択します。Authentication details セクションが自動的に更新され、選択した認証タイプに関連するフィールドが表示されます。
  5. アプリケーションの登録が済むと、GitHub では クライアント ID および クライアントシークレット が表示されます。

    1. GitHub クライアント ID をコピーして、GitHub OAuth2 Key フィールドにペーストします。
    2. GitHub クライアントシークレットをコピーして、GitHub OAuth2 Secret フィールドにペーストします。
  6. GitHub OAuth Organization Name フィールドに、組織の URL で使用されている GitHub 組織の名前 (例: https://github.com/<yourorg>/) を入力します。
  7. オプション: このオーセンティケーターが使用できる Additional Authenticator Fields を入力します。これらのフィールドは検証されず、オーセンティケーターに直接返されます。

    注記

    このフィールドで定義された値は、UI で提供される専用フィールドをオーバーライドします。ここで定義されていない値はオーセンティケーターに提供されません。

  8. GitHub OAuth2 Scope フィールドにユーザーの認可スコープを入力します。デフォルトは read:org です。
  9. 正常にログインした際に組織、ユーザー、チームを自動的に作成するには、Create objects を選択します。
  10. 作成時にこの認証方法を有効にするには、Enabled を選択します。
  11. このソースから認証する際に以前に追加されたグループからユーザーを削除するには、Remove users を選択します。
  12. Create Authentication Method をクリックします。

検証

認証が正しく設定されていることを確認するには、Ansible Automation Platform からログアウトし、ログイン画面に選択した認証方法のロゴが表示され、その認証情報を使用してログインできることを確認します。

2.5.13. GitHub チーム認証の設定

GitHub チームのソーシャル認証をセットアップするには、新しいアプリケーションを GitHub に登録する で提供される手順に従って、Web アプリケーションの OAuth2 キーとシークレットを取得する必要があります。

OAuth2 キー (クライアント ID) とシークレット (クライアントシークレット) は、UI の必須フィールドに入力する際に使用します。アプリケーションを登録するには、オーセンティケーター設定の Authenticator details に表示される Callback URL である Web ページの URL を指定する必要があります。この情報にアクセスする手順の詳細は、Authenticator details の表示 を参照してください。

各キーとシークレットは、一意のアプリケーションに属している必要があり、異なる認証バックエンド間で共有したり再利用したりすることはできません。OAuth2 キー (クライアント ID) とシークレット (クライアントシークレット) は、UI の必須フィールドに入力する際に使用します。

手順

  1. ナビゲーションパネルから、Access ManagementAuthentication Methods を選択します。
  2. Create authentication をクリックします。
  3. この認証設定の Name を入力します。
  4. Authentication type リストから GitHub team を選択します。Authentication details セクションが自動的に更新され、選択した認証タイプに関連するフィールドが表示されます。
  5. アプリケーションの登録が済むと、GitHub では クライアント ID および クライアントシークレット が表示されます。

    1. GitHub クライアント ID をコピーして、GitHub OAuth2 Key フィールドにペーストします。
    2. GitHub クライアントシークレットをコピーして、GitHub OAuth2 Secret フィールドにペーストします。
  6. GitHub のチーム ID をコピーして、GitHub OAuth2 Team ID フィールドにペーストします。
  7. GitHub OAuth2 Scope フィールドにユーザーの認可スコープを入力します。デフォルトは read:org です。
  8. オプション: このオーセンティケーターが使用できる Additional Authenticator Fields を入力します。これらのフィールドは検証されず、オーセンティケーターに直接返されます。

    注記

    このフィールドで定義された値は、UI で提供される専用フィールドをオーバーライドします。ここで定義されていない値はオーセンティケーターに提供されません。

  9. 正常にログインした際に組織、ユーザー、チームを自動的に作成するには、Create objects を選択します。
  10. 作成時にこの認証方法を有効にするには、Enabled を選択します。
  11. このソースから認証する際に以前に追加されたグループからユーザーを削除するには、Remove users を選択します。
  12. Create Authentication Method をクリックします。

検証

認証が正しく設定されていることを確認するには、Ansible Automation Platform からログアウトし、ログイン画面に選択した認証方法のロゴが表示され、その認証情報を使用してログインできることを確認します。

2.5.14. GitHub Enterprise 認証の設定

GitHub Enterprise のソーシャル認証をセットアップするには、GitHub Enterprise URL、API URL、Web アプリケーションの OAuth2 キーとシークレットを取得する必要があります。

URL を取得するには、GitHub Enterprise administration ドキュメントを参照してください。

OAuth2 キー (クライアント ID) とシークレット (クライアントシークレット) は、UI の必須フィールドに入力する際に使用します。アプリケーションを登録するには、オーセンティケーター設定の Authenticator details に表示される Callback URL である Web ページの URL を指定する必要があります。この情報にアクセスする手順の詳細は、Authenticator details の表示 を参照してください。

各キーとシークレットは、一意のアプリケーションに属している必要があり、異なる認証バックエンド間で共有したり再利用したりすることはできません。OAuth2 キー (クライアント ID) とシークレット (クライアントシークレット) は、UI の必須フィールドに入力する際に使用します。

手順

  1. ナビゲーションパネルから、Access ManagementAuthentication Methods を選択します。
  2. Create authentication をクリックします。
  3. この認証設定の Name を入力します。
  4. Authentication type リストから GitHub Enterprise を選択します。Authentication details セクションが自動的に更新され、選択した認証タイプに関連するフィールドが表示されます。
  5. アプリケーションの登録が済むと、GitHub では クライアント ID および クライアントシークレット が表示されます。

    1. GitHub クライアント ID をコピーして、GitHub OAuth2 Key フィールドにペーストします。
    2. GitHub クライアントシークレットをコピーして、GitHub OAuth2 Secret フィールドにペーストします。
  6. Base URL フィールドに、GitHub Enterprise インスタンスのホスト名を入力します (例: https://github.example.com)。
  7. Github OAuth2 Enterprise API URL フィールドに、GitHub Enterprise インスタンスの API URL を入力します (例: https://github.example.com/api/v3)。
  8. オプション: このオーセンティケーターが使用できる Additional Authenticator Fields を入力します。これらのフィールドは検証されず、オーセンティケーターに直接返されます。

    注記

    このフィールドで定義された値は、UI で提供される専用フィールドをオーバーライドします。ここで定義されていない値はオーセンティケーターに提供されません。

  9. 正常にログインした際に組織、ユーザー、チームを自動的に作成するには、Create objects を選択します。
  10. 作成時にこの認証方法を有効にするには、Enabled を選択します。
  11. このソースから認証する際に以前に追加されたグループからユーザーを削除するには、Remove users を選択します。
  12. Create Authentication Method をクリックします。

検証

認証が正しく設定されていることを確認するには、Ansible Automation Platform からログアウトし、ログイン画面に選択した認証方法のロゴが表示され、その認証情報を使用してログインできることを確認します。

2.5.15. GitHub Enterprise 組織認証の設定

GitHub Enterprise 組織のソーシャル認証をセットアップするには、GitHub Enterprise 組織の URL、Organization API URL、Web アプリケーションの Organization OAuth2 キーおよびシークレットを取得する必要があります。

URL を取得するには、GitHub Enterprise administration ドキュメントを参照してください。

OAuth2 キー (クライアント ID) とシークレット (クライアントシークレット) は、UI の必須フィールドに入力する際に使用します。アプリケーションを登録するには、オーセンティケーター設定の Authenticator details に表示される Callback URL である Web ページの URL を指定する必要があります。この情報にアクセスする手順の詳細は、Authenticator details の表示 を参照してください。

各キーとシークレットは、一意のアプリケーションに属している必要があり、異なる認証バックエンド間で共有したり再利用したりすることはできません。OAuth2 キー (クライアント ID) とシークレット (クライアントシークレット) は、UI の必須フィールドに入力する際に使用します。

手順

  1. ナビゲーションパネルから、Access ManagementAuthentication Methods を選択します。
  2. Create authentication をクリックします。
  3. この認証設定の Name を入力します。
  4. Authentication type リストから GitHub enterprise organization を選択します。Authentication details セクションが自動的に更新され、選択した認証タイプに関連するフィールドが表示されます。
  5. アプリケーションの登録が済むと、GitHub では クライアント ID および クライアントシークレット が表示されます。

    1. GitHub クライアント ID をコピーして、GitHub OAuth2 Key フィールドにペーストします。
    2. GitHub クライアントシークレットをコピーして、GitHub OAuth2 Secret フィールドにペーストします。
  6. Base URL フィールドに、GitHub Enterprise インスタンスのホスト名を入力します (例: https://github.example.com)。
  7. Github OAuth2 Enterprise API URL フィールドに、GitHub Enterprise インスタンスの API URL を入力します (例: https://github.example.com/api/v3)。
  8. GitHub OAuth2 Enterprise Org Name フィールドに、組織の URL で使用されている GitHub Enterprise 組織の名前 (例: https://github.com/<yourorg>/) を入力します。
  9. オプション: このオーセンティケーターが使用できる Additional Authenticator Fields を入力します。これらのフィールドは検証されず、オーセンティケーターに直接返されます。

    注記

    このフィールドで定義された値は、UI で提供される専用フィールドをオーバーライドします。ここで定義されていない値はオーセンティケーターに提供されません。

  10. 正常にログインした際に組織、ユーザー、チームを自動的に作成するには、Create objects を選択します。
  11. 作成時にこの認証方法を有効にするには、Enabled を選択します。
  12. このソースから認証する際に以前に追加されたグループからユーザーを削除するには、Remove users を選択します。
  13. Create Authentication Method をクリックします。

検証

認証が正しく設定されていることを確認するには、Ansible Automation Platform からログアウトし、ログイン画面に選択した認証方法のロゴが表示され、その認証情報を使用してログインできることを確認します。

2.5.16. GitHub Enterprise チーム認証の設定

GitHub Enterprise チームのソーシャル認証をセットアップするには、GitHub Enterprise Organization URL、Organization API URL、Web アプリケーションの Organization OAuth2 キーとシークレットを取得する必要があります。

URL を取得するには、GitHub Enterprise administration ドキュメントを参照してください。

キーとシークレットを取得するには、まず企業の組織が所有するアプリケーションを https://github.com/organizations/<yourorg>/settings/applications に登録する必要があります。

OAuth2 キー (クライアント ID) とシークレット (クライアントシークレット) は、UI の必須フィールドに入力する際に使用します。アプリケーションを登録するには、オーセンティケーター設定の Authenticator details に表示される Callback URL である Web ページの URL を指定する必要があります。この情報にアクセスする手順の詳細は、Authenticator details の表示 を参照してください。

各キーとシークレットは、一意のアプリケーションに属している必要があり、異なる認証バックエンド間で共有したり再利用したりすることはできません。OAuth2key (クライアント ID) とシークレット (クライアントシークレット) は、UI の必須フィールドに入力する際に使用します。

手順

  1. ナビゲーションパネルから、Access ManagementAuthentication Methods を選択します。
  2. Create authentication をクリックします。
  3. この認証設定の Name を入力します。
  4. Authentication type リストから GitHub enterprise team を選択します。Authentication details セクションが自動的に更新され、選択した認証タイプに関連するフィールドが表示されます。
  5. アプリケーションの登録が済むと、GitHub では クライアント ID および クライアントシークレット が表示されます。

    1. GitHub クライアント ID をコピーして、GitHub OAuth2 Key フィールドにペーストします。
    2. GitHub クライアントシークレットをコピーして、GitHub OAuth2 Secret フィールドにペーストします。
  6. Base URL フィールドに、GitHub Enterprise インスタンスのホスト名を入力します (例: https://github.orgexample.com)。
  7. Github OAuth2 Enterprise API URL フィールドに、GitHub Enterprise インスタンスの API URL を入力します (例: https://github.example.com/api/v3)。
  8. GitHub 開発者アプリケーションの OAuth2 キー (クライアント ID) を GitHub OAuth2 チーム ID フィールドに入力します。
  9. オプション: このオーセンティケーターが使用できる Additional Authenticator Fields を入力します。これらのフィールドは検証されず、オーセンティケーターに直接返されます。

    注記

    このフィールドで定義された値は、UI で提供される専用フィールドをオーバーライドします。ここで定義されていない値はオーセンティケーターに提供されません。

  10. 正常にログインした際に組織、ユーザー、チームを自動的に作成するには、Create objects を選択します。
  11. 作成時にこの認証方法を有効にするには、Enabled を選択します。
  12. このソースから認証する際に以前に追加されたグループからユーザーを削除するには、Remove users を選択します。
  13. Create Authentication Method をクリックします。

検証

認証が正しく設定されていることを確認するには、Ansible Automation Platform からログアウトし、ログイン画面に選択した認証方法のロゴが表示され、その認証情報を使用してログインできることを確認します。

2.5.17. RADIUS 認証の設定

Ansible Automation Platform を設定して、RADIUS を認証情報のソースとして集中的に使用できるようになります。

手順

  1. ナビゲーションパネルから、Access ManagementAuthentication Methods を選択します。
  2. Create authentication をクリックします。
  3. この認証設定の Name を入力します。
  4. Authentication type リストから Radius を選択します。Authentication details セクションが自動的に更新され、選択した認証タイプに関連するフィールドが表示されます。
  5. RADIUS Server フィールドに RADIUS サーバーのホストまたは IP を入力します。このフィールドを空白のままにすると、RADIUS 認証は無効になります。
  6. RADIUS サーバーへの認証用の共有シークレット を入力します。
  7. オプション: このオーセンティケーターが使用できる Additional Authenticator Fields を入力します。これらのフィールドは検証されず、オーセンティケーターに直接返されます。

    注記

    このフィールドで定義された値は、UI で提供される専用フィールドをオーバーライドします。ここで定義されていない値はオーセンティケーターに提供されません。

  8. 正常にログインした際に組織、ユーザー、チームを自動的に作成するには、Create objects を選択します。
  9. 作成時にこの認証方法を有効にするには、Enabled を選択します。
  10. このソースから認証する際に以前に追加されたグループからユーザーを削除するには、Remove users を選択します。
  11. Create Authentication Method をクリックします。

2.6. ユーザーの関連付けと属性の同期

Red Hat Ansible Automation Platform 2.6 は、検証済みのメールアドレスを中心にユーザー ID を一元管理することで、ユーザーアカウントの管理と属性の同期を行います。このアプローチにより、ユーザーは、一貫したユーザープロファイルとアクセス権を保持しつつ、さまざまなソースの既存アカウントでのサインインが可能になります。

ユーザーが Local、GitHub、SAML、LDAP などのオーセンティケーターを使用して初めてプラットフォームにログインすると、システムはユーザー名とメールアドレスを評価します。検証済みの一致するメールが 1 つ存在する場合、外部ユーザーはその既存のプラットフォームアカウントにリンクされます。

  • 同じオーセンティケーターと外部の一意の識別子 (UID) による次回以降のログインでは、ユーザーはリンクされたアカウントに直接サインインします。
  • ユーザーの外部 UID が変更されると、システムはメールベースのリンクロジックを再トリガーします。新しい UID のメールが既存のアカウントと一致する場合、新しいオーセンティケーターがリンクされます。メールが一致しない、または提供されていない場合は、新しいユーザーアカウントが作成されることがあります。
  • ユーザーの外部メールが変更された場合、プラットフォームは既存アカウントのメールアドレスを自動的に更新しません。しかし、ユーザーは引き続きサインインでき、その新しいメールアドレスで新しいアカウントが作成されます。

このストラテジーは、過去の不整合に対処するためのものです。

  • Ansible Automation Platform 2.4: 複数のバックエンド間で認証が一貫していないと、ログインに失敗する可能性があります。
  • Ansible Automation Platform 2.5: ユーザーが多数のプロバイダーで認証されると、プラットフォームゲートウェイは、username-abc123 などのハッシュされたユーザー名を持つ新しいユーザーを作成し、管理上の問題が発生しました。

Ansible Automation Platform 2.6 では、ユーザー名の競合により bob-hash などの Ansible Automation Platform 2.5 からの「ハッシュされた」アカウントをユーザーが持っていた場合、そのオーセンティケーターに対してその関連付けが考慮されます。ただし、他のアイデンティティープロバイダーからの新しい認証の場合、一致するメールアドレスが 1 つだけ存在する場合に限り、プラットフォームは bob などのユーザーのプライマリアカウントにマッピングされるようになりました。これにより、ユーザーアイデンティティーが統合され、新しいハッシュアカウントの作成が防止されます。ユーザーが以前にマージされていた場合は、Ansible Automation Platform から user-<hash> アカウントを削除すると、次回のログイン時に、上記のようにメールに基づいてユーザーがマージされます。

重要
  • Authenticators without email: RADIUS や TACACS+ などのオーセンティケーターがメールアドレスを返さない場合は、最初のサインイン時に新しいアカウントが作成されます。今後の継続的なアクセスを確保するため、アカウント作成後に手動でメールアドレスを追加します。
  • Multiple users with the same email: オーセンティケーターからのメールが複数の既存のプラットフォームアカウントと一致する場合、サインインプロセスは失敗します。
  • LDAP usernames: プラットフォームは、LDAP ユーザー名の大文字と小文字を区別せずに扱います。ユーザー名を小文字に変換してデータベースに保存します。
  • associated_authenticators field: この統合された関連付けでは、API の associated_authenticators フィールドが調整され、ユーザーごとに複数の UID がサポートされます。

2.7. マッピング

Ansible Automation Platform サーバーにアクセスできるユーザーを制御し、ユーザーの属性 (ユーザー名やメールアドレスなど) や所属するグループに基づいて Ansible Automation Platform 組織またはチームに配置するには、オーセンティケーターマップを設定します。

オーセンティケーターマップを使用すると、ユーザーにリソースタイプへのアクセスを許可または拒否する前に満たす必要がある条件を追加できます。オーセンティケーターマップはオーセンティケーターに関連付けられ、順序が与えられます。ユーザーがログインすると、マップは順番に処理されます。これらは、ファイアウォールルールやメールフィルターのようなものだと考えることができます。

2.7.1. オーセンティケーターマッピングについて

認証
通常はユーザー名とパスワード、または信頼システムを通じてユーザーのアイデンティティーを検証します。
認可
認証されたユーザーが認証後に実行できる操作を決定します。

Ansible Automation Platform では、オーセンティケーターが認証を管理し、ユーザーを検証して、ユーザー名、ファーストネーム、メールアドレス、グループメンバーシップ (LDAP グループなど) などの詳細を返します。認可は、オーセンティケーターの関連マップに基づいて行われます。

認証プロセス中、ユーザーが認証されると、認可システムがメモリー内のデフォルトの権限セットを使用して起動します。次に、オーセンティケーターマップが順番に処理され、トリガー条件に基づいて権限が調整されます。すべてのオーセンティケーターのマップが処理されると、ユーザーの権限のメモリー内表現が既存の権限と調整されます。

たとえば、次のような簡略化されたデフォルト権限のメモリー内表現があるとします。

Access allowed = True
Superuser permission = Undefined
Admin of teams = None
Copy to Clipboard Toggle word wrap

また、処理する必要があるマップを、次の順序で処理するとします。

  1. 許可しない設定の 許可 ルール
  2. グループに基づく 許可 ルール
  3. ユーザー属性に基づく スーパーユーザー ルール
  4. ユーザーグループに基づく チーム 管理ルール

許可しない設定の最初の 許可 マップは、システムへのアクセスを拒否します。メモリー内の表現は次のようになります。

Access allowed = False
Superuser permission = Undefined
Admin of teams = None
Copy to Clipboard Toggle word wrap

しかし、ユーザーが 2 番目の 許可 マップ (グループベースの許可) にマッチする場合、権限が次のように変更されます。

Access allowed = True
Superuser permission = Undefined
Admin of teams = None
Copy to Clipboard Toggle word wrap

その後、ユーザーは必要なグループに属しているため、Ansible Automation Platform へのアクセス権が付与されます。

次に、スーパーユーザー マップがユーザーの属性をチェックします。マッチが見つからない場合、デフォルトでは既存の権限は取り消されません。したがって、権限は前のマップの結果と同じままです。

Access allowed = True
Superuser permission = Skipped
Admin of teams = None
Copy to Clipboard Toggle word wrap

スーパーユーザーアクセスを取り消すには、スーパーユーザー マップの Revoke オプションを選択します。そうすることで、ユーザーが属性の基準を満たさない場合、次のように権限が False に更新されます。

Access allowed = True
Superuser permission = False
Admin of teams = None
Copy to Clipboard Toggle word wrap

最後の チーム マップは、オーセンティケーターから取得したユーザーのグループをチェックし、チーム “My Team” への管理者アクセス権を確認します。ユーザーが必要なグループに属している場合、権限が次のように更新されます。

Access allowed = True
Superuser permission = False
Admin of teams = “My Team
Copy to Clipboard Toggle word wrap

ユーザーが必要なグループに属していない場合、マップの Revoke オプションが選択されていない限り、権限は変更されません。このオプションが選択されている場合は、権限が次のように更新されます。

Access allowed = True
Superuser permission = False
Admin of teams = Revoke admin of “My Team”
Copy to Clipboard Toggle word wrap

定義された順序ですべてのマップが処理された後、最終的な権限が調整され、マップルールに基づいてユーザーのアクセスが更新されます。

要約すると、オーセンティケーターはユーザーを検証し、システム認可をオーセンティケーターマップに委譲します。オーセンティケーターマップは順番に実行され、ユーザーの権限のメモリー内表現が作成されます。この表現は、すべてのマップが実行された後に実際の権限と調整されます。

デフォルトでは、オーセンティケーターマップは ALLOW または SKIPPED のいずれかを返します。

ALLOW
マッチが検出され、対応するロールまたは権限 (スーパーユーザーやチームメンバーなど) へのアクセスをユーザーに許可する必要があることを意味します。
SKIPPED
ユーザーがマップ内のトリガーにマッチしなかったことを意味します。このマップの処理はスキップされ、残りのマップのチェックが続行されます。これは、オーセンティケーターマップを変更せずに、システム内の追加の権限をユーザーに付与する場合に便利です。

ただし、Revoke オプションを選択すると、SKIPPEDDENY になり、必要なトリガー条件を満たさないユーザーに対して、対応するロールまたは権限へのアクセスが拒否されます。これにより、トリガー条件にマッチするユーザーにのみアクセスが許可されます。

2.7.2. オーセンティケーターマップのタイプ

Ansible Automation Platform は、次のルールタイプをサポートしています。

許可
システムへのログインをユーザーに許可するかどうかを決定します。
組織
ユーザーを組織に配置する必要があるかどうかを決定します。
Team
ユーザーをチームのメンバーにする必要があるかどうかを決定します。
Role
ユーザーがロールのメンバーであるかどうかを決定します (System Auditor など)。
Is Superuser
ユーザーがシステムのスーパーユーザーであるかどうかを決定します。

これらのオーセンティケーターマップタイプは、あらゆるタイプのオーセンティケーターで使用できます。

2.7.3. オーセンティケーターマップトリガー

各マップには、マップがいつ true として評価されるかを定義するトリガーがあります。トリガーの種類は次のとおりです。

Always
トリガーは常に起動される必要があります。
Never
トリガーを決して起動しません。
Group

ユーザーがソースシステムにグループを持っているか、持っていないか、または複数のグループを持っているかに基づいて、マップが true または false になります。Group トリガーの使用は、オーセンティケーターマップの例 を参照してください。

グループトリガーを定義すると、認証マッピングが拡張され、次の選択項目が追加されます。

  • Operation: このフィールドには、指定した Groups 条件に基づいてルールの処理をトリガーする条件設定を含めます。選択肢には andor があります。たとえば、and を選択した場合、このトリガーが true になるには、ログインするユーザーが Groups フィールドに指定されたすべてのグループのメンバーである必要があります。or を選択した場合、トリガーを起動するには、ログインするユーザーが、指定されたいずれかの Groups のメンバーである必要があります。

    注記

    1 つのグループのみを条件として使用する場合は、"and" または "or" のどちらを選択しても問題ありません。

  • Groups: これは、ユーザーが属している必要がある、認証システムからの 1 つ以上のグループのリストです。Groups エントリーを初めて作成するときは、値を手動で入力する必要があります。入力すると、その選択項目を Groups リストから利用できるようになります。

    トリガーに複数のグループを指定する場合にトリガーの動作を決定するには、Operation フィールドを参照してください。

    注記

    グループ識別子は小文字で入力する必要があります。たとえば、CN=johnsmith,DC=example,DC=com ではなく、cn=johnsmith,dc=example,dc=com です。

属性

ソースシステムから取得されるユーザー属性に基づいて、マップが true または false になります。Attribute トリガーの使用は、オーセンティケーターマップの例 を参照してください。

属性トリガーを定義すると、認証マッピングが拡張され、次の選択項目が追加されます。

  • Operation: このフィールドには、指定した Attribute 条件に基づいてルールの処理をトリガーする条件設定を含めます。バージョン 2.6 では、このフィールドは、ソースシステムが 1 つの値ではなく属性のリストを返す場合の処理を指定します。たとえば、ソースシステムがユーザーに対して複数のメールを返し、Operationand に設定されている場合、トリガーが True になるには、それらのメールがすべて Comparison と一致する必要があります。Operationor に設定されている場合、返されるメールのいずれかがトリガーの Comparison と一致すると、トリガーが True に設定されます。

    注記

    複数の属性マップを試す場合は、API を介して実行できます。ただし、オーセンティケーターが UI を介して保存されている場合、UI フォームで複数の属性マップが削除されます。マップに複数の属性を追加する場合、Operation は属性にも適用されます。

  • Attribute: このトリガーの評価に使用する、ソースシステムからの属性の名前。たとえば、ユーザーの姓に基づいてトリガーを起動するのであれば、ソースシステムの姓フィールドの名前が users_last_name である場合、このフィールドに値 ‘users_last_name’ を入力します。
  • Comparison: ユーザーの値を評価する方法をトリガーに指示します。ソースシステム内の Attribute を、トリガーに指定した Value と比較します。使用可能なオプションは、containsmatchesends withinequals です。各 Comparison タイプの詳細を以下に示します。

    • contains: Value に指定された文字列が、ソースから返される属性値内に含まれているかどうかを判定します。たとえば、ソースの属性値が ‘John’ であり、Comparison が contains の場合、トリガーの Value が ‘Jo’ であれば、トリガーは True に設定されます。トリガーの Value が ‘Joy’ であれば、トリガーは False に設定されます。
    • matches: トリガーの Value が Python 正規表現として扱われ、指定された Value とソースシステムから返された値の間で 正規表現マッチ (re.match) (大文字と小文字の区別なし) が実行されます。たとえば、トリガーの Value が ‘Jo’ の場合、ソースからの値が ‘John‘ または ‘Joanne‘、あるいは正規表現 ‘Jo’ に一致するその他の値であれば、トリガーは True を返します。属性のソース値が ‘Dan’ の場合、‘Dan’ は正規表現 ‘Jo’ と一致しないため、トリガーは False を返します。
    • ends with: ソースから提供される値の末尾が、トリガーで指定された Value であるかどうかを判定します。たとえば、ソースから John という値が提供された場合、トリガーの Value が ‘n’ または ‘on’ に設定されていれば、トリガーは True になります。トリガーの Value が ‘z’ に設定されている場合、ソースから取得された値 ‘John’ の末尾が、トリガーで指定された値 ‘z’ ではないため、トリガーは False になります。
    • equal: ソースによって提供される値が、トリガーで指定された Value (全体) と等しいかどうかを判定します。たとえば、ソースから ‘John’ という値が返された場合、その Value が ‘John’ に設定されていれば、トリガーは True になります。ソースから ‘John’ 以外の値が返された場合、このトリガーは False になります。
    • in: in 条件は、値が複数の値のいずれかと一致するかどうかを確認します。Comparisonin を指定した場合、Value フィールドにコンマ区切りのリストを指定できます。たとえば、トリガーの Value が ‘John,Donna’ の場合、ソースからの属性の値が ‘John’ か ‘Donna’ であれば、トリガーは True になります。それ以外の場合、トリガーは False になります。
    • Value: Comparison フィールドに基づいてユーザー属性を照合するときに使用する値。このセクションにある Comparison の定義の例を参照してください。

      注記

      Comparison タイプが in 場合、このフィールドにコンマ区切りのリスト (スペースなし) を指定できます。

2.7.4. オーセンティケーターマップの例

次の例を使用して、プラットフォームへのユーザーアクセスを制御するために実装できるグループや属性値などのさまざまな条件を確認してください。

属性に基づいて組織にユーザーを追加する

この例では、Organization 属性の値が Networking である場合に、そのユーザーを Networking 組織に追加します。

  1. このページの Organization というタイトルは、組織の設定権限を設定中であることを示しています。
  2. このフィールドには Network Organization が入力されています。これは、このマップ設定の一意のわかりやすい名前です。
  3. ソースシステムの属性 (この例では Organization) に基づいて認証を設定するために、Trigger リストから Attributes を選択します。
  4. Operation は or と定義されています。これは、認証が成功するには少なくとも 1 つの条件が true である必要があることを意味します。
  5. ソースシステムから取得される Attribute は Organization です。
  6. Comparison 値は matches に設定されています。これにより、ユーザーが属性の Value として Networking を持つ場合、そのユーザーは Networking 組織に追加されます。
  7. ソースシステムから取得される ValueNetworking です。
  8. メンバーを追加する Organization の名前は Networking です。
  9. ユーザーは、Organization Member ロールを持つ Networking 組織に追加されます。

ユーザーグループに基づいてチームにユーザーを追加する

この例では、次のいずれかのグループに属するユーザーを Apple チームに追加します。

cn=Administrators,ou=AAP,ou=example,o=com
Copy to Clipboard Toggle word wrap

または

cn=Operators,ou=AAP,ou=example,co=com
Copy to Clipboard Toggle word wrap

権限を昇格させない

この例では、ユーザーをスーパーユーザーに昇格しません。ただし、このルールでは、Revoke オプションが設定されていないため、ユーザーのスーパーユーザー権限は取り消されないことに注意してください。

ユーザーがグループに属しているかどうかに基づいて権限を昇格する

この例では、ユーザーが次のグループに属している場合、ユーザー権限をスーパーユーザーに昇格します。

cn=Administrators,ou=AAP
Copy to Clipboard Toggle word wrap

マッピング順序を使用して例外を作成する

マップは順番に実行されるため、例外を作成することもできます。前述の 権限を昇格しない 例を拡張して、権限を昇格する など、上位の別のルールを追加できます。

最初のルール (権限を昇格しない) は、どのユーザーもスーパーユーザーに昇格しませんが、2 番目のルール (権限を昇格する) は、その決定を変更し、ユーザーが Administrators グループに属している場合、そのユーザーにスーパーユーザー権限を付与します。

2.7.5. 許可マッピング

許可マッピングを使用すると、満たす必要のある条件を定義することで、システムにアクセスできるユーザーを制御できます。

手順

  1. 認証方法の認証の詳細を設定した後、Mapping タブを選択します。
  2. Add authentication mapping リストから Allow を選択します。
  3. ルールを識別するための一意のルールの Name を入力します。
  4. リストから Trigger を選択します。マップのトリガーに関する詳細は、オーセンティケーターマップトリガー を参照してください。
  5. トリガー条件がマッチしない場合にシステムへのユーザーアクセスを拒否するには、Revoke を選択します。
  6. Next をクリックします。

2.7.6. 組織マッピング

ユーザー名やメールアドレスなどの属性、またはオーセンティケーターから提供されるグループに基づいて、どのユーザーをどの Ansible Automation Platform 組織に配置するかを制御できます。

組織マッピングが肯定的に評価されると、マップに関連付けられたオーセンティケーターがオブジェクトの作成を許可されている場合で、指定された組織が存在しない場合は、その組織が作成されます。

手順

  1. 認証方法の認証の詳細を設定した後、Mapping タブを選択します。
  2. Add authentication mapping リストから Organization を選択します。
  3. ルールを識別するための一意のルールの Name を入力します。
  4. リストから Trigger を選択します。マップのトリガーに関する詳細は、オーセンティケーターマップトリガー を参照してください。
  5. トリガー条件がマッチしない場合に、選択した組織ロールへのユーザーアクセスを削除するには、Revoke を選択します。
  6. 一致するユーザーを追加またはブロックする Organization を選択します。
  7. 一致するユーザーに適用または削除する Role を選択します (たとえば、Organization Admin または Organization Member)。
  8. Next をクリックします。

2.7.7. チームマッピング

チームマッピングは、オーセンティケーターからチームメンバー (ユーザー) をマッピングすることです。

各チームのメンバーシップのオプションを定義できます。各チームごとに、どのユーザーをチームのメンバーとして自動的に追加するか、またどのユーザーがチームを管理できるかを指定できます。

チームマッピングは、アカウント認証ごとに個別に指定できます。

チームマッピングが肯定的に評価されると、関連付けられたオーセンティケーターがオブジェクトの作成を許可されている場合で、指定されたチームと組織が存在しない場合は、そのチームと組織が作成されます。

重要

Attribute トリガーを使用してチームマッピングを設定する場合は、or 演算を使用します。and 演算では、トリガーが成功するためには、リスト内の一つひとつの値がすべて比較基準に一致する必要があります。通常、ユーザーが期待するのはリスト内の少なくとも 1 つの値が一致することなので、この動作が意図されることは稀です。

手順

  1. 認証方法の認証の詳細を設定した後、Mapping タブを選択します。
  2. Add authentication mapping リストから Team を選択します。
  3. ルールを識別するための一意のルールの Name を入力します。
  4. リストから Trigger を選択します。マップのトリガーに関する詳細は、オーセンティケーターマップトリガー を参照してください。
  5. トリガー条件がマッチしない場合に、選択した組織ロールへのユーザーアクセスを削除し、システムへのユーザーアクセスを拒否するには、Revoke を選択します。
  6. 一致するユーザーを追加またはブロックする Team および Organization を選択します。
  7. 一致するユーザーに適用または削除する Role (Team Admin または Team Member など) を選択します。
  8. Next をクリックします。

2.7.8. ロールマッピング

ロールマッピングとは、ユーザーを Platform Auditor などのグローバルロールに、またはチームや組織のロールにマッピングすることです。

チームまたは組織が適切なロールとともに指定されている場合、動作は Organization マッピングまたは Team マッピングと同じになります。

ロールマッピングは、アカウント認証ごとに個別に指定できます。

手順

  1. 認証方法の認証の詳細を設定した後、Mapping タブを選択します。
  2. Add authentication mapping リストから Role を選択します。
  3. ルールを識別するための一意のルールの Name を入力します。
  4. リストから Trigger を選択します。マップのトリガーに関する詳細は、オーセンティケーターマップトリガー を参照してください。
  5. トリガー条件のいずれにも一致しない場合は、Revoke を選択してユーザーのロールを削除します。
  6. 一致するユーザーに適用または削除する Role を選択します。
  7. Next をクリックします。

2.7.9. スーパーユーザーのマッピング

スーパーユーザーのマッピングは、システム管理者などのスーパーユーザーロールへのユーザーのマッピングです。

手順

  1. 認証方法の認証の詳細を設定した後、Mapping タブを選択します。
  2. Add authentication mapping リストから Superuser を選択します。
  3. ルールを識別するための一意のルールの Name を入力します。
  4. リストから Trigger を選択します。マップのトリガーに関する詳細は、オーセンティケーターマップトリガー を参照してください。
  5. トリガー条件のいずれにも一致しない場合は、Revoke を選択して、ユーザーからスーパーユーザーロールを削除します。
  6. Next をクリックします。

2.7.10. オーセンティケーターマップの結果の確認

プラットフォーム管理者は、API のユーザーページ (api/gateway/v1/users/X) からオーセンティケーターマップの結果を確認し、ユーザーがプラットフォームにログインしたときにマップがどのように評価されたかを確認できます。

2.7.11. オーセンティケーターマップでの Jinja のような構文の使用

プラットフォームゲートウェイは、オーセンティケーターマップで Jinja のようなテンプレート構文をサポートし、ユーザーを組織、チーム、およびロールに動的に割り当てます。マップ内で使用できる構文は {% for_attr_value(<attribute_name>) %} です。これにより、プラットフォームゲートウェイは外部プロバイダーからの属性値をイテレートし、値ごとに個別のマッピングを作成します。

例 1: 単一属性

Organization オーセンティケーターマップは次の設定で作成されます。

  • Organization フィールド: Org {% for_attr_value(users_orgs) %} を入力します。
  • Attribute 値: users_orgs を入力します。
  • External data received: ["Database", "Networking"] (アイデンティティープロバイダーによって返された属性値)

この結果、オーセンティケーターマップは Org Database に対して 1 回、Org Networking に対して 1 回、合わせて 2 回評価されます。

例 2: 複数の属性

さらに、この構文を単一の属性マップ内で複数回使用することもできます。たとえば、Organization {% for\_attr\_value(org) %} \- Department {% for attr\_value(dept) %} のような構文で、属性 org の値が ab で、属性 dept の値が YZ の場合、マップは次の値で 4 回実行されます。

  • Organization a \- Department Y
  • Organization a \- Department Z
  • Organization b \- Department Y
  • Organization b \- Department Z

手順

  1. ナビゲーションパネルから、Access ManagementAuthentication Methods を選択します。
  2. リストからオーセンティケーターを選択します。
  3. Mapping タブを選択し、Create mapping をクリックします。
  4. Authentication mapping で、適切なマッピングタイプ (OrganizationTeam、または Role) を選択します。
  5. Trigger フィールドで、Attributes を選択します。
  6. 組織マップの Organization フィールドなどの対応するフィールドに、Jinja のような構文を入力して名前を動的に生成します。

    • たとえば、users_orgs という属性に基づいて組織名を作成するには、Org {% for_attr_value(users_orgs) %} と入力します。
  7. Attribute フィールドで、ループする値を持つ外部プロバイダーの属性の名前 (例: users_orgs) を指定します。
  8. マッピングのその他の必須フィールドを入力します。詳細は、オーセンティケーターマップトリガー を参照してください。
  9. Create mapping をクリックします。プラットフォームゲートウェイは、このテンプレートを使用して、指定された属性の値に基づいてユーザー割り当てを作成および管理します。

    注記

    テンプレート構文の入力に誤りがあった場合、システムは検証エラーを発生させ、新しいオーセンティケーターマップは作成されません認証中に、外部プロバイダーが指定された属性を提供しない場合、またはユーザーが Jinja 構文で指定された属性に関連付けられた値を持っていない場合、マップがトリガーされ、その理由を示すメッセージがプラットフォームゲートウェイログに記録されます。

2.8. Ansible Automation Platform での認証の管理

認証設定を行った後、オーセンティケーターのリストを表示し、システムで設定されている各オーセンティケーターの詳細を検索、並べ替え、表示することができます。

2.8.1. Authentication リストビュー

Authentication Methods ページでは、組織に設定されている認証方法を表示および管理できます。

手順

  1. ナビゲーションパネルから、Access ManagementAuthentication Methods を選択します。

    Authentication Methods ページが表示されます。

  2. Create authentication をクリックし、認証タイプの設定 の認証方法を作成する手順に従います。それ以外の場合は、手順 3 に進みます。
  3. メニューバーから、OrderName および Authentication type のメニューバーの矢印を使用して、認証方法のリストを並べ替えることができます。
  4. トグルをクリックして、オーセンティケーターを 有効 または 無効 にします。

2.8.2. オーセンティケーターの検索

Authentication リストビューから、以前に設定したオーセンティケーターを検索できます。

手順

  1. ナビゲーションパネルから、Access ManagementAuthentication Methods を選択します。
  2. 検索バーに、検索する認証方法の適切なキーワードを入力し、矢印アイコンをクリックします。
  3. 探しているものが見つからない場合は、検索を絞り込むことができます。フィルターリストから、使用する検索用語に応じて Name または Authentication type を選択します。
  4. 検索結果のリストをスクロールし、確認するオーセンティケーターを選択します。

2.8.3. Authenticator details の表示

確認するオーセンティケーターを見つけたら、設定の詳細を表示できます。

手順

  1. ナビゲーションパネルから、Access ManagementAuthentication Methods を選択します。
  2. リストビューで、Name 列に表示されているオーセンティケーター名を選択します。

    オーセンティケーターの Details ページが表示されます。

  3. Details ページから、オーセンティケーターに適用された設定を確認できます。

2.8.4. オーセンティケーターの編集

Authentication リストビューから、以前に設定したオーセンティケーターの設定を変更できます。

手順

  1. ナビゲーションパネルから、Access ManagementAuthentication Methods を選択します。
  2. リストビューでは、次のいずれかを実行できます。

    1. 変更するオーセンティケーターの横にある Edit Edit アイコンを選択します。
    2. Name 列に表示されているオーセンティケーター名を選択し、Details ページから Edit authenticator をクリックします。
  3. 必要に応じて、認証の詳細またはマッピング設定を変更します。
  4. Save をクリックします。

2.8.5. オーセンティケーターの削除

Authentication リストビューから、以前に設定したオーセンティケーターの設定を変更できます。

手順

  1. ナビゲーションパネルから、Access ManagementAuthentication Methods を選択します。
  2. リストビューで、削除するオーセンティケーターの横にあるチェックボックスをオンにします。
  3. リストから Delete authentication を選択します。

    注記

    削除する各オーセンティケーターの横にあるチェックボックスを選択し、メニューバーの リストから Delete selected authentication クリックすると、複数のオーセンティケーターを削除できます。

2.8.6. 認証パフォーマンスを向上させる Google Cloud Platform のネットワーク設定

Google Cloud Platform (GCP) 環境では、GCP Cloud NAT ゲートウェイに設定されているデフォルトのポート制限が低いため、大量のトラフィックが発生すると認証やパフォーマンスの問題が発生する可能性があります。この設定はすべての GCP デプロイメントに影響しますが、この制限に達するリスクが最も高くなるのは、Ansible Automation Platform が OpenShift (バージョン 4.17 以降) にデプロイされている場合です。

GCP 上の OpenShift インストール (バージョン 4.17 以降) における Cloud NAT ゲートウェイの 仮想マシンインスタンスあたりの最小ポート数 のデフォルト設定は 64 です。プラットフォームゲートウェイがシングルサインオン (SSO) 要求などの同時外部ネットワーク接続を処理する場合、この低いポート制限はすぐに使い果たされる可能性があります。上限に達すると、新たな外部接続が妨げられ、認証の失敗や深刻なパフォーマンス低下を引き起こします。

2.8.6.1. 最小ポート数を増やす

この制限に対処するには、ワーカーノードに関連付けられた Cloud NAT ゲートウェイの 仮想マシンインスタンスあたりの最小ポート数 設定を手動で増やします。

この回避策を適用するには、Google Cloud Console を使用します。

手順

  1. Cloud NAT サービス に移動します。
  2. OpenShift クラスターのワーカーノード用に設定された NAT ゲートウェイを見つけて選択します。
  3. 予想されるトラフィック量に対応するために、仮想マシンインスタンスあたりの最小ポート数 設定のデフォルト値 64 をより高い値に増やします。

    この制限を増やすと、外部通信に十分なポートが確保され、大量の認証や外部通信タスクの実行中にパフォーマンスの問題が発生する可能性が低くなります。

第3章 トークンベースの認証を使用した外部アプリケーションへのアクセスの設定

トークンベースの認証を使用すると、統合された OAuth 2 トークンのサポートにより、サードパーティーのツールやサービスをプラットフォームで認証できます。Ansible Automation Platform は、OAuth Personal Access Token (PAT) の両方を利用します。

OAuth トークン
OAuth トークンは、特定のアプリケーションに関連付けられています。このトークンを使用すると、アプリケーションがユーザーのログイン情報を開示することなくデータにアクセスできます。
Personal Access Tokens
PAT は、ユーザー個人のものであり、特定のアプリケーションに関連付けられたものではありません。ユーザーが自分自身の使用のために直接作成します。

アクセストークンのデフォルトの有効期限が 1000 年から 1 年に更新されました。この変更により、トークンのローテーションが頻繁に行われるようになり、認証情報のセキュリティーが強化されます。

注記

Controller 2.4 および以前のバージョンのプラットフォームゲートウェイのアクセストークンの有効期間は、1000 年間でした。2.5.20250604 パッチリリースより前に作成された既存のトークンの有効期限は、1000 年のままです。

次のように、settings.py ファイルで有効期限を変更することにより、この設定を特定の要件に合わせてカスタマイズできます。

OAUTH2_PROVIDER__ACCESS_TOKEN_EXPIRE_SECONDS = 31536000
Copy to Clipboard Toggle word wrap

settings.py ファイルの詳細と、このファイルを使用してプラットフォームの各要素を設定する方法については、「Ansible Automation Platform の運用」の settings.py を参照してください。

OAuth2 仕様の詳細は、The OAuth 2.0 Authorization Framework を参照してください。

manage ユーティリティーを使用してトークンを作成する方法の詳細は、トークンとセッションの管理 を参照してください。

3.1. OAuth アプリケーションを管理する

ServiceNow や Jenkins などの外部アプリケーション用のトークンベースの認証を作成および設定します。トークンベースの認証を使用すると、外部アプリケーションを Ansible Automation Platform と簡単に統合できます。

重要

プラットフォーム UI 上の Automation Controller OAuth アプリケーションは、2.4 から 2.5 に移行できません。詳細は、こちらの ナレッジベースの記事 を参照してください。

プラットフォーム管理者は、プラットフォーム内でカスタムの外部アプリケーションの URL を設定して、外部サービスとのシームレスな統合を実現できます。この機能は現在、テクノロジープレビューとして利用できます。設定が完了すると、外部アプリケーションの URL がプラットフォーム UI ナビゲーションパネルに表示されます。これにより、ユーザーがアプリケーションに簡単にアクセスできるようになります。この機能を使用すると、プラットフォーム UI 内から外部サービスに迅速にアクセスできるため、ワークフローが合理化されます。

注記

テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat では、実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

OAuth 2 を使用すると、ログイン情報を公開せずにトークンを使用してアプリケーションとデータを共有できます。このトークンは、読み取り専用に設定できます。

統合する外部アプリケーションを表すアプリケーションを作成し、それ使用してアプリケーションがユーザーの代わりに使用するトークンを作成できます。

これらのトークンをアプリケーションリソースに関連付けると、特定のアプリケーションに対して発行されたすべてのトークンを管理できるようになります。OAuth Applications でトークンの発行を分離することで、システム内のすべてのトークンを取り消さなくても、アプリケーションごとにトークンをすべて取り消すことができます。

3.1.1. OAuth アプリケーションの使用開始

ナビゲーションパネルから Access ManagementOAuth Applications を選択すると、OAuth Applications ページにアクセスできます。そこから、Ansible Automation Platform および Automation Controller によって現在管理されているアプリケーションを表示、作成、並べ替え、検索できます。

アプリケーションがない場合は、Create OAuth application をクリックして作成できます。

アプリケーションのアクセスルールは以下のとおりです。

  • プラットフォーム管理者は、システム内のすべてのアプリケーションを表示および操作できます。
  • プラットフォーム監査者は、システム内のアプリケーションの表示のみ実行できます。
  • 一方、トークンは、受信要求を認証し、基盤のユーザーのパーミッションをマスクするために使用するリソースです。

トークンのアクセスルールは以下のとおりです。

  • ユーザーは、自分用の Personal Access Token を作成できます。
  • プラットフォーム管理者は、システム内のすべてのトークンを表示および操作できます。
  • プラットフォーム監査者は、システム内のトークンの表示のみ実行できます。
  • 他の通常ユーザーは、自身のトークンのみ表示し、操作できます。
注記

ユーザーは、作成時にのみトークンの表示またはトークンの値の更新が可能です。

3.1.1.1. アプリケーションの機能

認可、トークンの更新、取り消しに利用できる OAuth 2 ユーティリティーがいくつか用意されています。アプリケーションを作成するときに、次の付与タイプを指定できます。

Password
この付与タイプは、Web アプリケーションへのネイティブアクセス権を持つユーザーに最適であり、クライアントがリソース所有者である場合に使用する必要があります。
認可コード
この付与タイプは、アクセストークンを外部アプリケーションまたはサービスに直接発行する必要がある場合に使用する必要があります。
注記

認可コードタイプを使用してアクセストークンを取得できるのは、アプリケーションを使用する場合だけです。外部 Web アプリケーションを Ansible Automation Platform と統合する場合、その Web アプリケーションが、他の Web アプリケーションのユーザーに代わって OAuth2 トークンを作成する必要がある場合があります。プラットフォームで認可コード付与タイプを使用してアプリケーションを作成することを推奨します。理由は次のとおりです。

  • これにより、外部アプリケーションがユーザーの認証情報を使用して、Ansible Automation Platform からユーザーのトークンを取得できるようになります。
  • 特定のアプリケーション用に区分されたトークンが発行されるため、トークンを簡単に管理できます。たとえば、システム内のすべてのトークンを取り消さずに、そのアプリケーションに関連付けられている すべて のトークンを取り消すことができます。
3.1.1.1.1. 有効期限経過後にアクセストークンを要求する

アクセストークンのデフォルトの有効期限は 1 年です。

認可コード 付与タイプを使用してアプリケーション統合を設定する最適な方法は、最良の方法は、クロスサイト要求の発信元を許可リストに登録することです。一般的には、アクセストークンを提供する対象である、プラットフォームと統合するサービスまたはアプリケーションを許可リストに登録する必要があります。

これを行うには、次の許可リストをローカルの Ansible Automation Platform 設定ファイルに追加するよう管理者に依頼します。

CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOWED_ORIGIN_REGEXES = [
    r"http://django-oauth-toolkit.herokuapp.com*",
    r"http://www.example.com*"
]
Copy to Clipboard Toggle word wrap

http://django-oauth-toolkit.herokuapp.comhttp://www.example.com は、プラットフォームにアクセスするためにトークンを必要とするアプリケーションです。

3.1.1.2. OAuth2 アプリケーションとトークンの移行 (2.4 から 2.6)

Ansible Automation Platform 2.4 から 2.6 へのアップグレード中に、OAuth2 アプリケーションとトークンの管理方法に重要な変更があります。Ansible Automation Platform では、プラットフォームゲートウェイ OAuth アプリケーションが使用されるようになり、Automation Controller OAuth アプリケーションは非推奨となりました。

  • Automation Controller OAuth アプリケーション: 既存の Automation Controller アプリケーションを表示および編集できますが、新しいアプリケーションを作成することはできなくなります。これらのレガシーアプリケーションは引き続き機能しますが、今後のリリースでは削除される可能性があります。プラットフォームゲートウェイ OAuth アプリケーションへの移行を計画してください。
  • Automation Controller トークン: Automation Controller Personal Access Token (PAT) も非推奨になりました。ユーザーをプラットフォームゲートウェイ PAT に移行するよう案内してください。
  • プラットフォームゲートウェイ OAuth アプリケーションとトークン: プラットフォームアプリケーションとトークンは、更新されたインターフェイスを提供し、今後の標準となります。これらのアプリケーションとトークンに移動します。
3.1.1.3. OAUTH2_PROVIDER 設定を管理する

2.4 から 2.6 にアップグレードすると、Automation Controller からの OAUTH2_PROVIDER 設定は、プラットフォームゲートウェイによって管理されます。デフォルトのトークン有効期限の値は、Automation Controller とプラットフォームゲートウェイ間で異なる場合があります。

  • デフォルトのアクセストークンの有効期限が 1,000 年から 1 年に更新されました。この変更により、トークンのローテーションがより頻繁に行われ、認証情報のセキュリティーが強化されます。
  • プラットフォームゲートウェイのデフォルトの OAUTH2_PROVIDER 設定は、次のとおりです。

    {
      "ACCESS_TOKEN_EXPIRE_SECONDS": 31536000000,
      "REFRESH_TOKEN_EXPIRE_SECONDS": 2628000,
      "AUTHORIZATION_CODE_EXPIRE_SECONDS": 600
    }
    Copy to Clipboard Toggle word wrap

    以前にトークンの有効期限を 1 年未満に設定していた場合は、必要な設定に合わせてプラットフォームゲートウェイの設定を手動で更新する必要があります。

3.1.2. 新規アプリケーションの作成

外部 Web アプリケーションを Ansible Automation Platform と統合する場合、その Web アプリケーションが、Web アプリケーションのユーザーに代わって OAuth2 トークンを作成する必要がある場合があります。

認可コード付与タイプを使用してアプリケーションを作成することを推奨します。理由は次のとおりです。

  • 外部アプリケーションが、ユーザーの認証情報を使用してユーザーのトークンを取得できます。
  • 特定のアプリケーション用に区分されたトークンが発行されるため、トークンを簡単に管理できます。たとえば、そのアプリケーションに関連付けられているすべてのトークンを取り消すことができます。

手順

  1. ナビゲーションパネルから、Access ManagementOAuth Applications を選択します。
  2. Create OAuth application をクリックします。Create Application ページが開きます。
  3. 以下の詳細を入力します。

    名前
    (必須) 作成するアプリケーションの名前を入力します。
    URL
    (オプション) 外部アプリケーションの URL を入力します。このリンクは、簡単にアクセスできるようにナビゲーションパネルに追加されます。この設定は現在テクノロジープレビューとして提供されています。
    Description
    (任意) アプリケーションの簡単な説明を記入します。
    Organization
    (必須) このアプリケーションを関連付ける組織を選択します。
    Authorization grant type
    (必須) ユーザーがこのアプリケーションのトークンを取得するために使用する付与タイプを 1 つ選択します。付与タイプの詳細は、アプリケーションの機能 を参照してください。
    Client Type
    (必須) クライアントデバイスのセキュリティーレベルを選択します。
    Redirect URIS
    許可する URI のリストをスペースで区切りで指定します。これは、付与タイプを Authorization code に指定した場合に必須です。
  4. Create OAuth application をクリックするか、Cancel をクリックして変更を破棄します。

    Client IDClient Secret がウィンドウに表示されます。クライアントシークレットが表示されるのはこのときだけです。

    注記

    Client Secret は、Client typeConfidential に設定されている場合にのみ作成されます。

  5. コピーアイコンをクリックして、外部アプリケーションを Ansible Automation Platform と統合するためのクライアント ID とクライアントシークレットを保存します。

3.2. トークンの追加

OAuth Applications の詳細ページで Tokens タブを選択すると、アプリケーションにアクセスするためのトークンを持つユーザーのリストを表示できます。

注記

作成できるのは、自分のユーザー用の OAuth 2 トークンだけです。つまり、トークンを設定または表示するには、自分のユーザープロファイルから行う必要があります。

認証トークンが設定されている場合、トークンを関連付けるアプリケーションとトークンのアクセスレベルを選択できます。

手順

  1. ナビゲーションパネルから、Access ManagementUsers を選択します。
  2. OAuth 2 トークンを設定するユーザープロファイルのユーザー名を選択します。
  3. Tokens タブを選択します。

    トークンがない場合は、Tokens 画面でトークンを追加するように求められます。

  4. Create token をクリックして、Token ウィンドウを開きます。
  5. 以下の詳細を入力します。

    アプリケーション

    トークンを関連付けるアプリケーションの名前を入力します。または、Browse をクリックして検索することもできます。これにより、別のウィンドウが開き、利用可能なオプションから選択できるようになります。リストが大きい場合は、フィルターリストから Name を選択して名前でフィルタリングします。

    注記

    どのアプリケーションにもリンクされていない Personal Access Token (PAT) を作成するには、Application フィールドを空白のままにします。

    Description
    (任意) トークンの簡単な説明を入力します。
    Scope

    (必須) このトークンに付与するアクセスレベルを指定します。OAuth 2 トークンのスコープは、次のいずれかに設定できます。

    • Write: このトークンを使用して送信された要求に、システム内のリソースを追加、編集、削除することを許可します。
    • Read: アクションを読み取り専用に制限します。Read スコープは Write スコープに包含されることに注意してください。
  6. Create token をクリックするか、Cancel をクリックして変更を破棄します。

    Token 情報に、TokenRefresh Token の情報、およびトークンの有効期限が表示されます。トークンとリフレッシュトークンが表示されるのはこのときだけです。リストビューから、トークンの関連付けとトークン情報を表示できます。

  7. コピーアイコンをクリックし、トークンとリフレッシュトークンを後で使用するために保存します。

検証

アプリケーションの詳細ページの Tokens タブを使用して、アプリケーションに適切なトークンを持つユーザーが表示されることを確認できます。

  1. ナビゲーションパネルから、Access ManagementOAuth Applications を選択します。
  2. Applications リストビューから検証するアプリケーションを選択します。
  3. Tokens タブを選択します。

    選択したアプリケーションに関連付けられたトークンのリストにトークンが表示されます。

3.2.1. アプリケーショントークンの機能

/o/ エンドポイントのトークンに関連付けられた refresh 機能および revoke 機能を実行するには、現在、アプリケーショントークンが必要です。

3.2.1.1. 既存のアクセストークンの更新

次の例は、リフレッシュトークンが指定された既存のアクセストークンを示しています。

{
    "id": 35,
    "type": "access_token",
    ...
    "user": 1,
    "token": "omMFLk7UKpB36WN2Qma9H3gbwEBSOc",
    "refresh_token": "AL0NK9TTpv0qp54dGbC4VUZtsZ9r8z",
    "application": 6,
    "expires": "2017-12-06T03:46:17.087022Z",
    "scope": "read write"
}
Copy to Clipboard Toggle word wrap

/o/token/ エンドポイントは、アクセストークンを更新するために使用されます。

curl -X POST \
    -d "grant_type=refresh_token&refresh_token=AL0NK9TTpv0qp54dGbC4VUZtsZ9r8z" \
    -u "gwSPoasWSdNkMDtBN3Hu2WYQpPWCO9SwUEsKK22l:fI6ZpfocHYBGfm1tP92r0yIgCyfRdDQt0Tos9L8a4fNsJjQQMwp9569eIaUBsaVDgt2eiwOGe0bg5m5vCSstClZmtdy359RVx2rQK5YlIWyPlrolpt2LEpVeKXWaiybo" \
    http://<gateway>/o/token/ -i
Copy to Clipboard Toggle word wrap

ここで、refresh_token は、前述のアクセストークンの refresh_token フィールドで指定されます。

認証情報の形式は、<client_id>:<client_secret> です。client_idclient_secret は、アクセストークンの基盤となる関連アプリケーションの対応するフィールドに置き換えます。

注記

特別な OAuth 2 エンドポイントは、x-www-form-urlencoded という Content-type の使用のみをサポートしています。そのため、application/json を受け入れる /o/* エンドポイントはありません。

成功すると、以前のものと同じスコープ情報を持つ新しい (更新された) アクセストークンを含む応答が、JSON 形式で表示されます。

HTTP/1.1 200 OK
Server: nginx/1.12.2
Date: Tue, 05 Dec 2017 17:54:06 GMT
Content-Type: application/json
Content-Length: 169
Connection: keep-alive
Content-Language: en
Vary: Accept-Language, Cookie
Pragma: no-cache
Cache-Control: no-store
Strict-Transport-Security: max-age=15768000

{"access_token": "NDInWxGJI4iZgqpsreujjbvzCfJqgR", "token_type": "Bearer", "expires_in": 315360000000, "refresh_token": "DqOrmz8bx3srlHkZNKmDpqA86bnQkT", "scope": "read write"}
Copy to Clipboard Toggle word wrap

更新操作では、元のトークンを削除した直後に、元のトークンと同じスコープと関連アプリケーションを持つ新しいトークンを作成することで、既存のトークンを置き換えます。

api/gateway/v1/tokens/ エンドポイントで新しいトークンが存在し、古いトークンが削除されていることを確認します。

3.2.1.2. アクセストークンの取り消し

アクセストークンを取り消すには、プラットフォームの UI でトークンを削除するか、/o/revoke-token/ エンドポイントを使用します。

この方法によるアクセストークンの取り消しは、トークンリソースオブジェクトの削除と同じです。ただしこの方法では、トークン値と、関連付けられた client_id (アプリケーションが confidential の場合は加えて client_secret) を指定することで、トークンを削除できます。以下に例を示します。

curl -X POST -d "token=rQONsve372fQwuc2pn76k3IHDCYpi7" \
-u "gwSPoasWSdNkMDtBN3Hu2WYQpPWCO9SwUEsKK22l:fI6ZpfocHYBGfm1tP92r0yIgCyfRdDQt0Tos9L8a4fNsJjQQMwp9569eIaUBsaVDgt2eiwOGe0bg5m5vCSstClZmtdy359RVx2rQK5YlIWyPlrolpt2LEpVeKXWaiybo" \
http://<gateway>/o/revoke_token/ -i
Copy to Clipboard Toggle word wrap
注記
  • 特別な OAuth 2 エンドポイントは、x-www-form-urlencoded という Content-type の使用のみをサポートしています。そのため、application/json を受け入れる /o/* エンドポイントはありません。
  • Allow External Users to Create Oauth2 Tokens (API の ALLOW_OAUTH2_FOR_EXTERNAL_USERS) の設定は、デフォルトでは無効になっています。外部ユーザーとは、LDAP などのサービスやその他の SSO サービスにより、外部で認証されたユーザーを指します。この設定により、外部ユーザーは独自のトークンを作成できなくなります。有効にしてから無効にすると、その間に外部ユーザーが作成したトークンは残り、自動的には取り消されません。この設定は、SettingsPlatform gateway メニューから設定できます。

あるいは、OAuth2 トークンを取り消すために、manage ユーティリティーを使用できます。oauth2 トークンの取り消し を参照してください。

成功すると、200 OK という応答が表示されます。トークンが api/gateway/v1/tokens/ エンドポイントに存在するかどうかを確認して、削除されていることを確認します。

3.2.2. トークンとセッションの管理

Ansible Automation Platform は、OAuth2 トークン管理用の次のコマンドをサポートしています。

3.2.2.1. create_oauth2_token

次のコマンドを使用して OAuth2 トークンを作成します (example_user にはユーザー名を指定します)。

$ aap-gateway-manage create_oauth2_token --user example_user

New OAuth2 token for example_user: j89ia8OO79te6IAZ97L7E8bMgXCON2
Copy to Clipboard Toggle word wrap

トークンを作成するときは、必ず有効なユーザーを指定してください。そうしなければ、ユーザーを指定せずにコマンドを発行しようとしたことを示すエラーメッセージか、存在しないユーザー名を指定したことを示すエラーメッセージが表示されます。

3.2.2.2. revoke_oauth2_tokens

このコマンドは、OAuth2 トークン (アプリケーショントークンと Personal Access Token (PAT) の両方) を取り消すために使用します。すべてのアプリケーショントークン (関連付けられているリフレッシュトークンは除く) を取り消し、すべての Personal Access Token を取り消します。ただし、すべてのトークンを取り消すユーザーを指定することもできます。

既存の OAuth2 トークンをすべて取り消すには、次のコマンドを使用します。

$ aap-gateway-manage revoke_oauth2_tokens
Copy to Clipboard Toggle word wrap

すべての OAuth2 トークンとそのリフレッシュトークンを取り消すには、次のコマンドを使用します。

$ aap-gateway-manage revoke_oauth2_tokens --revoke_refresh
Copy to Clipboard Toggle word wrap

id=example_user が指定されたユーザーの OAuth2 トークンをすべて取り消すには、以下を実行します (example_user にユーザー名を指定します)。

$ aap-gateway-manage revoke_oauth2_tokens --user example_user
Copy to Clipboard Toggle word wrap

id=example_user のユーザーのすべての OAuth2 トークンとリフレッシュトークンを取り消すには、次のコマンドを実行します。

$ aap-gateway-manage revoke_oauth2_tokens --user example_user --revoke_refresh
Copy to Clipboard Toggle word wrap
3.2.2.3. cleartokens

このコマンドを使用して、すでに取り消されたトークンを消去します。

詳細は、Django の Oauth Toolkit ドキュメントの cleartokens を参照してください。

3.2.2.4. clearsessions

このコマンドを使用して、期限切れになったすべてのセッションを削除します。

詳細は、Django の Oauth Toolkit ドキュメントの Clearing the session store を参照してください。

UI での OAuth2 トークン管理の詳細は、アプリケーション を参照してください。

3.2.3. Personal Access Token の移行

Ansible Automation Platform 2.6 にアップグレードした後も、2.4 Automation Controller からの Personal Access Token (PAT) は引き続き機能します。これらはプラットフォームゲートウェイ UI に表示され、Automation Controller とプラットフォームゲートウェイ API の両方で使用できます。

Automation Controller トークンの管理

アップグレード後、Automation Controller トークンを使用して次のアクションを実行できます。

  • プラットフォームゲートウェイ UI: トークンを編集または削除できますが、作成または更新はできません。
  • Automation Controller API: トークンを作成、編集、削除、または更新できます。

トークンには UI 内でラベルが付けられ、Automation Controller のみであるか、プラットフォームゲートウェイであるかが示されます。プラットフォームゲートウェイトークンは、UI 上で プラットフォーム タイプとして表示される点を除き、これらの要件による影響はありません。

3.3. 外部ユーザーの OAuth2 トークン作成の管理

Red Hat Ansible Automation Platform は、LDAP、SAML、SSO などの外部プロバイダーを通じて認証されたユーザーが、プログラムによる API アクセス用の OAuth2 トークンを作成することを禁止するセキュリティー初期設定に基づいて設計されています。外部ユーザーがこのようなトークンを生成しようとすると、403: Forbidden' error with the message: '(access_denied) OAuth2 Tokens cannot be created by users associated with an external authentication provider というメッセージが表示されます。

このデフォルトの動作は意図的なセキュリティー対策です。Ansible Automation Platform は、トークン生成を一元的に管理することを重視しています。そのため、外部認証プロバイダーの OAuth 2.0 ユーザートークン生成を有効にする適切な方法を管理者が選択する形になっています。

重要なのは、OAuth2 トークンは Ansible Automation Platform 内で作成され、Ansible Automation Platform 自体がその有効期限を含むライフサイクルを管理する点です。このライフサイクルは、ユーザーの外部アイデンティティープロバイダー (IdP) とのセッションから独立しています。たとえば、ユーザーが Ansible Automation Platform トークンを生成し、その後そのアカウントが外部 IdP で無効になっても、Ansible Automation Platform のトークンは、有効期限が切れるか手動で取り消されるまで有効なままです。この相互関係を認識しておくことが、セキュアな設定を維持するうえで極めて重要です。この認識により、外部ユーザーによるトークン作成を有効にする場合は、補完的な対策が必要であることが明白になるためです。

3.3.1. 外部ユーザーの OAuth2 トークン作成の有効化

外部ユーザーが OAuth2 トークンを作成できるようにするには、Ansible Automation Platform 環境で適切な設定を変更します。この設定を有効にしたら、補完的なセキュリティー対策を必ず実装してください。

手順

  1. ナビゲーションパネルから、SettingsPlatform gateway に移動します。
  2. Edit platform gateway 設定をクリックします。
  3. Allow external users to create OAuth2 tokens 設定を Enabled に変更します。
  4. Save platform gateway settings をクリックします。

次のステップ

外部ユーザー OAuth2 トークン用のセキュリティー対策の実装 の説明に従って、推奨されるセキュリティー対策を実装します。

3.3.2. 外部ユーザー OAuth2 トークン用のセキュリティー対策の実装

外部ユーザーに対して OAuth2 トークンの作成を有効にしたら、強力なセキュリティー体制を維持するために、次の補完的な対策を実装します。

手順

  • トークンの有効期間を制限する: OAuth2 トークンの有効期間を短く設定して、公開される期間を短縮します。

    • Ansible Automation Platform の設定で、OAUTH2_ACCESS_TOKEN_EXPIRE_SECONDS の値を調整します。値を 28800 (8 時間) にすることを推奨します。これにより、トークンの有効期間が標準的な 1 日の就業時間に制限されます。
  • 厳格なロールベースのアクセス制御 (RBAC) を適用する: ユーザーに必要最小限の権限のみを付与します。

    • トークンを作成するユーザーを、制限の厳しいロールを持つ Teams に割り当てます。特権昇格につながる可能性のある広範な権限を付与することは避けてください。
  • 明確なオフボーディングプロセスを確立する: トークンの取り消しを組織のオフボーディング手順に組み込みます。HR および IT のオフボーディングプロセスに、退職するユーザーのすべてのアクティブなトークンを Ansible Automation Platform 管理者が取り消す手順が組み込まれている必要があります。トークンは、Tokens タブのユーザープロファイルから手動で取り消すことができます。
  • 監査と監視: Activity Stream でトークン関連のアクティビティーの正当性を定期的に確認します。

第4章 ロールベースのアクセス制御によるアクセス管理

ロールベースのアクセス制御 (RBAC) は、Ansible Automation Platform で割り当てられている組織内のユーザーのロールに基づいて、ユーザーアクセスを制限します。RBAC のロールとは、ユーザーが Ansible Automation Platform のコンポーネントとリソースに対して持つアクセスレベルを指します。

RBAC ポリシーに応じて、Ansible Automation Platform のコンポーネントを使用してユーザーが実行できる操作を大まかなまたは詳細なレベルで制御できます。ユーザーがシステム管理者であるか標準ユーザーであるかを指定し、ロールとアクセス権限を組織内のポジションに合わせて調整できます。

ロールは複数の権限で定義でき、その後リソース、チーム、ユーザーに割り当てることができます。ロールを構成する権限が、その割り当てられたロールで許可される内容を決定します。権限は、ユーザーが自分のロールに適したタスクを実行するために必要なアクセスのみに割り当てられます。

重要

ユーザー、チーム、組織を管理する場合は、Event-Driven Ansible Controller を含むすべてのプラットフォームコンポーネント間でリアルタイムな同期を確保するため、Unified UI またはプラットフォームゲートウェイ API を使用してください。レガシーの Automation Controller API を使用する場合、変更が Event-Driven Ansible Controller に伝播されるまでに最大 15 分かかることがあり、その結果、新しいユーザーまたはチームで認証エラーが発生する可能性があります。

4.1. 組織

組織は、プロジェクト、インベントリー、認証情報などのリソースをグループ化したものです。最初にユーザーとチームを組織に割り当て、次にそれらのユーザーとチームに組織内で定義されたロールを割り当てることで、組織内のリソースへのきめ細かなアクセスを定義できます。

管理者は、組織を使用してリソースのグループを整理できます。チームまたはユーザーを組織に割り当てると、そのチームまたはユーザーは組織内のリソースにアクセスできるようになります。これにより、管理者は、新しいリソースが利用可能になった際に個々のチームとユーザーにアクセス権を付与する必要がなくなり、チームとユーザーは組織に追加されたときに新しいリソースにアクセスできるようになります。

組織を作成すると、Ansible Automation Platform に組織の詳細が表示されます。その後、組織のアクセス環境や実行環境などのリソースを管理できます。

Ansible Automation Platform は、デフォルトの組織を自動的に作成します。Self-Support レベルのライセンスをお使いの場合は、デフォルトの組織しか使用できないため、デフォルトの組織を削除しないでください。

4.1.1. Organizations リストビュー

Organizations ページには、インストールの既存の組織が表示されます。ここから、特定の組織を検索したり、組織のリストをフィルタリングしたり、リストの並べ替え順序を変更したりできます。

手順

  1. ナビゲーションパネルから、Access ManagementOrganizations を選択します。
  2. Search バーに、検索する組織の適切なキーワードを入力し、矢印アイコンをクリックします。
  3. メニューバーから、Name の矢印を使用して並べ替えの設定を切り替えることで、組織のリストを並べ替えることができます。
  4. Sort リストから、NameCreated、または Last modified を選択して、リストを並べ替えることもできます。
  5. Organizations ページで組織 Name をクリックすると、組織の詳細を表示できます。

4.1.2. 組織の作成

Ansible Automation Platform は、デフォルトの組織を自動的に作成します。Self-Support レベルのライセンスをお使いの場合は、デフォルトの組織しか使用できないため、デフォルトの組織は削除できません。

手順

  1. ナビゲーションパネルから、Access ManagementOrganizations を選択します。
  2. Create organization をクリックします。
  3. 組織の 名前 を入力し、説明 を入力します。

    注記

    プラットフォーム上で Automation Controller が有効になっている場合は、ステップ 4 に進みます。そうでない場合は、ステップ 6 に進みます。

  4. Execution environment の名前を選択するか、この組織のメンバーが自動化を実行するために使用できる実行環境を検索します。
  5. この組織を実行する Instance Groups の名前を入力します。
  6. オプション: Galaxy credentials を入力するか、既存の認証情報のリストから検索します。
  7. この組織の Max hosts を選択します。デフォルトは 0 です。この値が 0 の場合、制限がないことを示します。ホストの上限に達したか、上限を超えた組織にホストを追加しようとすると、次のエラーメッセージが表示されます。

    You have already reached the maximum number of 1 hosts allowed for your organization. Contact your System Administrator for assistance.
    Copy to Clipboard Toggle word wrap
  8. Next をクリックします。
  9. 1 つ以上のインスタンスグループを選択した場合は、リスト内でインスタンスグループを上下にドラッグアンドドロップし、Confirm をクリックすることで、順序を管理できます。

    注記

    実行の優先順位は、インスタンスグループがリストされている順序によって決まります。

  10. Next をクリックして、組織の設定を確認します。
  11. Finish をクリックします。

4.1.3. 組織へのアクセス

Organizations リストビューから組織を選択し、UsersAdministrators、または Teams にアクセスを提供するための関連タブを選択することで、組織へのアクセスを管理できます。

4.1.3.1. 組織へのユーザーの割り当て

ユーザーを組織に割り当て、そのユーザーに関連付けられた組織ロールを管理することで、ユーザーにその組織、そして組織内のリソースへのアクセス権を付与できます。

組織の Users タブでは、組織に関連付けられているユーザーのリストと、各ユーザーに直接割り当てられているロールを表示できます。Users タブでユーザーの組織ロールを管理する場合、そのロールが間接的か、チームとの関連付けを通じてか、管理者による直接的なユーザー割り当てを通じてかなど、ユーザーにどのように割り当てられたかを確認することもできます。

注記

ユーザーに「チームメンバー」ロールが割り当てられている場合、これは間接的に割り当てられたロールがあることを示している可能性があります。ユーザーに間接的に割り当てられたロールを確認するには、鉛筆アイコン Edit page をクリックしてロールを表示および管理します。続いて、ページバナーの View indirectly-assigned organization roles というリンクをクリックします。

ユーザーを組織に割り当てるには、そのユーザーがすでに存在している必要があります。詳細は、ユーザーの作成 を参照してください。ユーザーにロールを割り当てるには、そのロールがすでに存在している必要があります。詳細は、ロールの作成 を参照してください。

手順

  1. ナビゲーションパネルから、Access ManagementOrganizations を選択します。
  2. Organizations リストビューから、ユーザーを追加する組織を選択します。
  3. Users タブをクリックし、Assign Users をクリックしてユーザーを追加します。
  4. 名前の横にあるチェックボックスをクリックして、リストから 1 人以上のユーザーを選択し、メンバーとして追加します。
  5. Next をクリックします。
  6. 選択したユーザーに付与するロールを選択します。下にスクロールして、ロールの完全なリストを表示します。

    注記

    プロジェクトや認証情報などのリソースは、Automation Execution (Automation Controller) と Automation Decisions (Event-Driven Ansible) の両方に関連付けることができるため、正しいコンポーネントコンテキスト内で目的のロールを選択していることを確認してください。

  7. Next をクリックして、ロールの設定を確認します。
  8. Finish をクリックすると、選択したユーザーにロールが適用され、メンバーとして追加されます。Add roles ダイアログに、各ユーザーに割り当てられた更新されたロールが表示されます。

    注記

    組織に関連付けられたロールを持つユーザーは、組織から削除されると、そのロールを失います。

  9. 特定のユーザーを組織から削除するには、ユーザーの横にある More Actions リストから Remove user を選択します。これにより確認ダイアログが起動し、削除を確定するように求められます。組織からユーザーを削除すると、その特定の組織からユーザーに間接的に割り当てられているすべての組織ロールも削除されることに注意してください。
  10. 組織内のユーザーのロールを管理するには、ユーザーの横にある アイコンをクリックし、Manage roles を選択します。チェックボックスを選択または選択解除することで、ユーザーに直接割り当てられた組織ロールを管理できます。コンポーネント列を再確認して、正しいコンポーネントコンテキストで目的のロールを選択していることを確認します。
ヒント

この画面では、ユーザーがチームの割り当てから継承した間接的に割り当てられたロールを表示することはできますが、管理することはできません。間接的に割り当てられたロールと、そのロールの元のチーム割り当てを表示するには、ページ見出しの下のバナーにある View indirectly-assigned organization roles リンクをクリックします。チームの割り当てを通じてユーザーに間接的に割り当てられたロールを管理するには、そのチームのロールの割り当てを管理する か、そのチームからユーザーを削除します

4.1.3.2. 組織に管理者を割り当てる

組織に管理者を追加すると、この管理者は組織のメンバーシップと設定を管理できるようになります。たとえば、組織内に新しいユーザーやチームを作成したり、組織内のユーザーに権限を付与したりできます。組織に管理者を追加するには、ユーザーがすでに存在している必要があります。

手順

  1. ナビゲーションパネルから、Access ManagementOrganizations を選択します。
  2. Organizations リストビューから、ユーザー、管理者、またはチームを追加する組織を選択します。
  3. Administrators タブをクリックします。
  4. Add administrators をクリックします。
  5. 名前の横にあるチェックボックスをクリックしてリストからユーザーを選択し、そのユーザーにこの組織の管理者ロールを割り当てます。
  6. Add administrators をクリックします。
  7. 組織から特定の管理者を削除するには、管理者名の横にある More actions ⋮ リストから Remove administrator を選択します。これにより確認ダイアログが起動し、削除を確定するように求められます。

    注記

    ユーザーが以前にこの組織のメンバーとして追加されていた場合、そのユーザーは引き続きこの組織のメンバーになります。ただし、管理者の割り当て時に組織に追加された場合は、組織から削除されます。

4.1.3.3. 組織にチームを割り当てる

組織の Teams タブでチームにロールを割り当てることで、組織とその組織内のリソースへのチームアクセスを付与できます。組織に割り当てられたチームに所属するすべてのユーザーは、そのチームの組織ロールの割り当てを継承します。チームにロールを割り当てるには、そのチームが組織内にすでに存在している必要があります。詳細は、チームの作成 を参照してください。チームにロールを割り当てるには、そのロールがすでに存在している必要があります。詳細は、ロールの作成 を参照してください。

手順

  1. ナビゲーションパネルから、Access ManagementOrganizations を選択します。
  2. Organizations リストビューから、チームアクセスを割り当てる組織を選択します。
  3. Teams タブをクリックします。チームが存在しない場合は、Create team をクリックしてチームを作成し、この組織に割り当てます。
  4. Assign roles をクリックします。
  5. 選択したチームに割り当てるロールを選択します。下にスクロールして、ロールの完全なリストを表示します。

    注記

    プロジェクトや認証情報などのリソースは、Automation Execution (Automation Controller) と Automation Decisions (Event-Driven Ansible) の両方に関連付けることができるため、正しいコンポーネントコンテキスト内で目的のロールを選択していることを確認してください。

  6. Next をクリックして、ロールの設定を確認します。
  7. 選択したチームにロールを適用するには、Finish をクリックします。Assign roles ダイアログには、各チームに割り当てられた更新されたロールが表示されます。
  8. Close をクリックします。

    注記

    関連するロールを持つチームは、別の組織に再割り当てされた場合でも、それらのロールを保持します。

  9. 組織内のチームのロールを管理するには、ユーザーの横にある アイコンをクリックし、Manage roles を選択します。
4.1.3.4. 組織の削除

組織を削除するには、組織管理者またはシステム管理者である必要があります。組織を削除すると、その組織、チーム、ユーザー、リソースが Ansible Automation Platform から完全に削除されます。

注記

他のリソースによって使用されている項目を削除しようとすると、削除によって他のリソースに影響が及ぶ可能性があることを警告するメッセージが表示され、削除の確認を求められます。一部の画面には、無効な項目または以前に削除された項目が含まれているため、実行に失敗します。

手順

  1. ナビゲーションパネルから、Access ManagementOrganizations を選択します。
  2. 削除する組織の横にある アイコンをクリックし、Delete organization を選択します。
  3. 確認のチェックボックスを選択し、Delete organizations をクリックして削除を続行します。それ以外の場合は、Cancel をクリックします。

    注記

    削除する各組織の横にあるチェックボックスをオンにし、メニューバーの More actions ⋮ リストから Delete selected organizations を選択すると、複数の組織を削除できます。

4.1.4. 通知機能の使用

プラットフォームで Automation Controller が有効になっている場合は、設定した通知機能の統合を確認し、組織リソース内でその設定を管理できます。

手順

  1. ナビゲーションパネルから、Access ManagementOrganizations を選択します。
  2. Organizations リストビューから、通知を管理する組織を選択します。
  3. Notification タブを選択します。
  4. トグルを使用して、特定の組織で使用する通知を有効または無効にします。詳細は、通知の有効化と無効化 を参照してください。
  5. 通知機能がセットアップされていない場合は、ナビゲーションパネルから Automation ExecutionAdministrationNotifiers を選択します。

関連情報

4.1.5. 実行環境の操作

プラットフォーム上で Automation Controller が有効になっている場合は、セットアップした実行環境を確認し、組織リソース内でその設定を管理できます。

実行環境の詳細は、「自動化実行の使用」ガイドの 実行環境 を参照してください。

手順

  1. ナビゲーションパネルから、Access ManagementOrganizations を選択します。
  2. Organizations リストビューから、実行環境を管理する組織を選択します。
  3. Execution Environments タブを選択します。
  4. 実行環境が利用できない場合は、Create execution environment をクリックして実行環境を作成します。または、ナビゲーションパネルから Automation ExecutionInfrastructureExecution Environments を選択して、実行環境を作成することもできます。
  5. Create execution environment をクリックします。

    注記

    新しい実行環境を作成したら、Access ManagementOrganizations に戻り、実行環境を作成した組織を選択して、そのタブのリストを更新します。

  6. 特定の組織で使用する実行環境を選択します。

4.2. チーム

管理者は、チームを使用して、同じアクセス権を共有する必要のあるユーザーにロールを一括で割り当てることができます。

チームとは、特定のリソースに対してユーザーとロールをグループ化するための、組織の下位区分です。チームは、ユーザーに一括してアクセス権を付与できるようにすることで、組織全体にわたってロールベースのアクセス制御スキームと委譲責任を実装する手段を提供します。たとえば、チーム内の個々のユーザーにアクセス権を付与するのではなく、チーム、そしてチーム内のすべてのユーザーにリソースアクセス権を付与できます。

組織に必要な数のチームを作成できます。組織は複数のチームで構成できますが、チームは 1 つの組織にのみ割り当てることができます。ユーザーにロールを割り当てるのと同じ方法で、各チームにロールを割り当てることができます。また、チームは認証情報の所有権の割り当てを拡張でき、複数のインターフェイスからクリックスルーして同じ認証情報を同じユーザーに割り当てられないようにします。

4.2.1. Teams リストビュー

Teams ページには、インストール用の既存のチームが表示されます。ここから、特定のチームを検索したり、チーム名や組織別にチームのリストをフィルタリングしたり、リストの並べ替え順序を変更したりできます。

手順

  1. ナビゲーションパネルから、Access ManagementTeams を選択します。
  2. Search バーに、検索するチームの適切なキーワードを入力し、矢印アイコンをクリックします。
  3. メニューバーから、NameOrganization の矢印を使用して並べ替えの設定を切り替えることで、チームのリストを並べ替えることができます。
  4. Teams ページでチームの Name をクリックすると、チームの詳細を表示できます。
  5. Organization 列のリンクをクリックすると、組織の詳細を表示できます。

4.2.2. チームの作成

新しいチームを作成し、チームに組織を割り当て、各チームに割り当てられているユーザーと管理者を管理できます。チーム内のユーザーは、チームに割り当てられた権限とロールを継承します。チームにユーザーまたは管理者を割り当てるには、ユーザーがすでに作成されている必要があります。詳細は、チームへのユーザーの割り当て または チームへの管理者の割り当て を参照してください。

手順

  1. ナビゲーションパネルから、Access ManagementTeams を選択します。
  2. Create team をクリックします。
  3. チームの Name を入力し、オプションで Description を入力します。
  4. このチームに関連付ける Organization を選択します。

    注記

    各チームは 1 つの組織にのみ割り当てることができます。

  5. Create team をクリックします。Details ページが開き、チーム情報とアクセス権を確認および編集できます。

4.2.3. チームへのユーザーの割り当て

チームにユーザーを割り当てるには、そのユーザーがすでに作成されている必要があります。詳細は、ユーザーの作成 を参照してください。ユーザーをチームに割り当てると、そのユーザーはメンバーとしてのみ追加されます。Roles タブを使用して、チームのユーザーにリソースへのアクセス権を付与するロールを割り当てます。

チームの新しいユーザーメンバーシップは、プラットフォームレベルで追加する必要があります。

手順

  1. ナビゲーションパネルから、Access ManagementTeams を選択します。
  2. ユーザーを追加するチームを選択します。
  3. Users タブを選択します。
  4. 名前の横にあるチェックボックスをクリックしてリストから 1 人以上のユーザーを選択し、そのユーザーをこのチームのメンバーとして追加します。
  5. Add users をクリックします。

4.2.4. チームからのユーザーの削除

Team リストビューで、ユーザーをチームから削除できます。

手順

  1. ナビゲーションパネルから、Access ManagementTeams を選択します。
  2. ユーザーを削除するチームを選択します。
  3. Users タブを選択します。
  4. チームから削除するユーザーの横にある Remove user アイコンをクリックします。
  5. 削除する各ユーザーの横にあるチェックボックスをオンにし、More actions ⋮ リストから Remove selected users を選択すると、複数のユーザーを削除できます。

    注記

    ユーザーがチーム管理者である場合は、Administrators タブからチームへのメンバーシップを削除できます。

  6. 削除を確認する確認ダイアログが表示されます。削除を確認します。チームからユーザーを削除すると、そのチームのロール割り当てがすべてユーザーから削除されることに注意してください。

4.2.5. チームへの管理者の割り当て

チームに管理者を割り当てることで、その管理者はチームのメンバーシップや設定を管理できるようになります。たとえば、新しいユーザーを作成し、チーム内のユーザーに権限を付与できます。チームに管理者を割り当てるには、管理者がすでに作成されている必要があります。詳細は、ユーザーの作成 を参照してください。

手順

  1. ナビゲーションパネルから、Access ManagementTeams を選択します。
  2. 管理者を追加するチームを選択します。
  3. Administrators タブを選択し、Add administrator(s) をクリックします。
  4. 名前の横にあるチェックボックスをクリックして、リストから 1 人以上のユーザーを選択し、そのユーザーをこのチームの管理者として追加します。
  5. Add administrators をクリックします。

4.2.6. チームにロールを割り当てる

特定のリソースに関連付けられたチームロールを割り当てることで、インベントリー、プロジェクト、ジョブテンプレートなどの特定のリソースへのきめ細かなアクセス権をチームに付与できます。Organizations ビューから組織レベルで権限を設定することもできます。

注記

チームをロールの割り当てを通じて組織に割り当てることはできません。また、Teams ビューからチームに組織ロールを割り当てることもできません。チームを組織に割り当てる詳細な手順については、組織へのチームの割り当て に記載されている手順を参照してください。

手順

  1. ナビゲーションパネルから、Access ManagementTeams を選択します。
  2. ロールを追加するチームの Name を選択します。
  3. Roles タブを選択し、Add roles をクリックします。

    注記

    プロジェクトや認証情報などのリソースは、Automation Execution (Automation Controller) と Automation Decisions (Event-Driven Ansible) の両方に関連付けることができるため、正しいコンポーネントコンテキスト内で目的のロールを選択していることを確認してください。

  4. Resource type を選択し、Next をクリックします。
  5. チームにロールベースのアクセス権を付与するリソースを選択し、Next をクリックします。
  6. リソースに適用するロールを選択し、Next をクリックします。

    ヒント

    この手順で複数のロールを選択する場合は、チームに適切なアクセス権を付与するために、このリソースタイプに対するすべての権限を含む カスタムロールを作成する ことを検討してください。

  7. 設定を確認して、Finish をクリックします。
  8. ロールの割り当てが正常に適用されたかどうかを示す Add roles ダイアログが表示されます。Close をクリックしてダイアログを閉じます。

4.2.7. チームからのロールの削除

ロールは個別に、または一括して削除できます。

手順

  1. ナビゲーションパネルから、Access ManagementTeams を選択します。
  2. ロールを削除するチームの Name を選択します。
  3. Roles タブを選択します。
  4. 単一のロールを削除するには、リソースの横にあるマイナスアイコンをクリックし、表示されるダイアログで削除を確定します。

    注記

    プロジェクトや認証情報などのリソースは、Automation Execution (Automation Controller) と Automation Decisions (Event-Driven Ansible) の両方に関連付けることができるため、正しいコンポーネントコンテキスト内で目的のロールを選択していることを確認してください。

  5. ロールを一括削除するには、削除する各リソースの横にあるチェックボックスをオンにして、メニューバーの More Actions リストから Delete selected roles をクリックし、削除を確認して Delete role をクリックします。

4.2.8. チームの削除

チームを削除するには、チーム権限が必要です。チームを削除すると、ユーザーがそのチームから継承したロールは取り消されます。

手順

  1. ナビゲーションパネルから、Access ManagementTeams を選択します。
  2. 1 つのチームを削除するには、チームの横にあるマイナスアイコン - をクリックし、表示されるダイアログで削除を確定します。
  3. チームを一括削除するには、削除する各チームの横にあるチェックボックスをオンにし、More Actions アイコンをクリックして、Delete team を選択します。

4.3. ユーザー

ユーザーとは、プラットフォームにログインしてタスクを実行できる個人または団体です。ユーザーは、管理者によって直接、またはチームを通じて間接的にロールを割り当てることができる基本単位です。

注記

Ansible Automation Platform は、デフォルトのシステム管理者ユーザーを自動的に作成し、そのユーザーがログインして組織用に Ansible Automation Platform をセットアップできるようにします。このユーザーは削除または変更できません。

User リストを UsernameFirst nameLast name、または Email で並べ替えたり検索したりできます。並べ替えの設定を切り替えるには、ヘッダーの矢印をクリックします。Users ページで、ユーザー名の横に User type および Email が表示されます。

4.3.1. Users リストビュー

Users ページには、インストールの既存のユーザーが表示されます。ここから、特定のユーザーを検索したり、ユーザーのリストをフィルタリングしたり、リストの並べ替え順序を変更したりできます。

アップグレードプロセス中にユーザーアカウントが Ansible Automation Platform 2.6 に移行された場合、そのアカウントも Users リストビューに表示されます。アカウントを編集することで、これらのユーザーに管理者権限があるかどうかを確認できます。手順は、ユーザーの編集 を参照してください。

手順

  1. ナビゲーションパネルから、Access ManagementUsers を選択します。
  2. Search バーに、検索するユーザーの適切なキーワードを入力し、矢印アイコンをクリックします。
  3. メニューバーから、UsernameEmailFirst nameLast name、または Last login の矢印を使用して並べ替えの設定を切り替えることで、ユーザーのリストを並べ替えることができます。
  4. Users リストビューから Username を選択すると、ユーザーの詳細を表示できます。

4.3.2. ユーザーの作成

Ansible Automation Platform には 3 種類のユーザーがいます。

標準ユーザー
標準ユーザーには、適切なロールや権限が付与されているリソース (インベントリー、プロジェクト、およびジョブテンプレートなど) に限定される読み取りおよび書き込みアクセスがあります。他の User type が指定されていない場合、標準ユーザーがデフォルトのユーザータイプになります。
Ansible Automation Platform 管理者
管理者 (スーパーユーザーとも呼ばれる) は、インストール全体に対する読み取りおよび書き込み権限をすべて持つ、完全なシステム管理権限を持っています。管理者は通常、日常業務のあらゆる側面を管理し、業務をさまざまなユーザーに委任します。
Ansible Automation Platform Auditor
Auditor は、環境内のすべてのオブジェクトに対して読み取り専用権限を持ちます。

手順

  1. ナビゲーションパネルから、Access ManagementUsers を選択します。
  2. Create user をクリックします。
  3. Create user ページのフィールドに新しいユーザーの詳細を入力します。アスタリスク (*) の付いたフィールドは必須です。
  4. User type が指定されていない場合は、標準ユーザーがデフォルトになります。ユーザーを管理者または監査人として定義するには、ドロップダウンメニューから User type を選択します。

    注記

    自分のパスワードを変更する場合は、変更を有効にするためにログアウトして再度ログインしてください。

  5. このユーザーに割り当てる Organization を選択します。新しい組織の作成については、組織の作成 を参照してください。
  6. Create user をクリックします。

    ユーザーが正常に作成されると、User の詳細画面が開きます。ここから、ユーザーのチーム、ロール、トークン、その他のメンバーシップの詳細を確認および変更できます。

注記

ユーザーが新しく作成されていない場合、詳細画面にはユーザーの最後のログインアクティビティーが表示されます。

次のステップ

自分自身としてログインし、ユーザープロファイルの詳細を表示すると、Tokens タブを選択して、ユーザープロファイルからトークンを管理できます。詳細は、トークンの追加 を参照してください。

4.3.3. ユーザーの編集

ユーザーアカウントを作成した後で、そのプロパティーを変更できます。

ユーザーにサービスレベルの監査者権限があるかどうかを確認するには、API を参照する必要があります。

注記

2.6 にアップグレードすると、以前に Automation Controller 管理者に指定されていたユーザーは、Users list viewUser type 列でプラットフォーム管理者としてラベル付けされます。Automation Hub 管理者は、User Type 列で Normal と表示されます。

手順

  1. ナビゲーションパネルから、Access ManagementUsers を選択します。
  2. 編集したいユーザーの横にある 鉛筆 Edit page アイコンをクリックし、Edit user を選択します。
  3. ユーザーの Edit ページが表示されます。このページで、PasswordEmailUser typeOrganization などのユーザーの詳細を変更できます。
  4. 変更が完了したら、Save user をクリックします。

4.3.4. ユーザーの削除

ユーザーを削除するには、標準ユーザーまたはシステム管理者の権限が必要です。ユーザーアカウントを削除すると、そのユーザーの名前とメールアドレスが Ansible Automation Platform から完全に削除されます。

手順

  1. ナビゲーションパネルから、Access ManagementUsers を選択します。
  2. 1 人のユーザーを削除するには、削除するユーザーの横にある More Actions アイコンを選択し、Delete user を選択します。
  3. ユーザーを一括削除するには、削除する各ユーザーの横にあるチェックボックスをオンにし、More Actions リストから Delete users をクリックします。

4.3.5. ユーザーへのロールの割り当て

ユーザーにロールを割り当てることで、インベントリー、プロジェクト、ジョブテンプレートなどの特定のリソースへのきめ細かなアクセス権をユーザーに付与できます。

管理者によってユーザーに直接割り当てられたロールは、ユーザーの Roles タブで表示および管理できます。

ページバナーの View indirectly assigned roles リンクで、ユーザーがチームの割り当てから継承したロールを表示できます。間接的に割り当てられたロールを直接管理することはできません。間接的に割り当てられたロールを管理するには、チームのロールの割り当てを編集する か、チームからユーザーを削除します

注記

ロールの割り当てを通じてユーザーを組織に割り当てることはできません。また、この画面からユーザーに組織ロールを割り当てることもできません。ユーザーを組織に割り当てる詳細な手順については、組織へのユーザーの追加 に記載されている手順を参照してください。

ロールには、関連付けられている Ansible Automation Platform コンポーネントと機能のラベルが付けられます。これらのコンポーネントは、Ansible Automation Platform サービスおよびユーザーインターフェイスのサイドナビゲーション構造と一致します。コンポーネントラベルは次のように理解できます。

  • Automation Execution は、Automation Controller を指します
  • Automation Decisions は、Event-Driven Ansible を指します
  • Automation Content は、Automation Hub を指します

ロールを割り当てるときは、プロジェクトや認証情報などのリソースが Automation Execution と Automation Decisions の両方に関連付けることができるため、正しいコンポーネントコンテキストで目的のリソースを選択していることを確認してください。

手順

  1. ナビゲーションパネルから、Access ManagementUsers を選択します。
  2. Users リストビューから、ロールを追加するユーザーをクリックします。
  3. このユーザーに割り当てられているロールのセットを表示するには、Roles タブを選択します。これらは、リソースの読み取り、変更、管理の機能を提供します。
  4. 新しいロールを追加するには、Add roles をクリックします。

    注記

    プロジェクトや認証情報などのリソースは、Automation Execution (Automation Controller) と Automation Decisions (Event-Driven Ansible) の両方に関連付けることができるため、正しいコンポーネントコンテキスト内で目的のロールを選択していることを確認してください。

  5. リソースタイプを選択し、Next をクリックします。
  6. ロールベースのアクセスを許可するリソースを選択し、Next をクリックします。
  7. リソースに適用するロールを選択し、Next をクリックします。

    ヒント

    複数のロールを選択する場合は、ユーザーに適切なレベルのアクセス権を付与できるように、このリソースタイプのすべての権限を含む カスタムロールを作成する ことを検討してください。

  8. 設定を確認して、Finish をクリックします。ロールの割り当てが正常に適用されたかどうかを示す Add roles ダイアログが表示されます。Close をクリックしてダイアログを閉じます。

4.3.6. ユーザーからのロールの削除

Roles タブでユーザー情報を編集することで、ユーザーのロールを削除できます。

手順

  1. ナビゲーションパネルから、Access ManagementUsers を選択します。
  2. ロールアクセスを削除するユーザー名を選択します。
  3. Roles タブを選択します。

    注記

    プロジェクトや認証情報などのリソースは、Automation Execution (Automation Controller) と Automation Decisions (Event-Driven Ansible) の両方に関連付けることができるため、正しいコンポーネントコンテキスト内で目的のロールを選択していることを確認してください。

  4. 単一のロールを削除するには、ロールの横にある - アイコンをクリックし、表示されるダイアログで削除を確定します。
  5. 複数のロールを削除するには、削除する各ロールの横にあるチェックボックスをオンにし、メニューバーの More actions ⋮ リストから Remove selected roles をクリックします。表示されるダイアログで、選択したロールの削除を確認し、Remove role をクリックします。

4.4. リソース

Ansible Automation Platform リソースへのユーザーアクセスと、それらのリソースでユーザーが実行できる操作を管理できます。ユーザーには、管理者によって直接割り当てられたロール、またはチームの割り当てから継承されたロールを通じて、アクセス権が付与されます。Ansible Automation Platform リソースは、設定中の機能によって異なります。たとえば、リソースは、自動化実行用のジョブテンプレートやプロジェクト、または自動化決定用の決定環境やルールブックのアクティベーションなどになります。

4.4.1. リソースへのチームアクセス権の提供

チームメンバーシップに基づいて、ユーザーにアクセス権を付与できます。ユーザーをチームのメンバーとして追加すると、そのチームに定義されているロールとリソースへのアクセス権が継承されます。

注記

Automation ContentRemote Registries リソースへの直接チームアクセス権を付与することはできません。

手順

  1. ナビゲーションパネルから、チームにアクセス権を許可するリソースの名前をクリックします。たとえば、Automation ExecutionTemplates などです。
  2. 詳細ページで、Team Access タブを選択します。
  3. Assign Teams をクリックします。
  4. チームの横にあるチェックボックスをクリックして、選択したリソースへのアクセス権をそのチームに割り当て、Next をクリックします。
  5. 選択したリソースのチームに適用するロールを選択し、Next をクリックします。
  6. 設定を確認して、Finish をクリックします。ロールの割り当てが正常に適用されたかどうかを示す Assign Teams ダイアログが表示されます。
  7. チームの横にある Remove team アイコンを選択すると、チームのリソースアクセス権を削除できます。これにより確認ダイアログが起動し、削除を確定するように求められます。

4.4.2. リソースへの直接ユーザーアクセスの提供

ユーザーにリソースへのアクセスを直接付与したり、付与した後でそのアクセスを編集したりできます。

注記

Automation ContentRemote Registries リソースへの直接ユーザーアクセス権を付与することはできません。

手順

  1. ナビゲーションパネルから、チームにアクセス権を許可するリソースを選択します。たとえば、Automation ExecutionTemplates などです。
  2. User access タブを選択します。
  3. Assign users をクリックします。
  4. ユーザーの横にあるチェックボックスをクリックして、そのユーザーを選択したリソースに割り当て、Next をクリックします。
  5. 選択したリソースのユーザーに適用するロールを選択し、Next をクリックします。
  6. 設定を確認して、Finish をクリックします。ロールの割り当てが正常に適用されたかどうかを示す Assign Roles ダイアログが表示されます。
  7. User Access タブで、ユーザー名の横にある鉛筆アイコン Edit page をクリックし、直接割り当てられたロールを追加または削除することで、そのユーザーのリソースへのアクセス権を編集できます。
  8. ユーザーの横にある Remove role アイコンを選択すると、ユーザーのリソースアクセス権を削除できます。これにより確認ダイアログが起動し、削除を確定するように求められます。

第5章 ロール

ロールとは、特定の Red Hat Ansible Automation Platform リソースに対する権限のグループです。これらの権限は、プロジェクト、インベントリー、認証情報、ジョブテンプレートなどのリソースの表示、変更、使用、実行、削除などのアクションを管理します。チームまたはユーザーにロールを割り当てると、プラットフォーム内で定義されたリソースを管理するためのアクセス権が付与されます。

ロールはリソースに対して定義され、リソースへのすべてのアクセスはロールを通じて処理されます。このように使用すると、ロールは再配布可能な単位となり、リソース間または他のユーザーと動作を共有できるようになります。

管理者は、デフォルトの定義済みロールを使用することも、組織のニーズに基づいてロールを作成することもできます。

5.1. ロールの表示

Access Management メニューから、各コンポーネントリソースに割り当てられたロールを表示できます。

ロールには、関連付けられている Ansible Automation Platform コンポーネントと機能のラベルが付けられます。これらのコンポーネントは、Ansible Automation Platform サービスおよびユーザーインターフェイスのサイドナビゲーション構造と一致します。コンポーネントラベルは次のように理解できます。

  • Automation Execution は、Automation Controller を指します
  • Automation Decisions は、Event-Driven Ansible を指します
  • Automation Content は、Automation Hub を指します

組織レベルで作成されたロールは、Automation Controller (Automation Execution) と Event-Driven Ansible (Automation Decisions) からの権限をグループ化するため、複数のコンポーネントに関連付けることができます。組織ロールのみが複数のコンポーネントにまたがることができます。

Automation Content の同様のロールエンティティーは「システム」ロールであり、Automation Content 内の指定されたすべてのリソースタイプへのアクセス権を付与します。

手順

  1. ナビゲーションパネルから、Access ManagementRoles を選択します。
  2. テーブルヘッダーから、NameDescriptionComponentResource TypeRole Creation の矢印を使用するか、Sort リストで並べ替えを選択して、ロールのリストの並べ替えができます。
  3. フィルターリストから NameEditable、または Component を選択し、矢印をクリックすると、ロールのリストをフィルターできます。

5.2. ロールの作成

Ansible Automation Platform サービスは、標準的な自動化タスクに十分な権限を持つ一連の定義済みロールを提供します。リソースへのアクセス権を定義するカスタムロールを設定することもできます。

リソースタイプのデフォルトの定義済みロールに、チームまたはユーザーにアクセス権を付与するために必要なすべての権限が含まれていない場合は、組織にカスタムロールを作成できます。ロールをカスタマイズすると、必要なすべてのアクセスをカバーするためにチームまたはユーザーに複数のロールを割り当てるのではなく、組織または特定のリソースのリソースタイプごとに 1 つのロールを作成できるため、複雑さが軽減されます。

手順

  1. ナビゲーションパネルから、Access ManagementRoles を選択します。
  2. Create role をクリックします。
  3. ロールの 名前 と簡単な 説明 を入力します。名前と説明は、ロールを割り当てるときにコンテキストを提供するために、ロールの目的の用途と権限に応じて一意かつ具体的なものにする必要があります。
  4. Resource Type を選択します。プロジェクトや認証情報などのリソースは Automation Execution と Automation Decisions の両方に関連付けることができるため、正しいコンポーネントコンテキストで目的のリソースを選択していることを確認してください。
  5. ドロップダウンメニューから、このロールに割り当てる Permissions を選択します。
  6. 新しいロールを作成するには、Create role をクリックします。

5.3. ロールの編集

デフォルトのロールはプラットフォームで事前定義されており、変更できません。ただし、Roles リストビューからカスタムロールを変更することはできます。Roles リストビューの Role Creation 列には、ロールが変更できないデフォルトロールであるか、変更可能なカスタムロールであるかが示されます。

手順

  1. ナビゲーションパネルから、Access ManagementRoles を選択します。
  2. 必要なロールの横にある Edit role アイコン Edit をクリックし、必要に応じてロール設定を変更します。
  3. 変更を保存するには、Save role をクリックします。

5.4. ロールの削除

デフォルトのロールは削除できませんが、Roles リストビューからカスタムロールを削除することはできます。

手順

  1. ナビゲーションパネルから、Access ManagementRoles を選択します。
  2. 必要なロールの横にある More Actions アイコン をクリックし、Delete role を選択します。
  3. ロールを一括削除するには、Roles リストビューから削除するロールを選択し、More Actions アイコン をクリックして、Delete roles を選択します。

第6章 Ansible Automation Platform の設定

次の項目を使用して、Settings メニューから Ansible Automation Platform を設定できます。

  • サブスクリプション
  • プラットフォームゲートウェイ
  • ユーザー設定
  • トラブルシューティング
注記

Settings メニューから選択できるその他の項目は、自動化実行に特有のものです。詳細は、自動化実行の設定 ガイドを参照してください。

6.1. サブスクリプションの設定

Subscription メニューを使用して、コンプライアンス、ホスト関連の統計、有効期限など、サブスクリプションの詳細を表示したり、新しいサブスクリプションを適用したりできます。

Ansible のサブスクリプションには、console.redhat.com から作成したサービスアカウントが必要です。サービスアカウントを作成 し、クライアント ID とクライアントシークレットを使用してサブスクリプションを有効にする必要があります。

注記

クライアント ID とクライアントシークレットを入力してもサブスクリプションが見つからない場合は、サービスアカウントに正しい権限が設定されていない可能性があります。サービスアカウントの詳細とトラブルシューティングのガイダンスは、Configure Ansible Automation Platform to authenticate through service account credentials を参照してください。

Red Hat Satellite の場合は、以下のフィールドに Satellite ユーザー名と Satellite パスワードを入力します。

手順

  1. ナビゲーションパネルから SettingsSubscription を選択します。Subscription ページが表示されます。
  2. Edit subscription をクリックします。
  3. サービスアカウントまたは Satellite の認証情報を入力します。または、Welcome ページで現在のサブスクリプションマニフェストを添付します。
  4. Next をクリックし、ライセンス契約条件に同意します。
  5. Next をクリックし、サブスクリプション設定を確認します。
  6. Finish をクリックして設定を完了します。

6.2. プラットフォームゲートウェイ

プラットフォームゲートウェイは、Ansible Automation Platform の認証と認可を処理するサービスです。プラットフォームへの一元的な入り口を提供し、プラットフォームのユーザーインターフェイスとして機能します。

SettingsPlatform gateway メニューから、Platform gatewaySecuritySessionPlatform SecurityCustom Login、および Other 設定を指定できます。

手順

  1. ナビゲーションパネルから、SettingsPlatform gateway を選択します。
  2. Platform gateway settings ページが表示されます。
  3. オプションを設定するには、Edit platform gateway settings をクリックします。
  4. 次のプラットフォームゲートウェイオプションを設定できます。

    • Platform gateway proxy url: プラットフォームゲートウェイプロキシーレイヤーへの URL。
    • Platform gateway proxy url ignore cert: プラットフォームゲートウェイプロキシーレイヤーへの証明書を無視します。
  5. Save platform gateway settings をクリックして変更を保存するか、利用可能な他のプラットフォームオプションの設定に進みます。

6.2.1. プラットフォームセキュリティーの設定

Platform gateway settings ページから、プラットフォームセキュリティーの設定を指定できます。

手順

  1. ナビゲーションパネルから、SettingsPlatform gateway を選択します。
  2. Platform gateway settings ページが表示されます。
  3. オプションを設定するには、Edit をクリックします。
  4. 次の Security 設定を設定できます。

    • システム管理者がセキュアでないユーザーパスワードを設定できるようにする: スーパーユーザーアカウントがローカルユーザーアカウントを編集する際にセキュアでないパスワードを保存できるかどうか。
    • Gateway basic auth enabled: プラットフォームゲートウェイ API への Basic 認証を有効にします。

      これをオフにすると、すべての Basic 認証 (ローカルユーザー) が阻止されるため、お客様はオフにする前に代替認証メカニズムが正しく設定されていることを確認する必要があります。

      ローカル認証のみが設定された状態でこれをオフにすると、UI へのすべてのアクセスも阻止されます。

      Gateway token name: プロキシーからバックエンドサービスにプッシュするヘッダー名。

    • Gateway access token expiration: アクセストークンの有効期間。
    • Jwt private key: バックエンドサービスに送信される JWT トークンを暗号化するために使用する秘密鍵。

      これは RSA 秘密鍵であり、インストール時に自動的に生成されます。

      注記

      鍵をローテーションすると、JWT 鍵がリセットされるまで現在のセッションが失敗するため、注意してください。

    • (読み取り専用) Jwt public key: バックエンドサービスに送信される JWT トークンを暗号化するために使用する秘密鍵。

      これは RSA 秘密鍵であり、インストール時に自動的に生成されます。

      注記

      他のサービスがこの鍵をどのように使用するかは、そのサービスのドキュメントを参照してください。

      警告

      この名前が変更された場合は、バックエンドを更新して補正する必要があります。

      Social auth username is full email: この設定を有効にすると、ソーシャル認証でユーザー名としてフルネームではなく完全なメールアドレスを使用するようにアラートが出されます。

    • Csrf trusted origins: サービスがリバースプロキシーまたはロードバランサーの背後にある場合、この設定を使用して、サービスが Origin ヘッダーの値を信頼すべき schema://addresses を設定します。
  5. Save changes をクリックして変更を保存するか、利用可能な他のプラットフォームオプションの設定に進みます。

6.2.2. プラットフォームセッションの設定

Platform gateway settings ページから、プラットフォームセッションの設定を指定できます。

手順

  1. ナビゲーションパネルから、SettingsPlatform gateway を選択します。
  2. Platform gateway settings ページが表示されます。
  3. オプションを設定するには、Edit platform gateway settings をクリックします。
  4. Session cookie age フィールドに、セッションの有効期限が切れるまでの時間を秒単位で入力します。
  5. Save platform gateway settings をクリックして変更を保存するか、利用可能な他のプラットフォームオプションの設定に進みます。

6.2.3. プラットフォームのパスワードセキュリティーポリシーの設定

Platform gateway settings ページから、パスワードセキュリティーポリシーを設定できます。

手順

  1. ナビゲーションパネルから、SettingsPlatform gateway を選択します。
  2. Platform gateway settings ページが表示されます。
  3. オプションを設定するには、Edit platform gateway settings をクリックします。
  4. 次の Password Security オプションを設定できます。

    • Password minimum uppercase letters: ローカルパスワードに必要な大文字の数。
    • Password minimum length: ローカルパスワードの最小長。
    • Password minimum numerical digits: ローカルパスワードに必要な数字の数。
    • Password minimum special characters: ローカルパスワードに必要な特殊文字の数。
  5. Save platform gateway settings をクリックして変更を保存するか、利用可能な他のプラットフォームオプションの設定に進みます。

6.2.4. その他のプラットフォームオプションの設定

Platform gateway settings ページから、その他のプラットフォームオプションを設定できます。

手順

  1. ナビゲーションパネルから、SettingsPlatform gateway を選択します。
  2. Platform gateway settings ページが表示されます。
  3. Edit platform gateway settings をクリックします。
  4. 以下の 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 証明書を検証するかどうかを指定します。
    • Resource client request timeout: リソースクライアントが接続を形成した後に要求をドロップするまでのタイムアウト (秒単位)。
    • Request timeout: プロキシーがタイムアウトを報告して 504 を生成するまでの時間を秒単位で指定します。
    • Manage organization auth: 組織管理者がユーザーとチームを作成および管理する特権を持つかどうかを制御します。LDAP または SAML インテグレーションを使用している場合は、この機能を無効化することを推奨します。

      重要

      MANAGE_ORGANIZATION_AUTH 設定は、Ansible Automation Platform 2.4 から 2.6 へのアップグレード中にプラットフォームゲートウェイに移動されます。ただし、移行後、プラットフォームゲートウェイと Automation Controller の間で値は自動的に同期されません。管理上の問題を避けるため、特に自動化ワークフローを Automation Controller に対して直接実行する場合は、両方の環境で MANAGE_ORGANIZATION_AUTH の値を一致させます。

    • Stream idle timeout:Ansible Automation Platform Lightspeed チャットボットなどのアイドルストリーミング接続のタイムアウト (秒単位)。この期間内にデータが送信されない場合、ストリームは閉じられます。
    • Max stream duration: Ansible Automation Platform Lightspeed チャットボットなどのストリーミング接続の合計最大期間 (秒単位)。この期間を過ぎると、アクティビティーに関係なくストリームは閉じられます。
    • Aap deployment type: この AAP インスタンスのデプロイメントタイプ。
  5. Save platform gateway settings をクリックして変更を保存するか、利用可能な他のプラットフォームオプションの設定に進みます。

6.2.5. 外部ユーザーの OAuth2 トークン作成の有効化

外部ユーザーが OAuth2 トークンを作成できるようにするには、Ansible Automation Platform 環境で適切な設定を変更します。この設定を有効にしたら、補完的なセキュリティー対策を必ず実装してください。

手順

  1. ナビゲーションパネルから、SettingsPlatform gateway に移動します。
  2. Edit platform gateway settings をクリックします。
  3. Allow external users to create OAuth2 tokens 設定を Enabled に変更します。
  4. Save platform gateway settings をクリックします。

次のステップ

外部ユーザー OAuth2 トークン用のセキュリティー対策の実装 の説明に従って、推奨されるセキュリティー対策を実装します。

6.2.6. = その他のオプションの設定

プラットフォームゲートウェイの設定ページから、Insights、サブスクリプション、通知のオプションを設定できます。

手順

  1. ナビゲーションパネルから、SettingsPlatform gateway を選択します。
  2. Platform gateway settings ページが表示されます。
  3. オプションを設定するには、Edit platform gateway settings をクリックします。
  4. 以下のオプションを設定できます。

    • Insights tracking state: サービスを有効にして自動化のデータを収集して Automation Analytics に送信します。
    • Red Hat console URL: この設定は、Automation Analytics のデータ収集用のアップロード URL を設定するために使用されます。
    • Red Hat password: このパスワードは、Automation Analytics にデータを送信するために使用されます。
    • Subscriptions password: このパスワードは、サブスクリプションおよびコンテンツ情報を取得するために使用されます。
    • Automation analytics gather interval: リストページに許可されるアイテムの最大数。
    • Notification rss feed url: ユーザー通知を読み込む RSS フィードの URL。
    • Notifications rss feed enabled: ユーザー通知を有効または無効化します。

6.3. ユーザー設定

User preferences ページを使用して、プラットフォームエクスペリエンスをカスタマイズできます。このメニューを使用して、テーマ、レイアウトオプション、書式設定を制御します。

注記

ユーザー設定はブラウザーにローカルに保存されます。これは、ユーザーとユーザーのマシンに固有のものとなります。

手順

  1. ナビゲーションパネルから、SettingsUser Preferences を選択します。
  2. User Preferences page が表示されます。
  3. Edit をクリックします。
  4. 以下のオプションを設定できます。

    • Refresh interval: ページの更新間隔を選択します。

      これにより、選択した間隔でページのデータが更新されます。

      更新はバックグラウンドで行われ、ページは再ロードされません。

    • Color theme: 以下から選択します。

      • Dark theme
      • Light theme
      • System default
    • Table layout: 以下から選択します。

      • Comfortable
      • Compact
    • Form columns: 以下から選択します。

      • Multiple columns of inputs
      • Single column of inputs
    • Date format: 以下から選択します。

      • Shows dates Relative to the current time
      • Shows dates as Date and time
    • Preferred data format: データを編集および表示する際のデフォルトの形式を設定します。
  5. Save user preferences をクリックします。

法律上の通知

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat