検索

10.4. Docker Registry v2 認証

download PDF
注記

Docker 認証はデフォルトで無効になっています。Docker 認証を有効にするには、機能の有効化と無効化 の章を参照してください。

Docker レジストリー V2 認証 は OIDC と同様に、Docker レジストリーに対してユーザーを認証します。このプロトコルの Red Hat build of Keycloak 実装により、Docker クライアントは Red Hat build of Keycloak 認証サーバーを使用してレジストリーに対して認証を行うことができます。このプロトコルは標準のトークンと署名メカニズムを使用しますが、実際の OIDC 実装とは異なります。要求と応答に非常に特殊な JSON 形式を使用し、リポジトリー名とパーミッションを OAuth スコープメカニズムにマッピングすることで、非常に特殊な JSON 形式を使用します。

10.4.1. Docker 認証フロー

認証フローについては、Docker API のドキュメント で説明されています。以下は、Red Hat build of Keycloak 認証サーバーの観点から見た概要です。

  • docker login を実行します。
  • Docker クライアントは Docker レジストリーからリソースを要求します。リソースが保護されていて、要求に認証トークンがない場合には、Docker レジストリーサーバーは、必要なパーミッションに関する情報と認可サーバーの場所を示す 401 HTTP メッセージを返します。
  • Docker クライアントは、Docker レジストリーから 401 HTTP メッセージに基づいて認証要求を作成します。クライアントは、Red Hat build of Keycloak 認証サーバーへの HTTP Basic 認証 要求の一部として、(docker login コマンドからの) ローカルにキャッシュされた認証情報を使用します。
  • Red Hat build of Keycloak 認証サーバーは、ユーザーの認証を試行し、OAuth スタイルの Bearer トークンが含まれる JSON ボディーを返します。
  • Docker クライアントは JSON 応答から Bearer トークンを受け取り、これを Authorization ヘッダーで使用し、保護されているリソースを要求します。
  • Docker レジストリーは、トークンを使用して保護されたリソースに対する新しい要求を、Red Hat build of Keycloak サーバーから受信します。レジストリーはトークンを検証し、要求されたリソースへのアクセスを付与します (該当する場合)。
注記

Red Hat build of Keycloak では、Docker プロトコルで認証に成功した後に、ブラウザーの SSO セッションは作成されません。ブラウザーの SSO セッションでは、トークンを更新したり、Red Hat build of Keycloak サーバーからトークンまたはセッションのステータスを取得したりできないため、Docker プロトコルは使用されません。したがって、ブラウザー SSO セッションは必要ありません。詳細については、一時的なセッション セクションを参照してください。

10.4.2. Red Hat build of Keycloak の Docker Registry v2 認証サーバー URI エンドポイント

Red Hat build of Keycloak には、すべての Docker auth v2 リクエストに対して 1 つのエンドポイントがあります。

http(s)://authserver.host/realms/{realm-name}/protocol/docker-v2

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.