認証メカニズム
大事な
AKS 上の Azure HDInsight は、2025 年 1 月 31 日に廃止されました。 の発表でについて詳しく学びましょう。
ワークロードの突然の終了を回避するには、ワークロードを Microsoft Fabric または同等の Azure 製品 に移行する必要があります。
大事な
この機能は現在プレビュー段階です。 Microsoft Azure プレビューの 追加使用条件 には、ベータ版、プレビュー版、または一般公開されていない Azure 機能に適用される、より多くの法的条件が含まれています。 この特定のプレビューの詳細については、AKS プレビュー情報 Azure HDInsightを参照してください。 ご質問や機能の提案については、詳細を記載して AskHDInsight にリクエストを送信してください。また、Azure HDInsight Community をフォローして、最新の情報を入手してください。
AKS 上の HDInsight を使用した Trino には、クラスターにアクセスするための CLI クライアント、JDBC ドライバーなどのツールが用意されています。これは、ユーザーの認証を簡略化するために Microsoft Entra ID と統合されています。 サポートされているツールまたはクライアントは、Microsoft Entra ID OAuth2 標準を使用して認証する必要があります。つまり、Microsoft Entra ID によって発行された JWT アクセス トークンをクラスター エンドポイントに提供する必要があります。
このセクションでは、ツールでサポートされる一般的な認証フローについて説明します。
認証フローの概要
次の認証フローがサポートされています。
手記
名前は予約されており、特定のフローを指定するために使用する必要があります。
名前 | 必須パラメーター | 省略可能なパラメーター | 説明 |
---|---|---|---|
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
のチェーン実行の一部として使用されます。
手記
ブラウザーが使用可能な場合は、認証プロンプトが表示され、ユーザーアクションが待機されます。 ブラウザーを使用できない場合は、AzureDeviceCode
フローにフォールバックします。
AzureClientCertificate フロー
サービス プリンシパル認証に PEM/PFX(PKCS #12) ファイルを使用できるようにします。 シークレット/パスワードが指定されている場合は、PFX(PKCS #12) 形式のファイルを想定し、シークレットを使用してファイルの暗号化を解除します。 シークレットが指定されていない場合は、PEM 形式のファイルに秘密キーと公開キーが含まれると想定されます。
環境変数
必要なすべてのパラメーターは、引数または接続文字列で CLI/JDBC に直接指定できます。 省略可能なパラメーターの一部 (指定されていない場合) は、環境変数で検索されます。
手記
認証の問題が発生した場合は、必ず環境変数を確認してください。 フローに影響を与える可能性があります。
次の表では、さまざまな認証フローの環境変数で構成できるパラメーターについて説明します。
対応するパラメーターがコマンド ラインまたは接続文字列で指定されていない場合にのみ使用されます。
変数名 | 適用可能な認証フロー | 説明 |
---|---|---|
AZURE_TENANT_ID | 全て | Microsoft Entra テナント ID。 |
AZURE_CLIENT_ID | AzureClientSecret、AzureClientCertificate、AzureManagedIdentity | アプリケーション/プリンシパル クライアント ID。 |
AZURE_CLIENT_SECRET | AzureClientSecret、AzureClientCertificate | サービス プリンシパルまたは証明書ファイルのシークレットまたはパスワード。 |
AZURE_CLIENT_CERTIFICATE_PATH | AzureClientCertificate | 証明書ファイルへのパス。 |