第3章 リポジトリーへのアクセス管理
Red Hat Quay ユーザーは、独自のリポジトリーを作成し、インスタンスに含まれる他のユーザーにそのリポジトリーへのアクセスを許可できます。または、特定の組織を作成して、定義されたチームに基づいてリポジトリーへのアクセスを許可することもできます。
ユーザーリポジトリーと組織リポジトリーのどちらでも、ロボットアカウントに関連する認証情報を作成すると、そのリポジトリーへのアクセスを許可できます。ロボットアカウントを使用すると、Red Hat Quay ユーザーアカウントを持っていないさまざまなコンテナークライアント (Docker や Podman など) がリポジトリーに簡単にアクセスできるようになります。
3.1. ユーザーリポジトリーへのアクセスの許可
ユーザー名前空間にリポジトリーを作成すると、そのリポジトリーへのアクセスを、ユーザーアカウントに、またはロボットアカウントを通じて追加できます。
3.1.1. ユーザーリポジトリーへのユーザーアクセスの許可
ユーザーアカウントに関連付けられたリポジトリーへのアクセスを許可するには、次の手順を実行します。
手順
- ユーザーアカウントを使用して Red Hat Quay にログインします。
- 複数のユーザー間で共有されるユーザー名前空間配下のリポジトリーを選択します。
- ナビゲーションペインで Settings を選択します。
自分のリポジトリーへのアクセスを許可するユーザーの名前を入力します。入力すると、名前が表示されます。以下に例を示します。
パーミッションボックスで、以下のいずれかを選択します。
- Read。リポジトリーの表示とリポジトリーからのプルをユーザーに許可します。
- Write。リポジトリーの表示、リポジトリーからのプル、リポジトリーへのイメージのプッシュをユーザーに許可します。
- Admin。リポジトリーに対するすべての管理設定と、すべての Read および Write 権限をユーザーに提供します。
- Add Permission ボタンを選択します。これで、ユーザーに権限が割り当てられました。
- オプション: リポジトリーに対するユーザー権限を削除または変更するには、Options アイコンを選択し、Delete Permission を選択します。
3.1.2. ユーザーリポジトリーへのロボットアクセスの許可
ロボットアカウントは、Red Hat Quay レジストリー内のリポジトリーへの自動アクセスを設定するのに使用します。ロボットアカウントは OpenShift Container Platform のサービスアカウントに似ています。
ロボットアカウントを設定すると、以下が実行されます。
- ロボットアカウントに関連付けられた認証情報が生成されます。
- ロボットアカウントがイメージをプッシュおよびプルできるリポジトリーとイメージが特定されます。
- 生成された認証情報をコピー/ペーストして、Docker、Podman、Kubernetes、Mesos などのさまざまなコンテナークライアントで使用し、定義された各リポジトリーにアクセスできます。
各ロボットアカウントは、1 つのユーザー名前空間または組織に制限されます。たとえば、ロボットアカウントは、ユーザー jsmith
にすべてのリポジトリーへのアクセスを提供できます。しかし、ユーザーのリポジトリーリストにないリポジトリーへのアクセスは提供できません。
次の手順を使用して、リポジトリーへのアクセスを許可できるロボットアカウントを設定します。
手順
- Repositories ランディングページで、ユーザーの名前をクリックします。
- ナビゲーションペインで Robot Accounts をクリックします。
- Create Robot Account をクリックします。
- ロボットアカウントの名前を入力します。
- オプション: ロボットアカウントの説明を入力します。
-
Create Robot Account をクリックします。ロボットアカウントの名前は、ユーザー名とロボットの名前を組み合わせたものになります (例:
jsmith+robot)
。 - ロボットアカウントを関連付けるリポジトリーを選択します。
ロボットアカウントの権限を次のいずれかに設定します。
- None。ロボットアカウントにリポジトリーに対する権限は付与されません。
- Read。ロボットアカウントがリポジトリーの表示とリポジトリーからのプルを行えるようになります。
- Write。ロボットアカウントがリポジトリーからの読み取り (プル) とリポジトリーへの書き込み (プッシュ) を行えるようになります。
- Admin。プルおよびプッシュを行うためのリポジトリーへのフルアクセスに加えて、リポジトリーに関連する管理作業を行う権限を付与します。
- Add permissions ボタンをクリックして設定を適用します。
- Robot Accounts ページで、ロボットアカウントを選択して、そのロボットの認証情報を表示します。
Robot Account オプションで、Copy to Clipboard をクリックして、ロボット用に生成されたトークンをコピーします。新しいトークンを生成するには、Regenerate Token をクリックします。
注記トークンを再生成すると、このロボットの以前のトークンがすべて無効になります。
生成された認証情報を次の方法で取得します。
- Kubernetes Secret: Kubernetes プルシークレット yaml ファイルの形式で認証情報をダウンロードするには、これを選択します。
-
rkt Configuration: rkt コンテナーランタイムの認証情報を
.json
ファイルの形式でダウンロードするには、これを選択します。 -
Docker Login: 認証情報を含む完全な
docker login
コマンドラインをコピーするには、これを選択します。 -
Docker Configuration: Docker
config.json
ファイルとして使用するファイルがダウンロードし、クライアントシステムに認証情報を永続的に保存するには、これを選択します。 - Mesos Credentials: Mesos 設定ファイルの URI フィールドで識別できる認証情報を提供する tarball をダウンロードするには、これを選択します。