OneLake Shared Access Signature (SAS) とは (プレビュー)
OneLake Shared Access Signature (SAS) を使用すると、OneLake 内のリソースへのセキュリティで保護された短期的な委任されたアクセスが提供されます。 OneLake SAS を使用すると、クライアントがデータにアクセスする方法をきめ細かく制御できます。 次に例を示します。
- クライアントがアクセスできるリソース。
- リソースに対するアクセス許可。
- SAS が有効である期間。
すべての OneLake SAS (およびユーザー委任キー) は、常に Microsoft Entra ID によってサポートされ、最大有効期間は 1 時間であり、lakehouse などのデータ項目内のフォルダーとファイルへのアクセスのみを許可できます。
重要
この機能はプレビュー中です。
Shared Access Signature の機能
Shared Access Signature は、OneLake リソースの URI に追加されるトークンです。 トークンには、クライアントがリソースにアクセスする方法を示す特殊なクエリ パラメーターのセットが含まれています。 クエリ パラメーターの 1 つがシグネチャです。 これは SAS パラメーターから構築され、SAS の作成に使用されたキーで署名されます。 OneLake では、この署名を使用して、OneLake 内のフォルダーまたはファイルへのアクセスを承認します。 OneLake SAS は、Azure Storage ユーザー委任 SAS と同じ形式とプロパティを使用しますが、有効期間とスコープに関するセキュリティ制限が強化されています。
OneLake SAS は、Microsoft Entra 資格情報によってサポートされるユーザー委任キー (UDK) で署名されます。 ユーザー委任キーの取得操作を使用して、ユーザー委任キーを要求できます。 次に、このキーを使用して (まだ有効ですが)、OneLake SAS をビルドします。 その Microsoft Entra アカウントのアクセス許可と、SAS に明示的に付与されたアクセス許可によって、リソースへのクライアントのアクセスが決まります。
OneLake SAS の承認
クライアントまたはアプリケーションが OneLake SAS を使用して OneLake にアクセスすると、SAS の作成に使用される UDK を要求した Microsoft Entra 資格情報を使用して要求が承認されます。 そのため、その Microsoft Entra ID に付与されるすべての OneLake アクセス許可が SAS に適用されます。つまり、SAS が作成するユーザーのアクセス許可を超えることはありません。 さらに、SAS を作成する場合は、明示的にアクセス許可を付与し、SAS に対してさらにスコープを絞ったアクセス許可を提供できます。 Microsoft Entra ID、明示的に付与されたアクセス許可、および有効期間の短い間の OneLake は、データへの委任されたアクセスを提供するためのセキュリティのベスト プラクティスに従います。
OneLake SAS を使用する場合
OneLake SASs は、Microsoft Entra ID によってサポートされる、セキュリティで保護された一時的なアクセスを OneLake に委任します。 ネイティブの Microsoft Entra をサポートしていないアプリケーションでは、OneLake SAS を使用して、複雑なセットアップと統合作業なしでデータを読み込む一時的なアクセス権を取得できます。
OneLake SASs では、ユーザーとそのデータ間のプロキシとして機能するアプリケーションもサポートされています。 たとえば、一部の独立系ソフトウェア ベンダー (ISV) は、ユーザーとその Fabric ワークスペースの間で実行され、追加の機能と、場合によっては異なる認証モデルを提供します。 OneLake SAS を使用してアクセスを委任することで、これらの ISV は基になるデータへのアクセスを管理し、ユーザーが Microsoft Entra ID を持っていない場合でも、データへの直接アクセスを提供できます。
OneLake SAS の管理
Fabric テナントの 2 つの設定によって、OneLake SAS の使用が管理されます。 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 を構築しようとすると、要求が失敗します。 SAS を使用して期限切れの OAuth トークンの有効期間を延長しないようにするには、トークンの有効期間も、ユーザー委任キーと SAS の有効期限よりも長くする必要があります。
- SAS の開始時刻には注意してください。 SAS の開始時刻を現在の時刻として設定すると、マシン間の開始時刻 (クロック スキュー) が異なるため、最初の数分間のエラーが発生する可能性があります。 開始時刻を過去の数分に設定すると、これらのエラーから保護できます。
- SAS に対して最小限の特権を付与します。 最小限のリソースに必要な最小限の特権を提供することは、セキュリティのベスト プラクティスであり、SAS が侵害された場合の影響を軽減します。
- ユーザー委任キーの生成を監視します。 Microsoft Purview コンプライアンス ポータルでのユーザー委任キーの作成を監査できます。 操作名 'generateonelakeudk' を検索して、テナントで生成されたキーを表示します。
- OneLake SASs の制限事項について説明します。 OneLake SAS はワークスペース レベルのアクセス許可を持つことができないため、Azure Storage Explorer などのデータを走査するコンテナー レベルのアクセス許可を必要とする一部の Azure Storage ツールと互換性がありません。