第2章 OAuth 2 アクセストークン


OAuth 2 アクセストークン (Red Hat Quay では "API トークン" と見なされます) を使用すると、ユーザーアイデンティティー検証を必要とするアプリケーションに適した、Red Hat Quay API へのユーザー認証アクセスが可能になります。これらのトークンは、OAuth 2 認可プロセスを通じて取得されます。このプロセスでは、Red Hat Quay 管理者が自分自身または別のユーザーに代わってトークンを生成し、Red Hat Quay API エンドポイントにアクセスします。OAuth 2 トークンは、トークンに定義されたスコープに基づいて、API エンドポイントでのアクションを承認します。

注記

OAuth 2 トークンはトークンに定義されたスコープに基づいて API エンドポイントでのアクションを承認しますが、リソース自体へのアクセスは Red Hat Quay のロールベースアクセス制御 (RBAC) メカニズムによって管理されます。対象の名前空間に対して適切なロール (Admin または Creator) がある場合は、リポジトリーなどのリソースに対してアクションを作成できます。これは、API トークンに repo:admin スコープが付与されている場合でも当てはまります。

OAuth 2 アクセストークンは、Red Hat Quay UI を使用してのみ作成できます。CLI を使用して OAuth 2 アクセストークンを作成する方法はありません。OAuth 2 トークンを作成するときに、トークン所有者に対して次のオプションを選択できます。

  • Administer Organization。選択すると、ユーザーはロボットの作成、チームの作成、チームメンバーシップの調整、課金設定の変更など、組織を管理できるようになります。
  • Administer Repositories。選択すると、権限を付与したユーザーがアクセスできるすべてのリポジトリーへのユーザー管理者アクセスが提供されます。
  • Create Repositories。選択すると、権限を付与したユーザーがリポジトリーの作成を許可されている任意の名前空間にリポジトリーを作成できるようになります。
  • View all visible repositories。選択すると、権限を付与したユーザーに表示されるすべてのリポジトリーを表示しする権限およびプルする権限がユーザーに付与されます。
  • Read/Write to any accessible repositories。選択すると、権限を付与したユーザーが書き込みアクセス権を持つすべてのリポジトリーを表示、プッシュ、プルする機能がユーザーに割り当てられます。
  • Super User Access。選択すると、ユーザーの管理、組織の管理、スーパーユーザーパネルにあるその他の機能など、インストールを管理する権限がユーザーに付与されます。
  • Administer User。選択すると、ロボットの作成やリポジトリーへの権限の付与など、アカウントを管理する権限がユーザーに付与されます。
  • Read User Information。選択すると、ユーザー名やメールアドレスなどのユーザー情報を読み取る機能がユーザーに付与されます。

トークンディストリビューターは、ユーザーに代わってトークンを生成するときに付与する権限に注意する必要があります。ユーザーを完全に信頼できることを確認してから、Administer organizationSuper User Access、および Administer User などの権限を付与する必要があります。また、アクセストークンは作成時にのみ公開され、CLI から一覧表示できず、Red Hat Quay UI で表示することもできません。アクセストークンを紛失したり忘れたりした場合は、新しいトークンを作成する必要があります。トークンを復元することはできません。

OAuth 2 アクセストークンは、API 呼び出しの Authorization ヘッダーで Bearer トークンとして渡され、イメージタグ、リポジトリー、組織などの定義された API エンドポイントに認証と認可を提供するために使用されます。

API は、Red Hat Quay ホストの /api/v1 エンドポイントから使用できます。たとえば、https://<quay-server.example.com>/api/v1 です。Swagger UI を有効にすると、ユーザーがブラウザー経由でエンドポイントに接続し、Red Hat Quay の設定を GETPOSTDELETEPUT できるようになります。API は、API 呼び出しを実行して OAuth トークンを使用するアプリケーションからアクセスでき、JSON としてデータを送受信します。

Red Hat Quay では現在、OAuth 2 アクセストークンに有効期限をローテーションまたは設定する方法はなく、トークンの有効期間は 10 年です。トークンが不正使用された場合、トークンが作成されたアプリケーションを削除して、トークンを削除できますが、この操作により、その特定のアプリケーション内で作成されたすべてのトークンが削除されます。

注記

実際には、Red Hat Quay 管理者は、ユーザー用に新しい OAuth トークンを作成するたびに、組織の Applications ページで新しい OAuth アプリケーションを作成 できます。これにより、単一のアプリケーションがすべての OAuth トークンを管理する必要がなくなります。その結果、ユーザーのトークンが不正使用された場合、管理者は不正使用されたトークンのアプリケーションを削除します。これにより、同じアプリケーションの中に含まれる可能性のあるトークンを使用する他のユーザーの混乱を回避するのに役立ちます。

次のセクションでは、OAuth 2 アクセストークンを生成して再割り当てする方法を説明します。

2.1. OAuth 2 アクセストークンの作成

Red Hat Quay では、組織の API エンドポイントにアクセスする前に、OAuth 2 アクセストークンを作成する必要があります。OAuth 2 アクセストークンは、Red Hat Quay UI を使用してのみ生成できます。CLI を使用して OAuth 2 アクセストークンを生成することはできません。

OAuth2 アクセストークンを作成するには、次の手順を実行します。

前提条件

  • Red Hat Quay に管理者としてログインしている。
  • OAuth 2 アプリケーションを作成した。

手順

  1. メインページで、Organization を選択します。
  2. ナビゲーションペインで、Applications を選択します。
  3. アプリケーションの名前 (例: Test application) をクリックします。
  4. ナビゲーションペインで、Generate Token を選択します。
  5. 次のオプションのチェックボックスをオンにします。

    1. Administer Organization。選択すると、ユーザーはロボットの作成、チームの作成、チームメンバーシップの調整、課金設定の変更など、組織を管理できるようになります。
    2. Administer Repositories。選択すると、権限を付与したユーザーがアクセスできるすべてのリポジトリーへのユーザー管理者アクセスが提供されます。
    3. Create Repositories。選択すると、権限を付与したユーザーがリポジトリーの作成を許可されている任意の名前空間にリポジトリーを作成できるようになります。
    4. View all visible repositories。選択すると、権限を付与したユーザーに表示されるすべてのリポジトリーを表示しする権限およびプルする権限がユーザーに付与されます。
    5. Read/Write to any accessible repositories。選択すると、権限を付与したユーザーが書き込みアクセス権を持つすべてのリポジトリーを表示、プッシュ、プルする機能がユーザーに割り当てられます。
    6. Super User Access。選択すると、ユーザーの管理、組織の管理、スーパーユーザーパネルにあるその他の機能など、インストールを管理する権限がユーザーに付与されます。
    7. Administer User。選択すると、ロボットの作成やリポジトリーへの権限の付与など、アカウントを管理する権限がユーザーに付与されます。
    8. Read User Information。選択すると、ユーザー名やメールアドレスなどのユーザー情報を読み取る機能がユーザーに付与されます。
  6. Generate Access Token をクリックします。新しいページにリダイレクトされます。
  7. 許可する権限を確認し、Authorize Application をクリックします。Authorize Application をクリックして決定した内容を確定します。
  8. Access Token ページにリダイレクトされます。アクセストークンをコピーして保存します。

    重要

    これは、アクセストークンをコピーして保存する唯一の機会です。このページを離れると再取得できません。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.