第3章 リポジトリーへのアクセス管理

Red Hat Quay ユーザーは、独自のリポジトリーを作成し、インスタンスに含まれる他のユーザーにそのリポジトリーへのアクセスを許可できます。または、特定の組織を作成して、定義されたチームに基づいてリポジトリーへのアクセスを許可することもできます。

ユーザーリポジトリーと組織リポジトリーのどちらでも、ロボットアカウントに関連する認証情報を作成すると、そのリポジトリーへのアクセスを許可できます。ロボットアカウントを使用すると、Red Hat Quay ユーザーアカウントを持っていないさまざまなコンテナークライアント (Docker や Podman など) がリポジトリーに簡単にアクセスできるようになります。

3.1. ユーザーリポジトリーへのアクセスの許可

ユーザー名前空間にリポジトリーを作成すると、そのリポジトリーへのアクセスを、ユーザーアカウントに、またはロボットアカウントを通じて追加できます。

3.1.1. ユーザーリポジトリーへのユーザーアクセスの許可

ユーザーアカウントに関連付けられたリポジトリーへのアクセスを許可するには、次の手順を実行します。

手順

  1. ユーザーアカウントを使用して Red Hat Quay にログインします。
  2. 複数のユーザー間で共有されるユーザー名前空間配下のリポジトリーを選択します。
  3. ナビゲーションペインで Settings を選択します。
  4. 自分のリポジトリーへのアクセスを許可するユーザーの名前を入力します。入力すると、名前が表示されます。以下に例を示します。

    Grant user access to a user repository

  5. パーミッションボックスで、以下のいずれかを選択します。

    • Read。リポジトリーの表示とリポジトリーからのプルをユーザーに許可します。
    • Write。リポジトリーの表示、リポジトリーからのプル、リポジトリーへのイメージのプッシュをユーザーに許可します。
    • Admin。リポジトリーに対するすべての管理設定と、すべての Read および Write 権限をユーザーに提供します。
  6. Add Permission ボタンを選択します。これで、ユーザーに権限が割り当てられました。
  7. オプション: リポジトリーに対するユーザー権限を削除または変更するには、Options アイコンを選択し、Delete Permission を選択します。

3.1.2. ユーザーリポジトリーへのロボットアクセスの許可

ロボットアカウントは、Red Hat Quay レジストリー内のリポジトリーへの自動アクセスを設定するのに使用します。ロボットアカウントは OpenShift Container Platform のサービスアカウントに似ています。

ロボットアカウントを設定すると、以下が実行されます。

  • ロボットアカウントに関連付けられた認証情報が生成されます。
  • ロボットアカウントがイメージをプッシュおよびプルできるリポジトリーとイメージが特定されます。
  • 生成された認証情報をコピー/ペーストして、Docker、Podman、Kubernetes、Mesos などのさまざまなコンテナークライアントで使用し、定義された各リポジトリーにアクセスできます。

各ロボットアカウントは、1 つのユーザー名前空間または組織に制限されます。たとえば、ロボットアカウントは、ユーザー jsmith にすべてのリポジトリーへのアクセスを提供できます。しかし、ユーザーのリポジトリーリストにないリポジトリーへのアクセスは提供できません。

次の手順を使用して、リポジトリーへのアクセスを許可できるロボットアカウントを設定します。

手順

  1. Repositories ランディングページで、ユーザーの名前をクリックします。
  2. ナビゲーションペインで Robot Accounts をクリックします。
  3. Create Robot Account をクリックします。
  4. ロボットアカウントの名前を入力します。
  5. オプション: ロボットアカウントの説明を入力します。
  6. Create Robot Account をクリックします。ロボットアカウントの名前は、ユーザー名とロボットの名前を組み合わせたものになります (例: jsmith+robot)
  7. ロボットアカウントを関連付けるリポジトリーを選択します。
  8. ロボットアカウントの権限を次のいずれかに設定します。

    • None。ロボットアカウントにリポジトリーに対する権限は付与されません。
    • Read。ロボットアカウントがリポジトリーの表示とリポジトリーからのプルを行えるようになります。
    • Write。ロボットアカウントがリポジトリーからの読み取り (プル) とリポジトリーへの書き込み (プッシュ) を行えるようになります。
    • Admin。プルおよびプッシュを行うためのリポジトリーへのフルアクセスに加えて、リポジトリーに関連する管理作業を行う権限を付与します。
  9. Add permissions ボタンをクリックして設定を適用します。
  10. Robot Accounts ページで、ロボットアカウントを選択して、そのロボットの認証情報を表示します。
  11. Robot Account オプションで、Copy to Clipboard をクリックして、ロボット用に生成されたトークンをコピーします。新しいトークンを生成するには、Regenerate Token をクリックします。

    注記

    トークンを再生成すると、このロボットの以前のトークンがすべて無効になります。

    Select Options drop-down to change user passwords

  12. 生成された認証情報を次の方法で取得します。

    • Kubernetes Secret: Kubernetes プルシークレット yaml ファイルの形式で認証情報をダウンロードするには、これを選択します。
    • rkt Configuration: rkt コンテナーランタイムの認証情報を .json ファイルの形式でダウンロードするには、これを選択します。
    • Docker Login: 認証情報を含む完全な docker login コマンドラインをコピーするには、これを選択します。
    • Docker Configuration: Docker config.json ファイルとして使用するファイルがダウンロードし、クライアントシステムに認証情報を永続的に保存するには、これを選択します。
    • Mesos Credentials: Mesos 設定ファイルの URI フィールドで識別できる認証情報を提供する tarball をダウンロードするには、これを選択します。