15.4. OAuth アクセストークンの再割り当て
組織管理者は、特定の権限を持つ他のユーザーによって作成されるように OAuth API トークンを割り当てることができます。これにより、OAuth API トークンを作成する組織管理者権限を持たないユーザーがトークンを使用した場合でも、監査ログが正確に反映されるようになります。
次の手順は、現在の Red Hat Quay UI でのみ機能します。現在、Red Hat Quay v2 UI には実装されていません。
前提条件
組織管理者権限を持つユーザーとしてログインしており、OAuth API トークンを割り当てることができる。
注記OAuth API トークンは、認可ではなく認証に使用されます。たとえば、OAuth トークンを割り当てるユーザーは、管理 API エンドポイントを使用するために
Admin
チームロールを持っている必要があります。詳細は、リポジトリーへのアクセスの管理 を参照してください。
手順
オプション: まだ更新していない場合は、Red Hat Quay
config.yaml
ファイルを更新して、FEATURE_ASSIGN_OAUTH_TOKEN: true
フィールドを含めます。# ... FEATURE_ASSIGN_OAUTH_TOKEN: true # ...
- オプション: Red Hat Quay レジストリーを再起動します。
- 組織管理者として Red Hat Quay レジストリーにログインします。
- OAuth トークンを作成した組織の名前をクリックします。
- ナビゲーションペインで、Applications をクリックします。
- 適切なアプリケーション名をクリックします。
- ナビゲーションペインで、Generate Token をクリックします。
- Assign another user をクリックし、OAuth トークンを引き継ぐユーザーの名前を入力します。
新しいユーザーに付与する必要な権限のボックスをオンにします。たとえば、新しいユーザーにリポジトリーの作成のみを許可する場合は、Create Repositories クリックします。
重要権限の制御は、組織内のチームロールによって定義され、ここで選択したオプションに関係なく設定する必要があります。たとえば、OAuth トークンを割り当てるユーザーは、管理 API エンドポイントを使用するために
Admin
チームロールを持っている必要があります。Super User Access ボックスをオンにしただけでは、この権限がユーザーに実際に付与されるわけではありません。
config.yaml
ファイルでスーパーユーザーを設定する必要があり、かつ ここでボックスをオンにする必要があります。Assign token をクリックします。ポップアップボックスに、認可を確認する次のメッセージと、承認される権限が表示されます。
This will prompt user <username> to generate a token with the following permissions: repo:create
ポップアップボックスで Assign token をクリックします。新しいページにリダイレクトされ、次のメッセージが表示されます。
Token assigned successfully
検証
- OAuth トークンを再割り当てした後、割り当てられたユーザーがトークンを受け入れて、API エンドポイントの使用に必要なベアラートークンを受け取る必要があります。割り当てられたユーザーに、Red Hat Quay レジストリーにログインするよう依頼します。
- ユーザーは、ログインしたら、Users and Organizations の下にある自分のユーザー名をクリックする必要があります。
- ナビゲーションペインで、External Logins And Applications をクリックする必要があります。
- Authorized Applications の下で、Authorize Application をクリックしてアプリケーションを確認する必要があります。新しいページに移動し、Authorize Application をクリックして再確認する必要があります。
- ユーザーは、ベアラートークンが表示される新しいページにリダイレクトされます。このベアラートークンは再度表示することはできないため、保存する必要があります。