Private Automation Hub でのユーザーアクセスの管理

Red Hat Ansible Automation Platform 2.4

Private Automation Hub のユーザーアクセスを定義する

Red Hat Customer Content Services

概要

このガイドでは、Automation Hub ユーザーのグループを作成して適切なシステムパーミッションを割り当てるか、認証前のユーザーに表示アクセスのみを許可する手順を説明します。

はじめに

Automation Hub でユーザーアクセスを設定し、組織内のグループに適切なレベルのシステムパーミッションを指定するか、認証前のユーザーに表示アクセスだけを割り当てます。

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

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。

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

技術的な内容に関するフィードバックをお寄せいただきありがとうございます。皆様のご意見をお待ちしています。コメントの追加、Insights の提供、誤字の修正、および質問を行う必要がある場合は、ドキュメントで直接行うこともできます。

注記

Red Hat アカウントがあり、カスタマーポータルにログインしている必要があります。

カスタマーポータルからドキュメントのフィードバックを送信するには、以下の手順を実施します。

  1. Multi-page HTML 形式を選択します。
  2. ドキュメントの右上にある Feedback ボタンをクリックします。
  3. フィードバックを提供するテキストのセクションを強調表示します。
  4. 強調表示されたテキストの横にある Add Feedback ダイアログをクリックします。
  5. ページの右側のテキストボックスにフィードバックを入力し、Submit をクリックします。

フィードバックを送信すると、自動的に問題の追跡が作成されます。Submit をクリックすると表示されるリンクを開き、問題の監視を開始するか、さらにコメントを追加します。

第1章 ローカル Automation Hub のユーザーアクセスの設定

1.1. ユーザーアクセスについて

特定のパーミッションを持つユーザーのグループを作成して、Automation Hub のコンテンツおよび機能へのユーザーアクセスを管理できます。

1.1.1. ユーザーアクセスの実装方法

ユーザーアクセスは、特定のユーザーに個別にパーミッションを割り当てるのではなく、システムオブジェクト (ユーザー、グループ、namespace) へのパーミッションの管理に基づいています。

作成するグループにパーミッションを割り当てます。その後、これらのグループにユーザーを割り当てることができます。これは、グループの各ユーザーにそのグループに割り当てられたパーミッションが割り当てられていることを意味します。

Automation Hub で作成されるグループは、内部コレクションの管理、ユーザーアクセスの設定、リポジトリー管理を担当するシステム管理者から、内部で開発されたコンテンツを整理して Automation Hub にアップロードするためのアクセス権を持つグループまで、さまざまです。

1.1.2. デフォルトのユーザーアクセス

Automation hub をインストールすると、デフォルトの admin ユーザーが Admin グループに作成されます。このグループには、システム内のすべてのパーミッションが割り当てられます。

1.1.3. スタートガイド

インストール時に設定した admin ユーザーの認証情報を使用して、ローカルの Automation Hub にログインします。

以下のセクションでは、Automation Hub にアクセスするユーザーを編成し、目標を達成するために必要なアクセス許可をユーザーに提供することに関連するワークフローについて説明します。利用可能なすべてのパーミッションの完全な一覧および説明は、パーミッション参照テーブルを参照してください。

1.2. 新規グループの作成

ユーザーがシステム内の指定された機能にアクセスできるパーミッションを作成し、Automation Hub のグループに割り当てることができます。デフォルトでは、すべてのパーミッションが割り当てられており、Automation Hub のインストール時に作成された認証情報を使用して最初のログインで使用できる admins グループが Automation Hub にあります。

前提条件

  • groups パーミッションがあり、グループ設定を作成および管理し、Automation Hub でアクセスすることができる。

手順

  1. ローカルの Automation Hub にログインします。
  2. User AccessGroups に移動します。
  3. Create をクリックします。
  4. Name を指定して Create をクリックします。

グループの編集ページで、パーミッションを割り当てたり、ユーザーを追加したりできるようになりました。

1.3. グループへのパーミッションの割り当て

ユーザーがシステム内の特定の機能にアクセスできるパーミッションを Automation Hub のグループに割り当てることができます。デフォルトでは、新規グループにパーミッションが割り当てられません。最初のグループ作成時にパーミッションを追加するか、既存のグループを編集してパーミッションを追加または削除できます。

前提条件

  • Change group パーミッションがあり、Automation Hub でグループパーミッションを編集できる。

手順

  1. ローカルの Automation Hub にログインします。
  2. User AccessRoles に移動します。
  3. Add roles をクリックします。
  4. 名前フィールドをクリックし、ロール名を入力します。
  5. 説明フィールドをクリックして説明を入力します。
  6. Permissions セクションを完了します。
  7. パーミッションタイプのフィールドをクリックし、一覧に表示されるパーミッションを選択します。
  8. パーミッションの割り当てが完了したら、Save をクリックします。
  9. User AccessGroups に移動します。
  10. グループ名をクリックします。
  11. Access タブをクリックします。
  12. Add roles をクリックします。
  13. 手順 8 で作成したロールを選択します。
  14. Next をクリックして、選択したロールを確認します。
  15. Add をクリックしてロールの追加を完了します。

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

1.4. 新規ユーザーの作成

Automation Hub でユーザーを作成し、割り当てられたパーミッションのレベルによって関連付けられたシステム内の機能にアクセスできるグループにユーザーを追加できます。

前提条件

  • user パーミッションを持ち、Automation Hub でユーザーを作成できる。

手順

  1. ローカルの Automation Hub にログインします。
  2. User Access に移動します。
  3. Create user をクリックします。
  4. 各フィールドに情報を入力します。Username および Password が必要です。
  5. [オプション] Groups フィールドをクリックしてグループの一覧から選択し、ユーザーをグループに割り当てます。
  6. Save をクリックします。

新しいユーザーが Users ページのリストに表示されます。

1.5. スーパーユーザーの作成

Automation Hub でスーパーユーザーを作成し、チーム全体で管理作業を分散できます。

前提条件

  • Super user パーミッションがあり、Automation Hub でユーザーを作成できる。

手順

  1. ローカルの Automation Hub にログインします。
  2. User Access に移動します。
  3. Users をクリックします。
  4. スーパーユーザーにするユーザーを選択して、User details ページを表示します。
  5. User type で Super User を選択します。

これで、ユーザーに Super user のパーミッションが付与されます。

1.6. グループへのユーザーの追加

グループの作成時にユーザーを追加したり、既存のグループにユーザーを手動で追加したりできます。本セクションでは、既存のグループにユーザーを追加する方法を説明します。

前提条件

  • groups パーミッションがあり、グループ設定を作成および管理し、Automation Hub でアクセスすることができる。

手順

  1. Automation Hub にログインします。
  2. User AccessGroups に移動します。
  3. グループ名をクリックします。
  4. Users タブに移動し、Add をクリックします。
  5. 一覧から追加するユーザーを選択し、Add をクリックします。

選択したユーザーをグループに追加しました。これらのユーザーは、グループに割り当てられた Automation Hub を使用するためのパーミッションを持つようになりました。

1.7. コンテンツキュレーターの新規グループの作成

組織内のコンテンツキュレーションをサポートするように設計された Automation Hub で、新しいグループを作成できます。組織は、Automation Hub での公開用に内部で開発されたコレクションに提供します。

このセクションでは、新しいグループを作成し、コンテンツ開発者が namespace を作成してコレクションを Automation Hub にアップロードできるようにするために必要なパーミッションを割り当てます。

前提条件

  • Automation Hub で管理者権限があり、グループを作成している。

手順

  1. ローカルの Automation Hub にログインします。
  2. User AccessGroups に移動し、Create をクリックします。
  3. モーダルのグループの Name として Content Engineering を入力し、Create をクリックします。新しいグループが作成され、Groups ページが表示されます。
  4. Permissions タブで、Edit をクリックします。
  5. Namespaces 配下で、Add NamespaceUpload to Namespace、および Change Namespace のパーミッションを追加します。
  6. Save をクリックします。

    新しいグループは、割り当てたパーミッションで作成されます。その後、グループにユーザーを追加できます。

  7. Groups ページの Users タブをクリックします。
  8. Add をクリックします。
  9. モーダルからユーザーを選択し、Add をクリックします。

まとめ

新しいグループは Automation Hub を使用して、以下を実行できます。

  • namespace を作成します。
  • namespace の詳細およびリソースページを編集します。
  • 内部で開発されたコレクションを namespace にアップロードします。

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

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

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

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

コレクションの namespace

名前空間の追加

namespace へのアップロード

名前空間の変更

名前空間の削除

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

collections

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

コレクションの削除

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

users

ユーザーの表示

ユーザーの削除

ユーザーの追加

ユーザーの変更

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

groups

グループの表示

グループの削除

グループの追加

グループの変更

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

コレクションリモート

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

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

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

containers

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

コンテナーの変更

イメージタグの変更

新規コンテナーの作成

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

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

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

リモートレジストリー

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

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

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

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

タスク管理

タスクの変更

タスクの削除

全タスクの表示

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

1.9. Automation Hub からのユーザーの削除

ユーザーアカウントを削除すると、ユーザーの名前とメールが Automation Hub から完全に削除されます。

前提条件

  • Automation Hub に user パーミッションがある。

手順

  1. Automation Hub にログインします。
  2. User Access に移動します。
  3. Users をクリックして、現在のユーザーの一覧を表示します。
  4. 削除するユーザーの横にある More Actions アイコン をクリックしてから、Delete をクリックします。
  5. 警告メッセージの Delete をクリックして、ユーザーを永続的に削除します。

第2章 Private Automation Hub の表示アクセスのみの有効化

表示アクセスのみを有効にすると、ユーザーがログインなしに Private Automation Hub でコレクションまたは名前空間を表示する権限を付与できます。表示アクセスのみでは、承認されていないユーザーとコンテンツを共有でき、プライベート自動化ハブですべてを編集するパーミッションなしに、ソースコードのみを表示またはダウンロードする機能を制限できます。

Red Hat Ansible Automation Platform インストーラーにあるインベントリーファイルを編集して、Private Automation Hub の表示アクセスのみを有効にします。

  • Ansible Automation Platform の新規インスタンスをインストールする場合は、以下の手順に従って、他のインストール設定と共に automationhub_enable_unauthenticated_collection_access パラメーターおよび automationhub_enable_unauthenticated_collection_download パラメーターを inventory ファイルに追加します。
  • 既存の Ansible Automation Platform インストールを更新して表示アクセスのみを追加する場合は、automationhub_enable_unauthenticated_collection_access パラメーターおよび automationhub_enable_unauthenticated_collection_download パラメーターを inventory ファイルに追加してから、setup.sh スクリプトを実行して更新を適用します。

手順

  1. インストーラーに移動します。

    バンドルのインストーラー
    $ cd ansible-automation-platform-setup-bundle-<latest-version>
    オンラインインストーラー
    $ cd ansible-automation-platform-setup-<latest-version>
  2. テキストエディターで inventory ファイルを開きます。
  3. 以下の例のように、automationhub_enable_unauthenticated_collection_access パラメーターおよび automationhub_enable_unauthenticated_collection_download パラメーターをインベントリーファイルに追加し、両方を True に設定します。

    [all:vars]
    
    automationhub_enable_unauthenticated_collection_access = True 1
    automationhub_enable_unauthenticated_collection_download = True 2
    1
    承認されていないユーザーがコレクションを表示できるようにする
    2
    未設定のユーザーがコレクションをダウンロードできるようにする
  4. setup.sh スクリプトを実行します。インストーラーは、Automation Hub の表示アクセスのみを有効にします。

検証

インストールが完了したら、ログインせずに Automation Hub でコンテンツを表示してみると、Private Automation Hub での表示のみを利用できることが確認できます。

  1. Private Automation Hub に移動します。
  2. ログイン画面で View only mode をクリックします。

ログインせずに、名前空間やコレクションなど、Automation Hub でコンテンツを表示できることを確認します。

法律上の通知

Copyright © 2023 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.