Azure でのクラウド規模の分析のためのセキュリティのプロビジョニング

この記事では、Azure でのデータ アクセスとエンタイトルメント管理を通じて、組織がセキュリティ プロビジョニングを実装する方法について説明します。

データ アクセスの管理

組織は、認証認可を使用して、シナリオのサービスへのアクセスを制御します。 ベスト プラクティス セクションでは、特定のサービスごとのセキュリティを設定するためのガイダンスを提供します。 たとえば、「Azure Data Lake のベスト プラクティス」セクションでは、Azure Data Lake Storage でのアクセス制御とデータ レイクの構成について説明します。

前の記事では、データ製品を作成するデータ アプリケーションをオンボードする方法について説明しました。 主な焦点となったのは、可能な限り自動化を使用することでした。

Azure プラットフォーム内では、次の 2 つの方法でデータ製品へのアクセス権を付与することができます。

  • Azure Purview (データ ポリシー) を使用する
  • Microsoft Entra エンタイトルメント管理を通じてアクセスを許可するカスタム データ マーケットプレース使用する

Azure Purview メソッドの詳細については、「Azure Storage のデータ所有者によるデータセットのプロビジョニング」を参照してください。 データ所有者は、リソース グループとサブスクリプションのポリシーを定義することもできます。

この記事では、カスタム データ マーケットプレースで Microsoft Entra エンタイトルメント管理を使用してデータ製品にアクセスする方法について説明します。

Note

すべての企業は、データ製品ごとにデータ ガバナンス プロセスを詳細に定義する必要があります。 たとえば、パブリック分類または内部使用のみのデータは、リソース別にセキュリティ保護される可能性がありますが、機密以上のデータは、「Azure でのクラウド規模の分析のデータ プライバシー」で説明されているオプションを使用してセキュリティ保護されます。 分類の種類の詳細については、「現代企業で Azure データを管理する場合の要件」を参照してください。

Microsoft Entra エンタイトルメントを管理する

エンタイトルメント管理は、アクセス要求ワークフロー、アクセス割り当て、レビュー、および期限切れ処理を自動化することで、ID とアクセスのライフサイクルを大規模に管理できる、ID ガバナンス機能です。 エンタイトルメント管理とその価値の概要については、Microsoft Entra エンタイトルメント管理とは何かについての動画をご覧ください。

この記事では、Microsoft Entra ID エンタイトルメント管理に精通しているか、少なくとも Microsoft のドキュメントで学習して、次の用語を理解していることを前提とします。

用語 説明
アクセス パッケージ チームまたはプロジェクトが必要とし、ポリシーに準拠しているリソースのバンドル。 アクセス パッケージは常にカタログに含まれている必要があります。 ユーザーがアクセス権を要求する必要がある場合は、新しいアクセス パッケージを作成します。
アクセス要求 アクセス パッケージのリソースへのアクセス要求。 通常、アクセス要求は承認ワークフローを通過します。 承認されると、要求元のユーザーにアクセス パッケージが割り当てられます。
割り当て ユーザーへのアクセス パッケージの割り当て。 ユーザーには、アクセス パッケージのすべてのリソース ロールが提供されます。 通常、アクセス パッケージの割り当ては、一定時間後に期限切れになるように設定されます。
Catalog 関連リソースとアクセス パッケージのコンテナー。 カタログは委任に使用されます。これにより、管理者以外のユーザーが独自のアクセス パッケージを作成できるようにすることができます。 カタログ所有者は、自分が所有するリソースをカタログに追加できます。
カタログ作成者 新しいカタログを作成する権限を持つユーザー。 カタログ作成者として承認されている管理者以外のユーザーが新しいカタログを作成すると、そのユーザーは自動的にそのカタログの所有者になります。
接続されている組織 自分が関係を持っている、外部の Microsoft Entra ディレクトリまたはドメインのことを指します。 接続された組織のユーザーを、アクセスの要求が許可されるユーザーとして指定できます。
ポリシー データ アクセス ライフサイクルを定義するルールのセット。 ルールには、ユーザーがアクセスを取得する方法、ユーザーを承認できるユーザー、割り当てを通じてユーザーがアクセスできる期間が含まれます。 ポリシーは、アクセス パッケージにリンクされます。 アクセス パッケージには、複数のポリシーを含めることができます。 たとえば、パッケージで、アクセスを要求する従業員用に 1 つのポリシーを使用し、アクセスを要求する外部ユーザー用に 2 つ目のポリシーを使用する場合があります。

重要

Microsoft Entra テナントは現在、500 のカタログと 500 のアクセス パッケージをプロビジョニングできます。 組織でこれらの容量を増やす必要がある場合は、Azure サポートにお問い合わせください。

データ アクセス管理のワークフロー

組織は、Microsoft Entra エンタイトルメント管理を使用するカスタム アプリケーションを使用して、ドメイン データ スチュワードと最高データ責任者にアクセス ガバナンスを委任できます。 この委任により、データ アプリケーション チームは、プラットフォーム チームに遅れることなく、自分たちをサポートできます。 Microsoft Graph REST APIエンタイトルメント管理 REST API を使用して、複数のレベルの承認を設定し、エンド ツー エンドのオンボードとデータ アクセス管理を自動化できます。

Microsoft Entra エンタイトルメント管理パッケージを使用すると、管理者以外 (データ アプリケーション チームなど) にアクセス権を委任できるので、委任されたユーザーがアクセス パッケージを作成できます。 アクセス パッケージには、データ製品へのアクセスなど、ユーザーが要求できるリソースが含まれています。 データ スチュワードや他の委任されたアクセス パッケージ マネージャーは、ユーザーがアクセスを要求できる対象に関するルール、アクセスを承認できるユーザー、承認されたアクセスの有効期間を含むポリシーを定義できます。

カタログの作成

データ レイクハウスを実装する場合は、データ ランディング ゾーンごとにエンタイトルメント管理でカタログを作成します。 自動化と実装のサイズに応じて、次のいずれかを実行できます。

  • エンタイトルメント管理 REST API を呼び出して、ドメインのカタログを作成します。
  • エンタイトルメント管理ポータルを使用して、データランディング ゾーンごとに別のカタログを作成します。

データ メッシュを実装する場合は、エンタイトルメント管理でドメインごとにカタログを作成します。 自動化と実装のサイズに応じて、次のいずれかを実行できます。

  • エンタイトルメント管理 REST API を呼び出して、ドメインのカタログを作成します。
  • エンタイトルメント管理ポータルを使用して、ドメインごとに別のカタログを作成します。

ヒント

各カタログには、パッケージの作成とアクセス許可の管理に対する独自のグループ アクセス許可を設定することができます。

データ製品の作成

データ製品の詳細については、「Azure でのクラウド規模の分析のデータ製品」を参照してください。 カスタム アプリケーションの場合、データのオンボードでは、エンドツーエンドのセキュリティがプロビジョニングされることが想定されます。

データ オンボード プロセスには、次のような主要なメタデータが必要です。

  • Polyglot ストレージの場所 (コンピューティングまたはデータ レイク)
  • 承認者 (データ スチュワードやドメインの最高データ責任者など)
  • ライフサイクル要件
  • 要件を確認する
  • ドメイン
  • データ製品名
  • 分類

Create data product security groups図 1: データ アクセス管理データ製品の作成

図 1 は、データ レイクに存在するデータ製品のセキュリティ プロビジョニングをデータ アプリケーション チームが自動化する方法を示しています。 データ製品のオンボードの後に、次の処理のために Microsoft Graph REST API に要求が送信されます。

  1. Azure Active Directory Graph API を使用して 2 つのセキュリティ グループを作成します。1 つは読み取り/書き込みアクセスを許可し、もう一つは読み取りアクセスのみを許可します。

    • データ レイクの Microsoft Entra パススルー認証には、次の Microsoft Entra グループの名前付け規則が推奨されます。
      • ドメイン名またはデータランディング ゾーン名
      • データ製品名
      • データ レイク レイヤー:
        • RAW 生の場合
        • ENR エンリッチされた場合
        • CUR キュレート済みの場合
      • データ製品名:
        • RW 読み取り/書き込みの場合
        • R 読み取り専用
    • テーブル アクセス制御には、次の Microsoft Entra グループの名前付け規則が推奨されます。
      • ドメイン名またはデータランディング ゾーン名
      • データ製品名
      • スキーマまたはテーブルの名前
        • RW 読み取り/書き込みの場合
        • R 読み取り専用
  2. セキュリティ グループをデータ製品に割り当てます。 データ レイクの場合、これには、データ製品フォルダー レベルと適切なレイク レイヤー (未加工、エンリッチ済み、またはキュレーション) での 2 つのセキュリティ グループの適用が含まれます。

  3. 必要な承認者とライフサイクル (アクセス レビューと有効期限) と共にセキュリティ グループをバンドルするアクセス パッケージを作成します。

ヒント

複雑なシナリオでは、複数のセキュリティ グループをキャプチャするアクセス許可コレクション セキュリティ グループを作成できますが、これは、データ製品セキュリティ グループを既に作成した後の手動のタスクになります。

データ製品へのアクセスを要求する

カスタム アプリケーションとエンタイトルメント管理 REST API を使用して、データ製品へのアクセス権の付与を自動化できます。

Request access to a data product図 2: データ製品へのアクセスを要求する。

図 2 は、データ製品へのアクセス要求ワークフローの概要を示しています。

ユーザー アクセス要求

  1. データ ユーザーがデータ マーケットプレースを参照して、アクセスしたい製品を見つけます。
  2. データ マーケットプレースは、エンタイトルメント管理 REST API とンターフェイスし、ユーザー用のデータ製品へのアクセスを要求します。
  3. ポリシーとアカウントに従って、承認者が通知を受け取り、アクセス管理ポータルでアクセス要求をレビューします。 要求が承認された場合は、ユーザーに通知され、データセットへのアクセス権が付与されます。
  4. 組織がメタデータ (ユーザーの部門、役職、場所など) に基づいてユーザーにアクセス許可を付与する場合、Microsoft Entra ID 内の動的グループを承認済みグループとして追加することができます。

ユーザーの要求の状態

データ マーケットプレースに含まれる他のサービスは、データ製品アクセス要求の現在の状態を確認できます。 これらのサービスは、エンタイトルメント管理 REST API とインターフェイスして、ユーザーまたはサービス プリンシパルのすべての未処理の要求を一覧表示できます。

データ アクセス管理の概要

Azure でのデータ アクセス管理は、次の層に分けられます。

  • 物理レイヤー (データセットを格納するポリグロットなど)
  • Microsoft Entra のセキュリティ グループ
  • アクセス パッケージ
  • データセットにアクセスするユーザーとチーム

Example of using Microsoft Entra Entitlement Management.

上の図は、ドメインごとに 1 つのカタログが作成されたデータ メッシュ実装の例を示しています。 データ製品チームは、新しいデータセットまたは製品をデータ ランディング ゾーンにオンボードします。 Microsoft Entra グループを作成し、データセットに割り当てる。 Microsoft Entra パススルー認証を使用するか、Azure Databricks、Azure Synapse Analytics、またはその他の分析ポリグロット ストアを使用したテーブル アクセス制御を使用してアクセス権を付与できます。

Microsoft Entra エンタイトルメント管理では、ドメイン アクセス パッケージ カタログ内にアクセス パッケージが作成されます。 アクセス パッケージには、複数の Microsoft Entra グループを含めることができます。 Finance Analysis パッケージでは Finance と LOB A へのアクセス権が付与され、Finance Writers パッケージでは、Schema F と LOB A へのアクセス権が付与されます。データセットの作成者のみに書き込みアクセスを許可してください。 それ以外のユーザーの場合は、読み取り専用アクセスが既定値です。

重要

前の図は、Microsoft Entra ユーザー グループを追加する方法を示しています。 統合またはデータ製品チームがインジェスト パイプラインなどに使用する Azure サービス プリンシパルの追加にも同じプロセスを使用できます。 ライフサイクル設定を 2 つ設定する必要があります。1 つは、ユーザーが短期アクセス (30 日間) を要求する場合、もう 1 つは長いアクセス期間 (90 日間) を要求する場合のものです。

次のステップ