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をダウンロードする場合は、これを選択します。