データサイエンスチームのレイクハウスを保護する方法

はじめに

この記事では、データ サイエンス チームやワークロードで使用するために Fabric の lakehouse のセキュリティを構成する方法の概要について説明します。

セキュリティ機能

Microsoft Fabric では、必要最小限のアクセス許可のみを提供するために、さまざまなレベルで使用できる別々のコントロールを持つ多層セキュリティ モデルを使用します。 Fabric で使用できるさまざまなセキュリティ機能の詳細については、この[ドキュメント]を参照してください。

ユース ケースごとのセキュリティ保護

Microsoft Fabric のセキュリティは、特定のユース ケースに対するデータの保護に関して最適化されています。 ユース ケースは、特定のアクセスを必要とし、所定のエンジンを介してデータにアクセスするユーザーのセットです。 データ サイエンスのシナリオについて、ユース ケースの例をいくつか次に示します。

  • Apache Spark ライター: Apache Spark ノートブックを使用してレイクハウスにデータを書き込む必要があるユーザー。
  • Apache Spark リーダー: Apache Spark ノートブックを使用してデータを読み取る必要があるユーザー。
  • パイプライン リーダー: パイプラインを使用して Lakehouse からデータを読み取る必要があるユーザー。
  • ショートカット作成者: lakehouse 内のデータへのショートカットを作成する必要があるユーザー。

その後、各ユース ケースを Fabric で必要なアクセス許可に合わせて調整できます。

書き込みアクセス

Fabric でデータを書き込む必要があるユーザーの場合、アクセスは Fabric ワークスペース ロールを使用して制御されます。書き込みアクセス許可を付与するワークスペース ロールには、管理、メンバー、共同作成者の 3 つがあります。 必要なロールを選択し、ユーザーにアクセス権を付与します。

書き込みアクセス権を持つユーザーは、OneLake データ アクセス ロール (プレビュー) によって制限されません。書き込みユーザーは、SQL Analytics エンドポイント データを介したデータへのアクセスを制限される場合がありますが、OneLake のデータへのフル アクセスは保持されます。 書き込みユーザーのデータへのアクセスを制限するには、そのデータ用に別のワークスペースを作成する必要があります。

読み取りアクセス

パイプラインまたは Apache Spark ノートブックを使用してデータを読み取る必要があるユーザーの場合、アクセス許可は、OneLake データ アクセス ロール (プレビュー) と共に Fabric アイテムの アクセス許可によって管理されます。Fabric アイテムのアクセス許可は、ユーザーが表示できるアイテムとそのアイテムへのアクセス方法を制御します。 OneLake データ アクセス ロールは、OneLake に接続するエクスペリエンスを通じてユーザーがアクセスできるデータを制御します。 OneLake データ アクセス ロールのプレビューが有効になっていない Lakehouse の場合、代わりに ReadAll のアイテム アクセス許可によってアクセスが管理され、OneLake データへのアクセスが lakehouse 全体に付与されます。

データを読み取るには、ユーザーはまず、そのデータが存在する lakehouse にアクセスする必要があります。 lakehouse へのアクセスを許可するには、ワークスペース ページまたは lakehouse UI 内から、lakehouse の [共有] ボタンを選択します。 当該ユーザーのメール アドレスまたはセキュリティ グループを入力し、[共有] を選択します。 ([追加のアクセス許可] ボックスのチェックはオフのままにしてください。 OneLake データ アクセス ロール プレビューが有効になっていない lakehouse の場合は、[すべての OneLake データの読み取り (ReadAll)] ボックスにチェックを入れます。

次に、lakehouse に移動し、[OneLake データ アクセスの管理 (プレビュー)] ボタンを選択します。 これらのオプションを使用して、レイクハウス内の特定のフォルダーの表示および読み取りを行うためのアクセス権をユーザーに付与するロールを作成できます。 既定では、フォルダーへのアクセスは許可されていません。 ロールに追加されたユーザーには、そのロールの対象となるフォルダーへのアクセス権が付与されます。 詳細については、「OneLake データ アクセス ロール (プレビュー)」を参照してください。必要に応じてロールを作成して、パイプライン、ショートカット、または Spark ノートブックを介してフォルダーを読み取るアクセス権をユーザーに付与します。

重要

OneLake データ アクセス ロール プレビューを使用するすべての Lakehouse には、Lakehouse データへのアクセスを許可する DefaultReader ロールがあります。 ユーザーが ReadAll アクセス許可を持っている場合、他のデータ アクセス ロールによって制限されることはありません。 データ アクセス ロールに含まれるユーザーが同時に DefaultReader ロールにも含まれていないようにするか、DefaultReader ロールを削除します。

ショートカットで使用する

ショートカットは OneLake 機能であり、データを物理的にコピーすることなく、1 つの場所からデータを参照できます。 ショートカットについて詳しくは、[こちら]のドキュメントをご覧ください。

OneLake の他のフォルダーと同様に、ショートカットで使用するデータを保護できます。 データ アクセス ロールを構成すると、他の Lakehouse のユーザーは、アクセス権を持つフォルダーへのショートカットのみを作成できます。 これを使用すると、他のワークスペースのユーザーに、lakehouse 内のデータのみを選択するためのアクセス権を付与できます。

重要

SQL Analytics エンドポイントは、ショートカットにアクセスするために固定 ID を使用します。 ユーザーが SQL Analytics エンドポイントを使用してショートカット テーブルに対してクエリを実行すると、そのショートカットにアクセスするために lakehouse オーナーの ID がチェックされます。 つまり、SQL クエリで使用するショートカットを作成する場合、lakehouse 作成者は、選択したフォルダーのみにアクセスを制限する OneLake データ アクセス ロールにも含まれている必要があります。