認証メカニズム

重要

現在、この機能はプレビュー段階にあります。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用されるその他の法律条項については、「Microsoft Azure プレビューの追加の使用条件」に記載されています。 この特定のプレビューについては、Azure 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 証明書ファイルへのパス。