3.2. 組織リポジトリー
組織を作成すると、リポジトリーのセットを直接その組織に関連付けることができます。組織リポジトリーは、組織がユーザーのグループを通じて共有リポジトリーをセットアップすることを目的としているという点で、基本的なリポジトリーとは異なります。Red Hat Quay では、ユーザーのグループは、チーム、同じ権限を持つユーザーのセット、または 個々のユーザー のいずれかです。
組織に関するその他の有用な情報を以下に示します。
- 組織を別の組織内に組み込むことはできません。組織を細分化するには、チームを使用します。
組織にユーザーを直接含めることはできません。まずチームを追加してから、各チームに 1 人以上のユーザーを追加する必要があります。
注記個々のユーザーは、組織内の特定のリポジトリーに追加できます。そのため、これらのユーザーは、Repository Settings ページのどのチームのメンバーでもありません。Teams and Memberships ページの Collaborators View に、特に組織に所属する必要がなく、その組織内の特定のリポジトリーに直接アクセスできるユーザーが表示されます。
- チームは、リポジトリーおよび関連イメージを使用する単なるメンバーとして、または組織を管理するための特別な権限を持つ管理者として、組織内に設定できます。
3.2.1. 組織の作成
組織を作成するには、次の手順を実行します。
手順
- Repositories ランディングページで、Create New Organization をクリックします。
- Organization Name に、2 文字以上 225 文字未満の名前を入力します。
- Organization Email に、アカウントのメールアドレスとは異なるメールアドレスを入力します。
- Create Organization をクリックして作成を完了します。
3.2.1.1. API を使用した別の組織の作成
API を使用して別の組織を作成できます。これを行うには、UI を使用して最初の組織を作成しておく必要があります。OAuth アクセストークンも生成しておく必要があります。
Red Hat Quay API エンドポイントを使用して別の組織を作成するには、次の手順を実行します。
前提条件
- UI を使用して少なくとも 1 つの組織をすでに作成している。
- OAuth アクセストークンを生成している。詳細は、「OAuth アクセストークンの作成」を参照してください。
手順
次のコマンドを入力して、
data.json
という名前のファイルを作成します。$ touch data.json
次の内容をファイルに追加します。これが新しい組織の名前になります。
{"name":"testorg1"}
次のコマンドを入力して、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. 組織へのチームの追加
組織のためにチームを作成する際に、チーム名を選択し、チームが利用できるリポジトリーを選択し、チームのアクセスレベルを決定できます。
組織のチームを作成するには、次の手順を実行します。
前提条件
- 組織を作成している。
手順
- Repositories ランディングページで、チームを追加する組織を選択します。
- ナビゲーションペインで、Teams and Membership を選択します。デフォルトでは、組織を作成したユーザーの Admin 権限を持つ owners チームが存在します。
- Create New Team をクリックします。
- 新しいチームの名前を入力します。チーム名の先頭は小文字である必要があります。また、使用できるのは小文字と数字のみです。大文字や特殊文字は使用できません。
- Create team をクリックします。
- チームの名前をクリックすると、Team ページにリダイレクトされます。ここで、チームの説明を追加したり、登録ユーザー、ロボット、メールアドレスなどのチームメンバーを追加したりできます。詳細は、「チームへのユーザーの追加」を参照してください。
- No repositories テキストをクリックすると、使用可能なリポジトリーのリストが表示されます。チームにアクセスを許可する各リポジトリーのボックスを選択します。
チームに付与する適切な権限を選択します。
- None。チームメンバーにリポジトリーに対する権限は付与されません。
- Read。チームメンバーがリポジトリーの表示とリポジトリーからのプルを行えるようになります。
- Write。チームメンバーがリポジトリーの読み取り (プル) とリポジトリーへの書き込み (プッシュ) を行えるようになります。
- Admin。プルおよびプッシュを行うためのリポジトリーへのフルアクセスに加えて、リポジトリーに関連する管理作業を行う権限を付与します。
- Add permissions を選択して、チームのリポジトリー権限を保存します。
3.2.3. チームロールの設定
チームを追加したら、そのチームの組織内でのロールを設定できます。
前提条件
- チームを作成している。
手順
- Repository ランディングページで、組織の名前をクリックします。
- ナビゲーションウィンドウで、Teams and Membership をクリックします。
次の図に示すように、TEAM ROLE ドロップダウンメニューを選択します。
選択したチームについて、以下のロールのいずれかを選択します。
- Member。チームに設定されているすべての権限を継承します。
- Creator。メンバーのすべての権限に加えて、新しいリポジトリーを作成する権限を付与します。
- Admin。チームの作成、メンバーの追加、権限の設定など、組織への完全な管理アクセス権を付与します。
3.2.4. チームへのユーザーの追加
組織に対する管理者権限を持っていれば、ユーザーとロボットアカウントをチームに追加できます。ユーザーを追加すると、Red Hat Quay はそのユーザーにメールを送信します。そのユーザーが招待を受け入れるまで、ユーザーは保留状態のままになります。
ユーザーまたはロボットアカウントをチームに追加するには、次の手順を実行します。
手順
- Repository ランディングページで、組織の名前をクリックします。
- ナビゲーションウィンドウで、Teams and Membership をクリックします。
- ユーザーまたはロボットアカウントを追加するチームを選択します。
Team Members ボックスに、次のいずれかの情報を入力します。
- レジストリー上のアカウントからのユーザー名。
- レジストリー上のユーザーアカウントのメールアドレス。
ロボットアカウントの名前。名前は、<組織名>+<ロボット名> の形式である必要があります。
注記ロボットアカウントはすぐにチームに追加されます。ユーザーアカウントの場合、参加の招待がユーザーにメールで送信されます。ユーザーがその招待を受け入れるまで、ユーザーは INVITED TO JOIN 状態のままになります。ユーザーがチームへの参加招待メールを受け入れると、INVITED TO JOIN リストから組織の MEMBERS リストに移動します。
関連情報