Blob(以下、ストレージ)に格納されているデータファイルを参照することができます。この記事は外部テーブルを作成する際に指定する認証方式(CREDENTIAL)を説明します。※本記事の内容はストレージ側のネットワーク設定において、「すべてのネットワークから有効」に設定していることが前提です。※本記事の内容は専用SQLプールと、サーバレスSQLプールの両方を対象としていますが、区別する場合はその旨を明記します。結論:・ストレージのコンテナはアクセスレベルがパブリックアクセスになっている場合、資格情報が必要なく、データファイルをアクセスすることが可能です。そのため、外部テーブルの定義に認証方式を指定しなくても問題ありません。この時は、データファイルのパスを知っていれば誰でもアクセスができてしまう点にご注意ください。・ストレージのコンテナはアクセスレベルがプライベートになっている場合、資格情報が必要になります。Identity)を指定する必要があります。Identityを利用する時は、ストレージにおけるRBAC権限を持つ必要があります。Identity方式は現時点、サーバレスSQLプールのみに対応しており、専用SQLプールは対応していません。SQLプールの外部テーブルとは外部テーブルについての説明は、詳細は次の公式ドキュメントにて記述しています。あるデータを参照します。内のファイルからデータを読み取ったり、ファイルにデータを書き込んだりするために、外部テーブルを使用できます。イメージとしては、ストレージに格納しているデータを参照したり、SQLプールにインポートしたりすることができます。3.テストデータ使用するテストデータは以下のような、4列のデータからから構成するcsvファイルです。コンテナはパブリックアクセスの場合アクセスレベルを「コンテナ」にすると、パブリックアクセスになります。この場合は冒頭で述べた通り、資格情報が必要なく、ファイルパスを知っていれば誰でもアクセスができてしまいます。ここで試として、コンテナ内にあるファイルのフルパス(https://xxx.blob.core.windows.net/container/xxx.csv)をブラウザのURL欄に入力すると、対象ファイルがダウンロードされることが確認できます。外部データソースの定義において、CREDENTIALの指定は省略しても問題ありません。コンテナはプライベートアクセスの場合アクセスレベルを「プライベート」にすると、プライベートアクセスになります。この場合は、コンテナ内のデータを参照するために資格情報が必要になります。Identity)を指定する必要があります。データ閲覧者」ロールを付与している必要があります。Identity方式になります。IDは認証に使われます。Identity方式は現時点、サーバレスSQLプールのみに対応しており、専用SQLプールは対応していません。作成した外部テーブルに対してクエリをすると、下記のエラーメッセージが表示されます。process.RBACロールを付与している場合は成功します。SAS方式SASを利用する場合は、操作ユーザにストレージアカウントのRBACロールを付与する必要がありません。IdentityにストレージアカウントのRBACロールを付与している必要があります。必要なロールは上述同様。IdentityにストレージアカウントのRBACロールを付与していない状態で、外部テーブル作成のクエリを実行すると、下記のエラーメッセージが表示されます。https://jessestorage1220.dfs.core.windows.net/container/productpart1220.csv?upn=false&action=getStatus&timeout=90'RBACロールを付与している場合は成功します。SQLプールの外部テーブルにおける認証方式を紹介しました。以下、おさらいします。資格情報が必要ありません。外部データソースのクレデンシャルを指定しなくとも、アクセスできます。外部データソースのクレデンシャルに、利用したい認証方式を指定します。操作ユーザにストレージアカウントのRBACロールを付与する必要あります。IdentityにストレージアカウントのRBACロールを付与する必要があります。ストレージアカウントのRBACロールは特に必要がありません。サービスプリンシパル方式については次回紹介します。