ApsaraMQ for Confluent は、シングルサインオン (SSO) を使用した Control Center へのログインをサポートしています。このトピックでは、SSO を使用する前に実行する必要がある設定手順について説明します。
背景情報
シングルサインオン (SSO) は、ユーザーが一度ログインするだけで、信頼できる複数のアプリケーションシステムにアクセスできる統一認証メカニズムです。ApsaraMQ for Confluent は、Control Center にログインするためのサードパーティ SSO をサポートしており、これによりログインプロセスが簡素化され、パスワードのセキュリティが向上し、一元的な権限管理が可能になり、運用の複雑さが軽減されます。
注意事項
-
SSO ログインは、Confluent Platform 7.5 以降を実行しているインスタンスでのみ利用可能です。ご利用のインスタンスが 7.5 より前のバージョンを実行している場合は、まずインスタンスをアップグレードする必要があります。
-
ApsaraMQ for Confluent は現在、OAuth ベースの SSO ログインのみをサポートしています。
-
このトピックでは、Microsoft の ID とアクセスの管理サービスである Azure Active Directory (Azure AD) を例として使用します。
プロセスの概要
操作手順
ステップ 1:サードパーティ認証サーバーの設定
-
Microsoft Entra admin center にログインします。
-
左側のナビゲーションウィンドウで、 を選択します。
-
[アプリの登録] ページで、[新規登録] をクリックします。「アプリケーションの登録」ページで、必須情報を入力し、[登録] をクリックします。
説明リダイレクト URI は、
https://<Control Center base URL>/api/metadata/security/1.0/oidc/authorization-code/callbackのフォーマットにする必要があります。 このフォーマットでは、<Control Center base URL> は、ご使用の ApsaraMQ for Confluent インスタンスにおける CONTROL_CENTER サービスのパブリックエンドポイント (ポート番号を除く) です。 パブリックエンドポイントは、ApsaraMQ for Confluent コンソールの アクセスリンクとインターフェース ページで確認できます。[名前] には、
confluent-testなどのカスタム名を入力します。[サポートされているアカウントの種類] では、[この組織ディレクトリのアカウントのみ (シングルテナント)] を選択します。 -
Azure ポータルのアプリ登録の [概要] ページには、[表示名] (例:confluent-test)、[アプリケーション (クライアント) ID]、[オブジェクト ID]、[ディレクトリ (テナント) ID]、[サポートされているアカウントの種類] (例:「自分の組織のみ」) などの基本的なアプリケーション情報が表示されます。また、[クライアント認証情報] リンクを使用して証明書またはシークレットを追加したり、[リダイレクト URI] を設定したりすることもできます。
-
左側のナビゲーションウィンドウで、[証明書とシークレット] をクリックします。[クライアントシークレット] タブで、[新しいクライアントシークレット] をクリックします。
-
[クライアントシークレットの追加] ペインで、必須情報を入力し、追加 をクリックします。
[説明] を入力し、[有効期限] を選択します。デフォルトの期間は [推奨:180 日 (6 か月)] です。
ステップ 2:認証サーバーからの情報取得
-
GET リクエストを
https://login.microsoftonline.com/${Tenant ID}/v2.0/.well-known/openid-configurationに送信して、認証情報を取得します。テナント ID は、アプリケーションの 概要 ページの [基本] セクションから取得できます。 -
取得した認証情報を使用して、次の JSON テンプレートに入力します。
{ "ssoConfig": { "ClientId": "", "TokenBaseEndpointUri": "", "Issuer": "", "ClientSecret": "", "AuthorizeBaseEndpointUri": "", "JwksEndpointUri": "" } }次の表に、テンプレートパラメーターと取得した情報のマッピングを示します。
パラメーター
値
説明
ClientId
N/A
[アプリケーション (クライアント) ID] は、アプリケーションの 概要 ページの [基本情報] セクションで確認できます。
TokenBaseEndpointUri
token_endpoint
N/A
Issuer
issuer
N/A
ClientSecret
N/A
クライアントシークレットの [値] です。これは、[証明書とシークレット] ページの [クライアントシークレット] タブで確認できます。
AuthorizeBaseEndpointUri
authorization_endpoint
N/A
JwksEndpointUri
jwks_uri
N/A
ステップ 3:SSO アカウント権限の設定
SSO 認証を有効にすると、Control Center には SSO を使用してのみログインできるようになります。そのため、事前にご利用の ApsaraMQ for Confluent インスタンス用に SSO 認証されたログインアカウントを作成する必要があります。Azure AD は、アカウントのメールアドレスを SSO ログインのプロファイル情報として使用します。したがって、Confluent Control コンソールで、メールアドレスで識別されるプライマリアカウントにすべてのクラスターに対する SystemAdmin 権限を付与する必要があります。これにより、このアカウントを使用して他の SSO ユーザーにリソース権限を付与できるようになります。権限の付与方法の詳細については、「RBAC 権限付与」をご参照ください。
次の表に、必要なクラスターリソースとロールを示します。
|
クラスター |
リソース |
ロール |
|
Kafka クラスター |
Cluster |
SystemAdmin |
|
KSQL |
Cluster |
SystemAdmin |
|
Schema Registry |
Cluster |
SystemAdmin |
|
Connect クラスター |
Cluster |
SystemAdmin |
ステップ 4:SSO ログイン認証を有効にするためのチケット送信
有効化をリクエストするには、ステップ 2 の JSON データ、リージョン、および ApsaraMQ for Confluent インスタンスの ID を記載したチケットを送信してください。
ステップ 5: VPC NAT Gateway の設定
ご利用の ApsaraMQ for Confluent インスタンス用に選択された VPC が SSO 認証サーバーに接続できることを確認してください。これにより、Confluent サーバーは認証リクエストとリダイレクトを SSO サーバーに送信できます。
解決策として、VPC NAT Gateway の設定が挙げられます。詳細については、「NAT Gateway」をご参照ください。以下の設定を行い、その他の設定はデフォルト値のままにします:
-
NAT Gateway を作成し、Elastic IP Address (EIP) をバインドします:
-
Region:ApsaraMQ for Confluent インスタンスが配置されているリージョンを選択します。
-
ネットワーク & ゾーン:ApsaraMQ for Confluent インスタンスの VPC と VSwitch を選択します。
-
ネットワークタイプ: パブリック NAT ゲートウェイ を選択します。
-
Elastic IP アドレス: EIP の選択 または EIP の購入。
-
-
SNAT エントリを設定します:
-
SNAT エントリ:[VPC 粒度] を選択するか、vSwitch の指定 を選択して ApsaraMQ for Confluent インスタンスの VSwitch を選択します。
-
Elastic IP Address:既存の EIP を選択します。
-
NAT Gateway と EIP は別途料金が発生します。詳細については、関連プロダクトの課金に関するドキュメントをご参照ください。