次の方法で共有


ストレージの接続文字列

適用対象: ✅Microsoft FabricAzure データ エクスプローラー

Kusto サービスは、外部ストレージ サービスと対話できます。 たとえば、 Azure Storage 外部テーブルを作成 外部ストレージに格納されているデータに対してクエリを実行できます。

次の種類の外部ストレージがサポートされます。

  • Azure Blob Storage
  • Azure Data Lake Storage Gen2
  • Azure Data Lake Storage Gen1
  • Amazon S3

ストレージの種類ごとに、ストレージ リソースとそのアクセス方法を説明するために使用される、対応する接続文字列形式があります。 URI 形式は、これらのストレージ リソースと、それらにアクセスするために必要なプロパティ (セキュリティ資格情報など) を記述するために使用されます。

Note

HTTP Web サービスのサポートは、任意の HTTP Web サービスからリソースを取得することに限定されます。 リソースの書き込みなど、その他の操作はサポートされていません。

ストレージ接続文字列テンプレート

ストレージの種類ごとに、接続文字列の形式が異なります。 各ストレージの種類の接続文字列テンプレートについては、次の表を参照してください。

ストレージの種類 Scheme URI テンプレート
Azure Blob Storage https:// https://StorageAccountName.blob.core.windows.net/Container[/BlobName][CallerCredentials]
Azure Data Lake Storage Gen2 https:// https://StorageAccountName.dfs.core.windows.net/Filesystem[/PathToDirectoryOrFil e][CallerCredentials]
Azure Data Lake Storage Gen2 abfss:// abfss://Filesystem@StorageAccountName.dfs.core.windows.net/[PathToDirectoryOrFile][CallerCredentials]
Azure Data Lake Storage Gen1 adl:// adl://StorageAccountName.azuredatalakestore.net/PathToDirectoryOrFile[CallerCredentials]
Amazon S3 https:// https://BucketName.s3.RegionName.amazonaws.com/ObjectKey[CallerCredentials]
HTTP Web サービス https:// https://Hostname/PathAndQuery

Note

シークレットがトレースに表示されないようにするには、 obfuscated 文字列リテラルを使用します。

ストレージの認証方法

非パブリック外部ストレージと対話するには、外部ストレージ 接続文字列の一部として認証手段を指定する必要があります。 接続文字列は、アクセスするリソースとその認証情報を定義します。

次の認証情報がサポートされています。

ストレージの種類別にサポートされる認証

次の表は、さまざまな外部ストレージの種類で使用できる認証方法をまとめたものです。

認証方法 Blob Storage で使用できますか? Azure Data Lake Storage Gen 2 で使用できますか? Azure Data Lake Storage Gen 1 で使用できますか? Amazon S3 で利用できますか。 この方法を使用するタイミング
偽装 ✔️ ✔️ ✔️ 外部ストレージに対して複雑なアクセス制御を必要とする有人フローに使用します。 たとえば、連続エクスポート フローなどの場合です。 ユーザー レベルでストレージ アクセスを制限することもできます。
マネージド ID ✔️ ✔️ ✔️ Microsoft Entra プリンシパルを派生してクエリとコマンドを実行できない無人フローで使用します。 マネージド ID が、唯一の認証ソリューションです。
Shared Access (SAS) キー ✔️ ✔️ SAS トークンには有効期限があります。 限られた時間ストレージにアクセスする場合に使用します。
Microsoft Entra アクセス トークン ✔️ ✔️ ✔️ Microsoft Entra トークンには有効期限があります。 限られた時間ストレージにアクセスする場合に使用します。
ストレージ アカウント アクセス キー ✔️ ✔️ リソースに継続的にアクセスする必要がある場合。
アマゾン ウェブ サービスのプログラムによるアクセス キー ✔️ Amazon S3 リソースに継続的にアクセスする必要がある場合。
Amazon Web Services S3 の署名付き URL ✔️ 一時署名済み URL を使用して Amazon S3 リソースにアクセスする必要がある場合。

偽装

Kusto は、リソースにアクセスするために要求元のプリンシパル ID を偽装します。 権限借用を使用するには、接続文字列に ;impersonate を追加します。

"https://fabrikam.blob.core.windows.net/container/path/to/file.csv;impersonate"

プリンシパルには、操作を実行するために必要なアクセス許可が必要です。 たとえば、Azure Blob Storage では、BLOB から読み取るために、プリンシパルにはストレージ BLOB データ閲覧者ロールが必要であり、BLOB にエクスポートするには、プリンシパルにストレージ BLOB データ共同作成者ロールが必要です。 詳細については、「Azure Blob Storage/Data Lake Storage Gen2 アクセス制御Data Lake Storage Gen1 のアクセス制御を参照してください。

マネージド ID

Azure Data Explorer は、マネージド ID に代わって要求を行い、その ID を使用してリソースにアクセスします。 システム割り当てマネージド ID の場合は、接続文字列に;managed_identity=systemを追加します。 ユーザー割り当てマネージド ID の場合は、接続文字列に;managed_identity={object_id}を追加します。

マネージド ID の種類
システム割り当て "https://fabrikam.blob.core.windows.net/container/path/to/file.csv;managed_identity=system"
ユーザー割り当て "https://fabrikam.blob.core.windows.net/container/path/to/file.csv;managed_identity=12345678-1234-1234-1234-1234567890ab"

マネージド ID には、操作を実行するために必要なアクセス許可が必要です。 たとえば、Azure Blob Storage では、BLOB から読み取るために、マネージド ID にはストレージ BLOB データ閲覧者ロールが必要であり、BLOB にエクスポートするには、マネージド ID にストレージ BLOB データ共同作成者ロールが必要です。 詳細については、「Azure Blob Storage/Data Lake Storage Gen2 アクセス制御Data Lake Storage Gen1 のアクセス制御を参照してください。

Note

マネージド ID は、特定の Azure Data Explorer フローでのみサポートされており、マネージド ID ポリシーを設定する必要があります。 詳細については、マネージド ID の概要に関するページを参照してください。

Shared Access (SAS) トークン

Azure portal で、必要なアクセス許可を持つ SAS トークンを生成します。

たとえば、外部ストレージから読み取る場合は、読み取りと一覧表示のアクセス許可を指定し、外部ストレージにエクスポートするには書き込みアクセス許可を指定します。 詳細については、「 共有アクセス署名を使用してアクセスを委任する」を参照してください。

接続文字列として SAS URL を使用します。

"https://fabrikam.blob.core.windows.net/container/path/to/file.csv?sv=...&sp=rwd"

Microsoft Entra アクセス トークン

base-64 でエンコードされた Microsoft Entra アクセス トークンを追加するには、;token={AadToken}を接続文字列に追加します。 トークンはリソース https://storage.azure.com/用である必要があります。

Microsoft Entra アクセス トークンを生成する方法の詳細については、「 承認用のアクセス トークンを取得する」を参照してください。

"https://fabrikam.blob.core.windows.net/container/path/to/file.csv;token=1234567890abcdef1234567890abcdef1234567890abc..."

ストレージ アカウント アクセス キー

ストレージ アカウントのアクセス キーを追加するには、接続文字列にキーを追加します。 Azure Blob Storage で、接続文字列に;{key}を追加します。 Azure Data Lake Storage Gen 2 の場合は、接続文字列に;sharedkey={key}を追加します。

ストレージ アカウント
Azure Blob Storage "https://fabrikam.blob.core.windows.net/container/path/to/file.csv;ljkAkl...=="
Azure Data Lake Storage Gen2 "abfss://fs@fabrikam.dfs.core.windows.net/path/to/file.csv;sharedkey=sv=...&sp=rwd"

Amazon Web Services のプログラムによるアクセス キー

アマゾン ウェブ サービス のアクセス キーを追加するには、接続文字列に ;AwsCredentials={ACCESS_KEY_ID},{SECRET_ACCESS_KEY} を追加します。

"https://yourbucketname.s3.us-east-1.amazonaws.com/path/to/file.csv;AwsCredentials=AWS1234567890EXAMPLE,1234567890abc/1234567/12345678EXAMPLEKEY"

Amazon Web Services S3 の署名付き URL

S3 の署名付き URL を接続文字列として使用します。

"https://yourbucketname.s3.us-east-1.amazonaws.com/file.csv?12345678PRESIGNEDTOKEN"

ストレージ 接続文字列の使用方法の例については、次を参照してください。