3.2. ユーザーリポジトリーへのロボットアクセスの許可
ロボットアカウントは、Red Hat Quay レジストリー内のリポジトリーへの自動アクセスを設定するのに使用されます。これらは、OpenShift のサービスアカウントに似ています。ロボットアカウントを設定する際に、以下を行います。
- ロボットアカウントに関連付けられる認証情報を生成する
- ロボットがイメージをプッシュまたはプルできるリポジトリーやイメージを特定する
- 生成された認証情報をコピー/ペーストして、異なるコンテナークライアント (Docker、podman、Kubernetes、Mesos など) で使用し、定義された各リポジトリーにアクセスする
各ロボットアカウントは、1 つのユーザー名前空間または組織に制限されることに留意してください。たとえば、ロボットは、ユーザー jsmith がアクセスできるすべてのリポジトリーへのアクセスを提供しますが、リポジトリーのユーザーリストにないユーザーにはアクセスを提供しません。
以下の手順では、リポジトリーへのアクセスを許可するロボットアカウントの設定方法を順を追って説明します。
- Robot アイコンを選択します。Repositories ビューで、左の列から Robot アイコンを選択します。
- ロボットアカウントを作成します。Create Robot Account ボタンを選択します。
- ロボット名を設定します。名前と説明を入力し、Create robot account ボタンを選択します。ロボット名は、ご自分のユーザー名と、設定したロボット名の組み合わせになります (例: jsmith+myrobot)。
ロボットアカウントに権限を追加します。ロボットアカウントの Add permissions 画面から、ロボットにアクセスさせたいリポジトリーを以下のように定義します。
- ロボットがアクセスできる各リポジトリーにチェックマークを入れます。
各リポジトリーについて、以下のいずれかを選択し、Add permissions をクリックします。
- None - ロボットにはリポジトリーに対する権限がありません。
- Read - ロボットがリポジトリーを閲覧し、プルすることができます。
- Write - ロボットは、リポジトリーからの読み込み (プル) と、リポジトリーへの書き込み (プッシュ) が可能です。
- Admin - プルおよびプッシュを行うためのリポジトリーへのフルアクセスに加えて、リポジトリーに関連する管理作業を行うことができます。
- Add permissions ボタンを選択し、設定を適用します。
- ロボットを使用してリポジトリーにアクセスするための認証情報を取得します。Robot Accounts ページに戻り、ロボットのアカウント名を選択すると、そのロボットの認証情報が表示されます。
トークンを取得します。次の図のように Robot Token を選択すると、ロボットに生成されたトークンが表示されます。トークンをリセットしたい場合は、Regenerate Token を選択します。
注記トークンを再生成すると、そのロボットの過去のトークンが無効になることを理解しておくことが重要です。
認証情報を取得します。生成されたトークンに満足したら、以下の方法で認証情報を取得します。
- Kubernetes Secret: Kubernetes プルシークレットの yaml ファイルの形で認証情報をダウンロードする場合は、これを選択します。
- rkt Configuration: rkt コンテナーランタイムの認証情報を json ファイルの形式でダウンロードする場合は、これを選択します。
-
Docker Login: 認証情報を含む完全な
docker login
コマンドラインをコピーする場合は、これを選択します。 - Docker Configuration: Docker config.json ファイルとして使用するファイルをダウンロードして、クライアントシステムに認証情報を恒久的に保存する場合は、これを選択します。
- Mesos Credentials: Mesos 設定ファイルの uris フィールドで特定できる認証情報を提供する tarball をダウンロードする場合は、これを選択します。