次の方法で共有


OneLake Shared Access Signature (SAS) とは (プレビュー)

OneLake Shared Access Signature (SAS) を使用すると、OneLake 内のリソースへの安全かつ短期的な委任アクセスが可能になります。 OneLake SAS を使用すると、クライアントがデータにアクセスする方法をきめ細かく制御できます。 次に例を示します。

  • クライアントがアクセスできるリソース。
  • リソースに対するアクセス許可。
  • SAS が有効である期間。

すべての OneLake SAS (およびユーザー委任キー) が Microsoft Entra ID によって常にサポートされ、最大有効期間は 1 時間です。また、レイクハウスなど、データ項目内のフォルダーとファイルへのアクセスのみを許可することができます。

重要

この機能はプレビュー中です。

Shared Access Signature の機能

Shared Access Signature は、OneLake リソースの URI に追加されるトークンです。 トークンには、クライアントからリソースへのアクセス方法を示す特殊なクエリ パラメーター セットが含まれます。 クエリ パラメーターの 1 つが署名です。 これは SAS パラメーターで作成され、SAS の作成に使用されたキーで署名されています。 OneLake ではこの署名を使用して、OneLake 内のフォルダーまたはファイルへのアクセスを承認します。 OneLake SAS で使用されている形式とプロパティは Azure Storage のユーザー委任 SAS と同じですが、有効期間とスコープに関するセキュリティ制限が強化されています。

OneLake SAS はユーザー委任キー (UDK) で署名されており、これは Microsoft Entra 資格情報によってサポートされています。 ユーザー委任キーを要求するには、Get User Delegation Key 操作を使用します。 次に、このキーを (まだ有効の間に) 使用して、OneLake SAS を作成します。 その Microsoft Entra アカウントのアクセス許可と、SAS に明示的に付与されたアクセス許可によって、リソースへのクライアントのアクセスが決まります。

OneLake SAS の承認

クライアントまたはアプリケーションが OneLake SAS を使用して OneLake にアクセスすると、要求は、SAS の作成に使用された UDK を要求した Microsoft Entra 資格情報を使って承認されます。 そのため、SAS には、その Microsoft Entra ID に付与されるすべての OneLake アクセス許可が適用されます。つまり、SAS は、自身を作成したユーザーのアクセス許可を超えることはできません。 さらに、SAS を作成するときに明示的にアクセス許可を付与することで、スコープをさらに絞り込んだアクセス許可を SAS に付与することができます。 Microsoft Entra ID、明示的に付与されたアクセス許可、および短い有効期間の間で、OneLake は、データへの委任アクセスを提供するためのセキュリティのベスト プラクティスに従っています。

OneLake SAS を使用するタイミング

OneLake SAS は、OneLake への安全かつ一時的なアクセスを委任するもので、Microsoft Entra ID によってサポートされます。 Microsoft Entra がネイティブ サポートされていないアプリケーションでも、OneLake SAS を使用すれば、複雑なセットアップや統合作業を行うことなく、一時的にアクセスしてデータを読み込むことができます。

OneLake SAS では、ユーザーとそのデータ間のプロキシとして機能するアプリケーションもサポートされています。 たとえば、一部の独立系ソフトウェア ベンダー (ISV) は、ユーザーとその Fabric ワークスペースの間で実行され、追加機能と、場合によっては別の認証モデルを提供していることがあります。 OneLake SAS を使用してアクセスを委任することで、これらの ISV は、ユーザーに Microsoft Entra ID がなくても、基になるデータへのアクセスを管理し、データへの直接アクセスを提供することができます。

OneLake SAS の管理

OneLake SAS の使用は、Fabric テナントの 2 つの設定によって管理されます。 1 つは [有効期間の短いユーザー委任 SAS トークンを使用する] というテナント レベルの設定です。この設定ではユーザー委任キーの生成を管理します。 ユーザー委任キーは、テナント レベルで生成されるため、テナント設定によって制御されます。 この設定は既定でオンになっています。これらのユーザー委任キーは、それを要求する Microsoft Entra ID と同等のアクセス許可を持ち、常に有効期間が短いためです。

Note

この機能をオフにすると、すべてのユーザーがユーザー委任キーを生成できなくなるため、すべてのワークスペースで OneLake SAS を使用できなくなります。

2 つ目は [OneLake ユーザー委任 SAS トークンを使用して認証する] という委任されたワークスペースの設定です。この設定では、ワークスペースが OneLake SAS を受け入れるかどうかが制御されます。 この設定は既定でオフになっており、ワークスペース管理者が、自分のワークスペースで OneLake SAS での認証を許可する必要がある場合にオンにできます。 テナント管理者は、テナント設定を使用して、すべてのワークスペースに対してこの設定をオンにするか、ワークスペース管理者にオンにしてもらいます。

Microsoft Purview コンプライアンス ポータルを使用して、ユーザー委任キーの作成を監視することもできます。 generateonelakeudk という操作名を検索すると、テナントで生成されたすべてのキーを表示できます。 SAS の作成はクライアント側の操作であるため、自身で OneLake SAS の作成を監視、制限することはできませんが、UDK の生成だけは監視および制限できます。

OneLake SAS のベスト プラクティス

  • 常に HTTPS を使用して SAS を作成または配布することで、SAS をインターセプトしようとする中間者攻撃から保護します。
  • トークン、キー、SAS トークンの有効期限を追跡します。 OneLake ユーザー委任キーと SAS の有効期間は最大 1 時間です。 UDK を要求しようとすると、または有効期間が 1 時間を超える SAS を作成しようとすると、要求は失敗します。 期限切れ OAuth トークンの有効期間延長に SAS が使用されるのを防ぐため、トークンの有効期間も、ユーザー委任キーと SAS の有効期限より長くなければなりません。
  • SAS の開始時刻に注意します。 SAS の開始時刻を現在の時刻として設定すると、マシン間で開始時刻が異なることにより (クロック スキュー)、最初の数分間はエラーが発生する可能性があります。 開始時刻を数分前に設定すると、このようなエラーが発生するのを防ぐことができます。
  • 可能な限り最小限の特権を SAS に付与します。 最小限のリソースに必要最小限の特権を提供することがセキュリティのベスト プラクティスであり、SAS が侵害された場合の影響を軽減します。
  • ユーザー委任キーの生成を監視します。 Microsoft Purview コンプライアンス ポータルでユーザー委任キーの作成を監査できます。 "generateonelakeudk" という操作名を検索して、テナントで生成されたキーを表示します。
  • OneLake SAS の制限事項を理解します。 OneLake SAS はワークスペース レベルのアクセス許可を持つことができないため、データを走査するコンテナー レベルのアクセス許可を必要とする一部の Azure Storage ツール (Azure Storage Explorer など) と互換性がありません。