5.3. Microsoft Azure Active Directory を使用した Apicurio Registry の認証と認可の設定
このセクションでは、Apicurio Registry および Microsoft Azure Active Directory (Azure AD) の認証および認可オプションを手動で設定する方法を説明します。
Apicurio Registry Web コンソールとコア REST API は、OpenID Connect (OIDC) と OAuth 認可コードフローに基づく Azure AD での認証をサポートします。Apicurio Registry は、デフォルトの admin、write、および read-only ユーザーロールのロールベースの認可を提供します。Apicurio Registry の認証および認可設定は、デフォルトでは無効になっています。
Azure AD を使用して Apicurio Registry を保護するには、特定の設定を持つ Azure AD 内の有効なディレクトリーが必要です。これには、推奨設定を使用して Apicurio Registry アプリケーションを Azure AD ポータルに登録し、Apicurio Registry で環境変数を設定することが含まれます。
前提条件
- Azure AD がインストールされ、実行されている。詳細は、Microsoft Azure AD ユーザードキュメント を参照してください。
- Apicurio Registry がインストールされ、実行されています。
手順
- メールアドレスまたは GitHub アカウントを使用して Azure AD ポータルにログインします。
ナビゲーションメニューで、Manage > App registrations > New registration を選択し、次の設定を完了します。
-
Name: アプリケーション名を入力します。例:
apicurio-registry-example - Supported account types: Accounts in any organizational directory をクリックします。
Redirect URI: リストから Single-page application を選択し、Apicurio Registry Web コンソールアプリケーションホストを入力します。例:
https://test-registry.com/ui/重要Apicurio Registry アプリケーションホストを Redirect URI として登録する必要があります。ログインすると、ユーザーは認証のために Apicurio Registry から Azure AD にリダイレクトされます。その後、ユーザーをアプリケーションに戻す必要があります。Azure AD では、登録されていないリダイレクト URL は許可されません。
-
Name: アプリケーション名を入力します。例:
- Register をクリックします。アプリケーション登録の詳細は、Manage > App registrations > apicurio-registry-example を選択すると表示されます。
Manage > Authentication を選択し、アプリケーションがリダイレクト URL とトークンを使用して次のように設定されていることを確認します。
-
Redirect URIs: たとえば、
https://test-registry.com/ui/です。 - Implicit grant and hybrid flows: ID tokens (used for implicit and hybrid flows) をクリックします。
-
Redirect URIs: たとえば、
-
Azure AD > Admin > App registrations > Your app > Application (client) ID を選択します。例:
123456a7-b8c9-012d-e3f4-5fg67h8i901 -
Azure AD > Admin > App registrations > Your app > Directory (tenant) ID を選択します。例:
https://login.microsoftonline.com/1a2bc34d-567e-89f1-g0hi-1j2kl3m4no56/v2.0 Apicurio Registry で、Azure AD 設定を使用して次の環境変数を設定します。
Expand 表5.6 Apicurio Registry での Azure AD の設定 環境変数 説明 設定 KEYCLOAK_API_CLIENT_IDApicurio Registry REST API のクライアントアプリケーション ID
手順 5 で取得した Azure AD アプリケーション (クライアント) ID。例:
123456a7-b8c9-012d-e3f4-5fg67h8i901REGISTRY_OIDC_UI_CLIENT_IDApicurio Registry Web コンソールのクライアントアプリケーション ID。
手順 5 で取得した Azure AD アプリケーション (クライアント) ID。例:
123456a7-b8c9-012d-e3f4-5fg67h8i901REGISTRY_AUTH_URL_CONFIGUREDAzure AD での認証用 URL。
手順 6 で取得した Azure AD アプリケーション (テナント) ID。例:
https://login.microsoftonline.com/1a2bc34d-567e-89f1-g0hi-1j2kl3m4no56/v2.0。Apicurio Registry で、Apicurio Registry 固有の設定用に次の環境変数を設定します。
Expand 表5.7 Apicurio レジストリー固有の設定 環境変数 説明 設定 REGISTRY_AUTH_ENABLEDApicurio Registry の認証を有効にします。
trueREGISTRY_UI_AUTH_TYPEApicurio Registry 認証タイプ。
oidcCORS_ALLOWED_ORIGINSCross-Origin Resource Sharing (CORS) 用の Apicurio Registry デプロイメントのホスト。
例:
https://test-registry.comREGISTRY_OIDC_UI_REDIRECT_URLApicurio Registry Web コンソールのホスト。
例:
https://test-registry.com/uiROLE_BASED_AUTHZ_ENABLEDApicurio レジストリーでロールベースの認証を有効にします。
trueQUARKUS_OIDC_ROLES_ROLE_CLAIM_PATHAzure AD がロールを保存するクレームの名前。
roles注記Apicurio Registry でロールを有効にする場合は、アプリケーションロールとして同じロールを Azure AD でも作成する必要があります。Apicurio Registry で想定されるデフォルトのロールは、
sr-admin、sr-developer、sr-readonlyです。