第4章 Ansible Automation Platform Central Authentication へのアイデンティティーブローカーの追加

Ansible Automation Platform Central Authentication は、ソーシャルプロバイダーとプロトコルベースのプロバイダーの両方をサポートします。アイデンティティーブローカーを Central Authentication に追加してレルムのソーシャル認証を有効化でき、ユーザーは Google、Facebook、GitHub などの既存のソーシャルネットワークアカウントを使用してログインできます。

注記

サポート対象のソーシャルネットワークの一覧と、そのネットワークの有効化の詳細は、本セクション を参照してください。

プロトコルベースのプロバイダーは、ユーザーの認証および承認に特定のプロトコルに依存するものです。これにより、特定のプロトコルに準拠するアイデンティティープロバイダーに接続できます。Ansible Automation Platform Central Authentication は、SAML v2.0 プロトコルおよび OpenID Connect v1.0 プロトコルをサポートします。

手順

  1. Ansible Automation Platform Central Authentication に管理ユーザーとしてログインします。
  2. ナビゲーションバーの Configure セクションで、Identity Providers をクリックします。
  3. Add provider というドロップダウンメニューを使用して、アイデンティティープロバイダーを選択し、アイデンティティープロバイダー設定ページに進みます。

以下の表は、アイデンティティープロバイダー設定で使用できるオプションの一覧です。

表4.1 Identity Broker 設定オプション

設定オプション

説明

エイリアス

エイリアスはアイデンティティープロバイダーの一意の ID です。これはアイデンティティープロバイダーを内部で参照するために使用されます。OpenID Connect などのプロトコルには、アイデンティティープロバイダーと通信するためにリダイレクト URI またはコールバック URL が必要です。この場合、エイリアスはリダイレクト URL の構築に使用されます。

有効

プロバイダーのオン/オフを切り替えます。

Hide on Login Page

有効にすると、このプロバイダーは、ログインページにログインオプションとして表示されません。クライアントは、ログインの要求に使用する URL の kc_idp_hint パラメーターを使用して、このプロバイダーの使用を引き続き要求できます。

Account Linking Only

これが有効な場合は、このプロバイダーを使用したユーザーのログインはできず、ログインページのオプションとしては表示されません。既存のアカウントをこのプロバイダーにリンクできます。

Store Tokens

アイデンティティープロバイダーから受け取ったトークンを保存するかどうか。

保存されたトークンの読み取り可能

ユーザーが保存されたアイデンティティープロバイダートークンを取得できるかどうか。これは、broker クライアントレベルのロール read token にも適用されます。

Trust Email

アイデンティティープロバイダーが提供するメールアドレスが信頼されているかどうか。レルムにメール検証が必要な場合、この IDP からログインするユーザーはメールの検証プロセスを行う必要はありません。

GUI Order

ログインページに、利用可能な IDP がどのように表示されているかを並べ替える注文番号。

First Login Flow

初めてこの IDP を使用して Central Authentication にログインするユーザーに対してトリガーされる認証フローを選択します。

Post Login Flow

ユーザーが外部アイデンティティープロバイダーでのログインを終了するとトリガーされる認証フローを選択します。

4.1. Ansible Automation Platform Central Authentication を使用したグループパーミッションの管理

特定のパーミッションをロールにグループ化し、それらのロールをグループに割り当てることで、Ansible Automation Platform でユーザーアクセスを管理できます。Ansible Automation Platform に初めてログインすると、UsersGroups、および Roles が Automation Hub のユーザーアクセスページに表示され、各グループにユーザーアクセスとロールを割り当てることができます。

Automation Hub には、発生する可能性のあるユースケースと互換性のある管理ロールのセットが含まれています。独自の管理ロールのセットを作成するか、User Access ページの Roles セクションにある事前定義済みロールを使用できます。

4.1.1. パーミッションのロールへのグループ化

システム内の機能への特定のユーザーアクセスを持つロールにパーミッションをグループ化できます。

前提条件

  • hubadmin ユーザーとしてログインしている。

手順

  1. ローカルの Automation Hub にログインします。
  2. User Access ドロップダウンメニューに移動します。
  3. Roles をクリックします。
  4. Add roles をクリックします。
  5. Name フィールドにロール名を入力します。
  6. Description フィールドにロールの説明を入力します。
  7. Permissions タイプの横にあるドロップダウンメニューをクリックし、そのロールに適切なパーミッションを選択します。
  8. Save をクリックします。

特定のパーミッションで新しいロールを作成している。これで、このロールをグループに割り当てることができます。

4.1.1.1. グループへのロールの割り当て

Groups メニューと Namespaces メニューの両方から、グループにロールを割り当て、ユーザーがシステムの特定の機能にアクセスできるようにします。Groups メニューからグループに割り当てられたロールにはグローバルスコープがあります。たとえば、ユーザーに namespace 所有者ロールが割り当てられている場合、そのパーミッションはすべての namespace に適用されます。ただし、Namespaces メニューからグループに割り当てられたロールは、オブジェクトの特定のインスタンスにのみユーザーにアクセスを付与します。

前提条件

  • hubadmin ユーザーとしてログインしている。

手順

Groups メニューからのロールの割り当て

  1. ローカルの Automation Hub にログインします。
  2. User Access ドロップダウンメニューに移動します。
  3. Groups をクリックし、グループ名を選択します。
  4. Add roles をクリックします。
  5. 追加するロールの横にあるチェックボックスをクリックします。
  6. Next をクリックして、グループに適用されるロールをプレビューします。
  7. Add をクリックして、選択したロールをグループに適用します。
注記

Back をクリックしてロールメニューに戻るか、Cancel をクリックして前のページに戻ります。

手順

Namespaces メニューからのロールの割り当て

  1. ローカルの Automation Hub にログインします。
  2. Collections ドロップダウンメニューに移動します。
  3. My Namespaces タブをクリックし、名前空間を選択します。
  4. Namespace owners タブをクリックして編集します。

ユーザーは、割り当てられたパーミッションに関連付けられた Automation Hub の機能にアクセスできるようになりました。

4.1.2. Automation Hub のパーミッション

パーミッションは、各グループが特定のオブジェクトに対して実行する一連の定義済みのアクションを提供します。以下のパーミッションに基づいて、グループに必要なアクセスレベルを決定します。

表4.2 パーミッション参照テーブル

オブジェクトパーミッション説明

コレクションの namespace

名前空間の追加

namespace へのアップロード

名前空間の変更

名前空間の削除

これらのパーミッションが割り当てられたグループは、名前空間の作成、コレクションのアップロード、または削除を行うことができます。

collections

Ansible リポジトリーコンテンツの変更

コレクションの削除

このパーミッションが割り当てられたグループは、承認機能を使用してリポジトリー間でコンテンツを移動でき、確定または拒否機能で staging から published または rejected リポジトリーにコンテンツを移動して、コレクションを削除します。

users

ユーザーの表示

ユーザーの削除

ユーザーの追加

ユーザーの変更

これらのパーミッションが割り当てられたグループは、ユーザー設定の管理および Automation Hub へのアクセスが可能です。

groups

グループの表示

グループの削除

グループの追加

グループの変更

これらのパーミッションが割り当てられたグループは、グループ設定の管理および Automation Hub へのアクセスが可能です。

コレクションリモート

コレクションリモートの変更

コレクションリモートの表示

これらの権限を持つグループは、CollectionsRepo Management に移動して、リモートリポジトリーを設定できます。

containers

コンテナーの名前空間パーミッションの変更

コンテナーの変更

イメージタグの変更

新規コンテナーの作成

既存コンテナーへのプッシュ

コンテナーリポジトリーの削除

これらのパーミッションが割り当てられたグループは、Automation Hub でコンテナーリポジトリーを管理できます。

リモートレジストリー

リモートレジストリーの追加

リモートレジストリーの変更

リモートレジストリーの削除

これらのパーミッションが割り当てられたグループは、Automation Hub に追加されたリモートレジストリーを追加、変更、または削除できます。

タスク管理

タスクの変更

タスクの削除

全タスクの表示

これらのパーミッションが割り当てられたグループは、Automation Hub の Task Management に追加されたタスクを管理できます。