認証メカニズム
Note
Azure HDInsight on AKS は 2025 年 1 月 31 日に廃止されます。 2025 年 1 月 31 日より前に、ワークロードを Microsoft Fabric または同等の Azure 製品に移行することで、ワークロードの突然の終了を回避する必要があります。 サブスクリプション上に残っているクラスターは停止され、ホストから削除されることになります。
提供終了日までは基本サポートのみが利用できます。
重要
現在、この機能はプレビュー段階にあります。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用されるその他の法律条項については、「Microsoft Azure プレビューの追加の使用条件」に記載されています。 この特定のプレビューについては、「Microsoft HDInsight on AKS のプレビュー情報」を参照してください。 質問や機能の提案については、詳細を記載した要求を AskHDInsight で送信してください。また、その他の更新情報については、Azure HDInsight コミュニティをフォローしてください。
HDInsight on AKS の Trino クラスター には、ユーザー認証を簡略化するために Microsoft Entra ID と統合されたクラスターにアクセスするための CLI クライアント、JDBC ドライバーなどのツールが用意されています。 サポートされているツールまたはクライアントは、Microsoft Entra ID OAuth2 標準を使用して認証する必要があります。つまり、Microsoft Entra ID によって発行された JWT アクセス トークンをクラスター エンドポイントに提供する必要があります。
このセクションでは、ツールでサポートされる一般的な認証フローについて説明します。
認証フローの概要
次の認証フローがサポートされています。
Note
名前は予約されており、特定のフローを指定するために使用する必要があります。
名前 | 必須のパラメーター | 省略可能なパラメーター | 説明 |
---|---|---|---|
AzureDefault | なし | テナント ID、クライアント ID | 対話型環境での開発中の使用に適しています。 ほとんどの場合、ユーザーはブラウザーを使用してサインインします。 詳細については、こちらを参照してください。 |
AzureInteractive | なし | テナント ID、クライアント ID | ユーザーはブラウザーを使用して認証します。 詳細については、こちらを参照してください。 |
AzureDeviceCode | なし | テナント ID、クライアント ID | ブラウザーを使用できない環境に適しています。 ユーザーに提供されるデバイス コードでは、コードとブラウザーを使用して別のデバイスにサインインするためのアクションが必要です。 |
AzureClientSecret | テナント ID、クライアント ID、クライアント シークレット | なし | サービス プリンシパル ID が使用されます。資格情報が必須で、非対話型です。 |
AzureClientCertificate | テナント ID、クライアント ID、証明書ファイル パス | シークレットまたはパスワード。 指定した場合は、PFX 証明書の暗号化を解除するために使用されます。 それ以外の場合は、PEM 形式が想定されます。 | サービス プリンシパル ID が使用されます。証明書が必須で、非対話型です。 詳細については、こちらを参照してください。 |
AzureManagedIdentity | テナント ID、クライアント ID | なし | Azure VM や AKS ポッドなど、環境のマネージド ID を使用します。 |
AzureDefault フロー
auth
パラメーターが指定されていない場合、このフローは Trino CLI および JDBC で既定のモードです。 このモードでは、クライアント ツールは、トークンが取得されるまで、いくつかのメソッドを使用してトークンの取得を試みます。
次のチェーン実行で、トークンが見つからないか認証に失敗した場合、プロセスは次の方法で続行されます。
DefaultAzureCredential ->AzureInteractive -> AzureDeviceCode (ブラウザーなしの場合)
AzureInteractive フロー
このモードは、auth=AzureInteractive
が提供されている場合、または AzureDefault
チェーン実行の一部として使用されます。
Note
ブラウザーを使用できる場合は、認証プロンプトが表示され、ユーザーのアクションを待機します。 ブラウザーを使用できない場合は、AzureDeviceCode
フローにフォールバックします。
AzureClientCertificate フロー
サービス プリンシパル認証に PEM または PFX (PKCS #12) ファイルを使用できるようにします。 シークレットまたはパスワードが指定されている場合は、PFX (PKCS #12) 形式のファイルが想定され、シークレットを使用してファイルの暗号化を解除します。 シークレットが指定されていない場合は、PEM 形式のファイルに秘密キーと公開キーが含まれることが想定されます。
環境変数
必要なすべてのパラメーターは、引数または接続文字列で CLI または JDBC に直接指定できます。 省略可能なパラメーターで、指定されていないものは、環境変数で検索されます。
Note
認証の問題が発生した場合は、必ず環境変数を確認してください。 それらはフローに影響を与える可能性があります。
次の表は、さまざまな認証フローの環境変数で構成できるパラメーターについて説明したものです。
対応するパラメーターがコマンド ラインまたは接続文字列で指定されていない場合にのみ使用されます。
変数名 | 適用可能な認証フロー | 説明 |
---|---|---|
AZURE_TENANT_ID | すべて | Microsoft Entra テナント ID。 |
AZURE_CLIENT_ID | AzureClientSecret、AzureClientCertificate、AzureManagedIdentity | アプリケーションまたはプリンシパル クライアント ID。 |
AZURE_CLIENT_SECRET | AzureClientSecret、AzureClientCertificate | サービス プリンシパルまたは証明書ファイルのシークレットまたはパスワード。 |
AZURE_CLIENT_CERTIFICATE_PATH | AzureClientCertificate | 証明書ファイルへのパス。 |