3.2. 組織リポジトリー

組織を作成すると、リポジトリーのセットを直接その組織に関連付けることができます。組織リポジトリーは、組織がユーザーのグループを通じて共有リポジトリーをセットアップすることを目的としているという点で、基本的なリポジトリーとは異なります。Red Hat Quay では、ユーザーのグループは、チーム、同じ権限を持つユーザーのセット、または 個々のユーザー のいずれかです。

組織に関するその他の有用な情報を以下に示します。

  • 組織を別の組織内に組み込むことはできません。組織を細分化するには、チームを使用します。
  • 組織にユーザーを直接含めることはできません。まずチームを追加してから、各チームに 1 人以上のユーザーを追加する必要があります。

    注記

    個々のユーザーは、組織内の特定のリポジトリーに追加できます。そのため、これらのユーザーは、Repository Settings ページのどのチームのメンバーでもありません。Teams and Memberships ページの Collaborators View に、特に組織に所属する必要がなく、その組織内の特定のリポジトリーに直接アクセスできるユーザーが表示されます。

  • チームは、リポジトリーおよび関連イメージを使用する単なるメンバーとして、または組織を管理するための特別な権限を持つ管理者として、組織内に設定できます。

3.2.1. 組織の作成

組織を作成するには、次の手順を実行します。

手順

  1. Repositories ランディングページで、Create New Organization をクリックします。
  2. Organization Name に、2 文字以上 225 文字未満の名前を入力します。
  3. Organization Email に、アカウントのメールアドレスとは異なるメールアドレスを入力します。
  4. Create Organization をクリックして作成を完了します。

3.2.1.1. API を使用した別の組織の作成

API を使用して別の組織を作成できます。これを行うには、UI を使用して最初の組織を作成しておく必要があります。OAuth アクセストークンも生成しておく必要があります。

Red Hat Quay API エンドポイントを使用して別の組織を作成するには、次の手順を実行します。

前提条件

  • UI を使用して少なくとも 1 つの組織をすでに作成している。
  • OAuth アクセストークンを生成している。詳細は、「OAuth アクセストークンの作成」を参照してください。

手順

  1. 次のコマンドを入力して、data.json という名前のファイルを作成します。

    $ touch data.json
  2. 次の内容をファイルに追加します。これが新しい組織の名前になります。

    {"name":"testorg1"}
  3. 次のコマンドを入力して、OAuth アクセストークンと Red Hat Quay レジストリーエンドポイントを渡し、API エンドポイントを使用して新しい組織を作成します。

    $ curl -X POST -k -d @data.json -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" http://<quay-server.example.com>/api/v1/organization/

    出力例

    "Created"

3.2.2. 組織へのチームの追加

組織のためにチームを作成する際に、チーム名を選択し、チームが利用できるリポジトリーを選択し、チームのアクセスレベルを決定できます。

組織のチームを作成するには、次の手順を実行します。

前提条件

  • 組織を作成している。

手順

  1. Repositories ランディングページで、チームを追加する組織を選択します。
  2. ナビゲーションペインで、Teams and Membership を選択します。デフォルトでは、組織を作成したユーザーの Admin 権限を持つ owners チームが存在します。
  3. Create New Team をクリックします。
  4. 新しいチームの名前を入力します。チーム名の先頭は小文字である必要があります。また、使用できるのは小文字と数字のみです。大文字や特殊文字は使用できません。
  5. Create team をクリックします。
  6. チームの名前をクリックすると、Team ページにリダイレクトされます。ここで、チームの説明を追加したり、登録ユーザー、ロボット、メールアドレスなどのチームメンバーを追加したりできます。詳細は、「チームへのユーザーの追加」を参照してください。
  7. No repositories テキストをクリックすると、使用可能なリポジトリーのリストが表示されます。チームにアクセスを許可する各リポジトリーのボックスを選択します。
  8. チームに付与する適切な権限を選択します。

    • None。チームメンバーにリポジトリーに対する権限は付与されません。
    • Read。チームメンバーがリポジトリーの表示とリポジトリーからのプルを行えるようになります。
    • Write。チームメンバーがリポジトリーの読み取り (プル) とリポジトリーへの書き込み (プッシュ) を行えるようになります。
    • Admin。プルおよびプッシュを行うためのリポジトリーへのフルアクセスに加えて、リポジトリーに関連する管理作業を行う権限を付与します。
  9. Add permissions を選択して、チームのリポジトリー権限を保存します。

3.2.3. チームロールの設定

チームを追加したら、そのチームの組織内でのロールを設定できます。

前提条件

  • チームを作成している。

手順

  1. Repository ランディングページで、組織の名前をクリックします。
  2. ナビゲーションウィンドウで、Teams and Membership をクリックします。
  3. 次の図に示すように、TEAM ROLE ドロップダウンメニューを選択します。

    Set the role that a team has within an organization

  4. 選択したチームについて、以下のロールのいずれかを選択します。

    • Member。チームに設定されているすべての権限を継承します。
    • Creator。メンバーのすべての権限に加えて、新しいリポジトリーを作成する権限を付与します。
    • Admin。チームの作成、メンバーの追加、権限の設定など、組織への完全な管理アクセス権を付与します。

3.2.4. チームへのユーザーの追加

組織に対する管理者権限を持っていれば、ユーザーとロボットアカウントをチームに追加できます。ユーザーを追加すると、Red Hat Quay はそのユーザーにメールを送信します。そのユーザーが招待を受け入れるまで、ユーザーは保留状態のままになります。

ユーザーまたはロボットアカウントをチームに追加するには、次の手順を実行します。

手順

  1. Repository ランディングページで、組織の名前をクリックします。
  2. ナビゲーションウィンドウで、Teams and Membership をクリックします。
  3. ユーザーまたはロボットアカウントを追加するチームを選択します。
  4. Team Members ボックスに、次のいずれかの情報を入力します。

    • レジストリー上のアカウントからのユーザー名。
    • レジストリー上のユーザーアカウントのメールアドレス。
    • ロボットアカウントの名前。名前は、<組織名>+<ロボット名> の形式である必要があります。

      注記

      ロボットアカウントはすぐにチームに追加されます。ユーザーアカウントの場合、参加の招待がユーザーにメールで送信されます。ユーザーがその招待を受け入れるまで、ユーザーは INVITED TO JOIN 状態のままになります。ユーザーがチームへの参加招待メールを受け入れると、INVITED TO JOIN リストから組織の MEMBERS リストに移動します。