第3章 Red Hat Quay のロボットアカウントの概要
ロボットアカウントは、Red Hat Quay レジストリー内のリポジトリーへの自動アクセスを設定するのに使用します。ロボットアカウントは OpenShift Container Platform のサービスアカウントに似ています。
ロボットアカウントを設定すると、以下が実行されます。
- ロボットアカウントに関連付けられた認証情報が生成されます。
- ロボットアカウントがイメージをプッシュおよびプルできるリポジトリーとイメージが特定されます。
- 生成された認証情報をコピー/ペーストして、Docker、Podman、Kubernetes、Mesos などのさまざまなコンテナークライアントで使用し、定義された各リポジトリーにアクセスできます。
ロボットアカウントは、次のようなさまざまなセキュリティー上の利点を提供することで、Red Hat Quay レジストリーのセキュリティー保護に役立ちます。
- リポジトリーアクセスの指定。
-
Read
(プル) またはWrite
(プッシュ) アクセスなどの詳細な権限。必要に応じてAdmin
権限を付与することもできます。 - CI/CD パイプライン、システム統合、その他の自動化タスク向けの設計。スクリプト、パイプライン、その他の環境変数での認証情報の公開を回避します。
- パスワードの代わりにトークンを使用するロボットアカウント。トークンが侵害された場合に管理者がトークンを取り消すことができます。
各ロボットアカウントは、1 つのユーザー名前空間または組織に制限されます。たとえば、ロボットアカウントは、ユーザー quayadmin
にすべてのリポジトリーへのアクセスを提供できます。しかし、ユーザーのリポジトリーリストにないリポジトリーへのアクセスは提供できません。
ロボットアカウントは、Red Hat Quay UI を使用して作成することも、Red Hat Quay API を使用して CLI 経由で作成することもできます。
3.1. UI を使用したロボットアカウントの作成
v2 UI を使用してロボットアカウントを作成するには、次の手順を実行します。
手順
- v2 UI で、Organizations をクリックします。
-
ロボットアカウントを作成する組織の名前をクリックします (例:
test-org
)。 -
Robot accounts タブ
Create robot account をクリックします。 -
Provide a name for your robot account ボックスに、
robot1
などの名前を入力します。ロボットアカウントの名前は、ユーザー名とロボットの名前を組み合わせたものになります (例:quayadmin+robot1
)。 オプション: 必要に応じて、以下のオプションを使用できます。
- ロボットアカウントをチームに追加します。
- ロボットアカウントをリポジトリーに追加します。
- ロボットアカウントの権限を調整します。
Review and finish ページで、入力した情報を確認してから、Review and finish をクリックします。Successfully created robot account with robot name: <organization_name> + <robot_name> というアラートが表示されます。
また、別のロボットアカウントと同じ名前でロボットアカウントを作成しようとすると、Error creating robot account というエラーメッセージが表示される場合があります。
- オプション: Expand または Collapse をクリックすると、ロボットアカウントの説明情報を表示できます。
-
オプション: 縦の省略記号メニュー
Set repository permissions をクリックして、ロボットアカウントのパーミッションを変更できます。Successfully updated repository permission というメッセージが表示されます。 オプション: ロボットアカウントの名前をクリックすると、次の情報を取得できます。
- Robot Account: ロボットアカウントのトークンを取得するには、これを選択します。Regenerate token now をクリックすると、トークンを再生成できます。
- Kubernetes Secret: Kubernetes プルシークレット YAML ファイルの形式で認証情報をダウンロードするには、これを選択します。
-
Podman: 認証情報を含む完全な
podman login
コマンドラインをコピーするには、これを選択します。 -
Docker Configuration: 認証情報を含む完全な
docker login
コマンドラインをコピーするには、これを選択します。