ベスト プラクティス:Azure Databricks でのデータ ガバナンスBest practices: Data governance on Azure Databricks

このドキュメントでは、組織全体でこれらの手法を実装するために使用できる、データガバナンスおよび共有のベストプラクティスと方法について説明します。This document describes the need for data governance and shares best practices and strategies you can use to implement these techniques across your organization. ここでは、Azure Databricks およびクラウドネイティブソリューションを使用して、アプリケーションからストレージまでの各層をセキュリティで保護し、監視する一般的なデプロイワークフローを示します。It demonstrates a typical deployment workflow you can employ using Azure Databricks and cloud-native solutions to secure and monitor each layer from the application down to storage.

データガバナンスが重要な理由Why is data governance important?

データガバナンスは、組織内のデータ資産を安全に管理するために実装されたポリシーとプラクティスをカプセル化した包括的な用語です。Data governance is an umbrella term that encapsulates the policies and practices implemented to securely manage the data assets within an organization. データガバナンスを成功させるための重要な原則の1つとして、データセキュリティは大規模な組織にとって最も重要であると考えられます。As one of the key tenets of any successful data governance practice, data security is likely to be top of mind at any large organization. データセキュリティにとって重要なのは、データチームが組織全体でユーザーデータアクセスパターンをより優れた可視性と監査機能を持つことができるようにすることです。Key to data security is the ability for data teams to have superior visibility and auditability of user data access patterns across their organization. 効果的なデータガバナンスソリューションを実装することで、企業はデータを不正なアクセスから保護し、規制要件に準拠するための規則を確実に適用することができます。Implementing an effective data governance solution helps companies protect their data from unauthorized access and ensures that they have rules in place to comply with regulatory requirements.

ガバナンスの課題Governance challenges

スタートアップまたは大規模な企業のデータを管理している場合でも、セキュリティチームとプラットフォームの所有者は、このデータがセキュリティで保護され、組織の内部コントロールに従って管理されることを保証するという単一の課題を持ちます。Whether you’re managing the data of a startup or a large corporation, security teams and platform owners have the singular challenge of ensuring that this data is secure and is being managed according to the internal controls of the organization. 規制機関は、データをキャプチャして格納する方法を検討する方法を変更しています。Regulatory bodies the world over are changing the way we think about how data is both captured and stored. これらのコンプライアンスリスクは、既に困難な問題に対して複雑さをさらに高めるものです。These compliance risks only add further complexity to an already tough problem. その後、将来のユースケースを推進できるユーザーに対してデータを開くにはどうすればよいでしょうか。How then, do you open your data to those who can drive the use cases of the future? 最終的には、データの大規模なストアである可能性のある意味のあるアプリケーションによって価値を実現するために役立つデータポリシーとプラクティスを採用する必要があります。Ultimately, you should be adopting data policies and practices that help the business to realize value through the meaningful application of what can often be vast stores of data, stores that are growing all the time. データチームが多種多様なデータソースにアクセスできるようになったときに、世界の困難な問題に対する解決策を手にします。We get solutions to the world’s toughest problems when data teams have access to many and disparate sources of data.

クラウド内のデータのセキュリティと可用性を考慮する場合の一般的な課題:Typical challenges when considering the security and availability of your data in the cloud:

  • 現在のデータと分析ツールは、クラウド内のデータに対するアクセス制御をサポートしていますか?Do your current data and analytics tools support access controls on your data in the cloud? 特定のツールを移動するときに、データに対して実行されるアクションの堅牢なログ記録を提供しますか。Do they provide robust logging of actions taken on the data as it moves through the given tool?
  • 今作成したセキュリティと監視ソリューションは、データレイク内のデータに対する需要に応じて拡大縮小されますか。Will the security and monitoring solution you put in place now scale as demand on the data in your data lake grows? 少数のユーザーに対してデータアクセスをプロビジョニングし、監視するのは簡単です。It can be easy enough to provision and monitor data access for a small number of users. Data lake を数百のユーザーに開放する場合はどうなりますか。What happens when you want to open up your data lake to hundreds of users? 何千もありませんか。To thousands?
  • データアクセスポリシーが監視されているかどうかを事前に確認するためにできることはありますか。Is there anything you can do to be proactive in ensuring that your data access policies are being observed? 単に監視するだけでは不十分です。これは、より多くのデータです。It is not enough to simply monitor; that is just more data. データの可用性が単なるデータセキュリティの課題である場合は、組織全体でこの情報へのアクセスを積極的に監視および追跡するためのソリューションを用意しておく必要があります。If data availability is merely a challenge of data security, you should have a solution in place to actively monitor and track access to this information across the organization.
  • 既存のデータガバナンスソリューションのギャップを特定するには、どのような手順を実行すればよいですか。What steps can you take to identify gaps in your existing data governance solution?

Azure Databricks がこれらの課題に対処する方法How Azure Databricks addresses these challenges

  • アクセス制御: 豊富なアクセス制御のスイートによって、ストレージ層が縮小されます。Access control: Rich suite of access control all the way down to the storage layer. Azure Databricks は、プラットフォームの最新の Azure セキュリティサービスを利用することで、クラウドのバックボーンを活用できます。Azure Databricks can take advantage of its cloud backbone by utilizing state-of-the-art Azure security services right in the platform. Spark クラスターで Azure Active Directory 資格情報のパススルーを有効にして、data lake へのアクセスを制御します。Enable Azure Active Directory credential passthrough on your spark clusters to control access to your data lake.
  • クラスターポリシー: 管理者がコンピューティングリソースへのアクセスを制御できるようにします。Cluster policies: Enable administrators to control access to compute resources.
  • API ファースト: Databricks REST API を使用したプロビジョニングとアクセス許可の管理を自動化します。API first: Automate provisioning and permission management with the Databricks REST API.
  • 監査ログ: ワークスペース全体で実行されたアクションと操作に対する堅牢な監査ログ。Audit logging: Robust audit logs on actions and operations taken across the workspace delivered to your data lake. Azure Databricks では、Azure の機能を活用して、デプロイアカウントと構成した他のユーザーにデータアクセス情報を提供できます。Azure Databricks can leverage the power of Azure to provide data access information across your deployment account and any others you configure. その後、この情報を使用して、wrongdoing になる可能性のある通知を power alerts に渡すことができます。You can then use this information to power alerts that tip us off to potential wrongdoing.

以下のセクションでは、これらの Azure Databricks 機能を使用してガバナンスソリューションを実装する方法について説明します。The following sections illustrate how to use these Azure Databricks features to implement a governance solution.

アクセス制御を設定するSet up access control

アクセス制御を設定するには、ストレージへのアクセスをセキュリティで保護し、個々のテーブルの詳細な制御を実装します。To set up access control, you secure access to storage and implement fine-grained control of individual tables.

テーブルアクセス制御の実装Implement table access control

Azure Databricks で テーブルアクセス制御を有効 にすると、SPARK SQL API からのデータへのアクセスをプログラムで許可、拒否、および取り消すことができます。You can enable table access control on Azure Databricks to programmatically grant, deny, and revoke access to your data from the Spark SQL API. データベース、テーブル、ビュー、関数などのセキュリティ保護可能なオブジェクトへのアクセスを制御できます。You can control access to securable objects like databases, tables, views and functions. 財務データを格納するデータベースが会社に存在するシナリオを考えてみましょう。Consider a scenario where your company has a database to store financial data. アナリストは、そのデータを使用して財務レポートを作成することができます。You might want your analysts to create financial reports using that data. ただし、アナリストがアクセスできないデータベースの別のテーブルには、機密情報が含まれている可能性があります。However, there might be sensitive information in another table in the database that analysts should not access. 1つのテーブルからデータを読み取るために必要な特権をユーザーまたはグループに提供できますが、2番目のテーブルにアクセスするためのすべての特権を拒否します。You can provide the user or group the privileges required to read data from one table, but deny all privileges to access the second table.

次の図では、Alice は shared_data Finance データベース内のテーブルとテーブルを所有する管理者です private_dataIn the following illustration, Alice is an admin who owns the shared_data and private_data tables in the Finance database. Alice は、からの読み取りに必要な特権を持つ Oscar (アナリスト) を提供し shared_data ますが、すべての特権はに対して拒否 private_data します。Alice then provides Oscar, an analyst, with the privileges required to read from shared_data but denies all privileges to private_data.

Grant selectGrant select

Alice は、 SELECT 読み取る特権を Oscar に付与し shared_data ます。Alice grants SELECT privileges to Oscar to read from shared_data:

Select テーブルの許可Grant select table

Alice は、すべてのアクセス権を Oscar に拒否し private_data ます。Alice denies all privileges to Oscar to access private_data:

Deny ステートメントDeny statement

テーブルのサブセットに対して細かいアクセス制御を定義したり、テーブルの派生ビューに権限を設定したりすることで、これをさらに一歩進めていくことができます。You can take this one step further by defining fine-grained access controls to a subset of a table or by setting privileges on derived views of a table.

テーブルの拒否Deny table

Azure Data Lake Storage へのアクセスをセキュリティで保護するSecure access to Azure Data Lake Storage

Azure Databricks クラスターから Azure Data Lake Storage のデータにアクセスするには、いくつかの方法があります。You can access data in Azure Data Lake Storage from Azure Databricks clusters in a couple of ways. ここで説明する方法は、主に、アクセスされるデータが対応するワークフローでどのように使用されるかに対応しています。The methods discussed here mainly correspond to how the data being accessed will be used in the corresponding workflow. つまり、より対話型でアドホックな方法でデータにアクセスすることになります。たとえば、ML モデルを開発したり、運用ダッシュボードを構築したりすることができます。That is, will you be accessing your data in a more interactive, ad-hoc way, perhaps developing an ML model or building an operational dashboard? その場合は、Azure Active Directory (Azure AD) 資格情報のパススルーを使用することをお勧めします。In that case, we recommend that you use Azure Active Directory (Azure AD) credential passthrough. Data lake 内のコンテナーへの1回限りのアクセスを必要とする、スケジュールされた自動ワークロードを実行しますか?Will you be running automated, scheduled workloads that require one-off access to the containers in your data lake? その後、サービスプリンシパルを使用して Azure Data Lake Storage にアクセスすることをお勧めします。Then using service principals to access Azure Data Lake Storage is preferred.

資格情報のパススルーCredential passthrough

資格情報のパススルー は、ユーザーの ロールベースのアクセス制御に基づいて、プロビジョニングされたすべてのファイルストアに対するユーザースコープのデータアクセス制御を提供します。Credential passthrough provides user-scoped data access controls to any provisioned file stores based on the user’s role based access controls. クラスターを構成するときに、[詳細オプション] を選択して展開し、資格情報のパススルーを有効にします。When you configure a cluster, select and expand Advanced Options to enable credential passthrough. クラスター上のデータにアクセスしようとしたユーザーは、Active Directory アカウントに従って、対応するファイルシステムリソースに配置されているアクセス制御によって管理されます。Any users who attempt to access data on the cluster will be governed by the access controls put in place on their corresponding file system resources, according to their Active Directory account.

クラスターのアクセス許可Cluster permission

このソリューションは、多くの対話式のユースケースに適しています。また、アクセス許可を1か所で管理することを必要とする簡素化されたアプローチを提供します。This solution is suitable for many interactive use cases and offers a streamlined approach, requiring that you manage permissions in just one place. この方法では、ユーザーごとに特定のアクセス制御をプロビジョニングすることを心配する必要なく、1つのクラスターを複数のユーザーに割り当てることができます。In this way, you can allocate one cluster to multiple users without having to worry about provisioning specific access controls for each of your users. Azure Databricks クラスターでプロセスを分離することにより、ユーザーの資格情報が漏洩したり、共有したりすることがなくなります。Process isolation on Azure Databricks clusters ensures that user credentials will not be leaked or otherwise shared. このアプローチでは、Azure storage 監査ログにユーザーレベルのエントリを記録するという利点もあります。これにより、プラットフォーム管理者は、ストレージ層のアクションを特定のユーザーに関連付けることができます。This approach also has the added benefit of logging user-level entries in your Azure storage audit logs, which can help platform admins to associate storage layer actions with specific users.

このメソッドには、次のような制限があります。Some limitations to this method are:

  • Azure Data Lake Storage ファイルシステムのみをサポートします。Supports only Azure Data Lake Storage file systems.
  • Databricks REST API アクセス。Databricks REST API access.
  • テーブルアクセス制御: Azure Databricks では、テーブルアクセス制御で資格情報のパススルーを使用することは推奨されません。Table access control: Azure Databricks does not suggest using credential passthrough with table access control. これらの2つの機能を組み合わせる場合の制限事項の詳細については、「 制限事項」を参照してください。For more details on the limitations of combining these two features, see Limitations. テーブルアクセス制御の使用方法の詳細については、「 テーブルアクセス制御の実装」を参照してください。For more information about using table access control, see Implement table access control.
  • 長時間実行されるジョブまたはクエリには適していません。これは、ユーザーのアクセストークンの有効期間が限られているためです。Not suitable for long-running jobs or queries, because of the limited time-to-live on a user’s access token. これらの種類のワークロードでは、 サービスプリンシパル を使用してデータにアクセスすることをお勧めします。For these types of workloads, we recommend that you use service principals to access your data.

資格情報のパススルーを使用して Azure Data Lake Storage を安全にマウントするSecurely mount Azure Data Lake Storage using credential passthrough

Databricks File System (DBFS) に Azure Data Lake Storage アカウントまたはフォルダーをマウントして、data Lake 内のデータに簡単かつ安全にアクセスできるようにすることができます。You can mount an Azure Data Lake Storage account or folder inside it to the Databricks File System (DBFS), providing an easy and secure way to access data in your data lake. Mount は data lake store へのポインターであるため、データがローカルに同期されることはありません。The mount is a pointer to a data lake store, so the data is never synced locally. Azure Data Lake Storage 資格情報のパススルーで有効になっているクラスターを使用してデータをマウントすると、マウントポイントへの読み取りまたは書き込みで Azure AD の資格情報が使用されます。When you mount data using a cluster enabled with Azure Data Lake Storage credential passthrough, any read or write to the mount point uses your Azure AD credentials. このマウントポイントは他のユーザーに表示されますが、読み取りと書き込みアクセス権を持つユーザーは、次のユーザーだけです。This mount point will be visible to other users, but the only users that will have read and write access are those who:

  • 基になる Azure Data Lake Storage ストレージアカウントにアクセスできるHave access to the underlying Azure Data Lake Storage storage account
  • Azure Data Lake Storage 資格情報のパススルーに対応したクラスターを使用しているAre using a cluster enabled for Azure Data Lake Storage credential passthrough

資格情報のパススルーを使用して Azure Data Lake Storage をマウントするには、「 mount Azure Data Lake Storage TO DBFS using credential passthrough」の手順に従います。To mount Azure Data Lake Storage using credential passthrough, follow the instructions in Mount Azure Data Lake Storage to DBFS using credential passthrough.

サービス プリンシパルService principals

より長時間または頻繁に実行するワークロードのために、ユーザーまたはサービスアカウントにアクセス権を付与するにはどうすればよいですか。How do you grant access to users or service accounts for more long-running or frequent workloads? Power BI や Tableau などのビジネスインテリジェンスツールを使用して、ODBC/JDBC 経由で Azure Databricks のテーブルにアクセスする必要がある場合はどうすればよいでしょうか。What if you want to utilize a business intelligence tool, such as Power BI or Tableau, that needs access to the tables in Azure Databricks via ODBC/JDBC? このような場合は、サービスプリンシパルと OAuth を使用する必要があります。In these cases, you should use service principals and OAuth. サービスプリンシパルは、特定の Azure リソースに限定された id アカウントです。Service principals are identity accounts scoped to very specific Azure resources. Notebook でジョブを作成するときに、ジョブクラスターの Spark 構成に次の行を追加するか、ノートブックで直接実行することができます。When building a job in a notebook, you can add the following lines to the job cluster’s Spark configuration or run directly in the notebook. これにより、ジョブのスコープ内で対応するファイルストアにアクセスできます。This allows you to access the corresponding file store within the scope of the job.

spark.conf.set("fs.azure.account.auth.type.<storage-account-name>.dfs.core.windows.net", "OAuth")
spark.conf.set("fs.azure.account.oauth.provider.type.<storage-account-name>.dfs.core.windows.net", "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider")
spark.conf.set("fs.azure.account.oauth2.client.id.<storage-account-name>.dfs.core.windows.net", "<application-id>")
spark.conf.set("fs.azure.account.oauth2.client.secret.<storage-account-name>.dfs.core.windows.net", dbutils.secrets.get(scope = "<scope-name>", key = "<key-name-for-service-credential>"))
spark.conf.set("fs.azure.account.oauth2.client.endpoint.<storage-account-name>.dfs.core.windows.net", "https://login.microsoftonline.com/<directory-id>/oauth2/token")

同様に、サービスプリンシパルと OAuth トークンを使用してファイルストアをマウントすることによって、Azure Data Lake Storage Gen1 または Gen2 URI から直接読み取ることで、データにアクセスできます。Similarly, you can access said data by reading directly from an Azure Data Lake Storage Gen1 or Gen2 URI by mounting your file store(s) with a service principal and an OAuth token. 上記の構成を設定すると、URI を使用して、Azure Data Lake Storage 内のファイルに直接アクセスできるようになります。Once you’ve set the configuration above, you can now access files directly in your Azure Data Lake Storage using the URI:

"abfss://<file-system-name>@<storage-account-name>.dfs.core.windows.net/<directory-name>"

この方法でファイルシステムが登録されているクラスター上のすべてのユーザーは、ファイルシステム内のデータにアクセスできます。All users on a cluster with a file system registered in this way will have access to the data in the file system.

クラスター構成の管理Manage cluster configurations

クラスターポリシー を使用すると、Azure Databricks 管理者は、インスタンスの種類、ノード数、カスタムタグなど、クラスターで許可されるクラスター属性を定義できます。Cluster policies allow Azure Databricks administrators to define cluster attributes that are allowed on a cluster, such as instance types, number of nodes, custom tags, and many more. 管理者がポリシーを作成し、ユーザーまたはグループに割り当てると、それらのユーザーは、アクセス権を持つポリシーに基づいてクラスターを作成できるようになります。When an admin creates a policy and assigns it to a user or a group, those users can only create clusters based on the policy they have access to. これにより、管理者は、作成できるクラスターの種類をより細かく制御できます。This gives administrators a much higher degree of control on what types of clusters can be created.

JSON ポリシー定義でポリシーを定義し、クラスターポリシー UI または クラスターポリシー APIを使用してクラスターポリシーを作成します。You define policies in a JSON policy definition and then create cluster policies using the cluster policies UI or Cluster Policies API. ユーザーは、 create_cluster 少なくとも1つのクラスターポリシーへのアクセス許可またはアクセス権を持っている場合にのみ、クラスターを作成できます。A user can create a cluster only if they have the create_cluster permission or access to at least one cluster policy. 新しい分析プロジェクトチームの要件を拡張することで、管理者はクラスターポリシーを作成し、プロジェクトチーム内の1人または複数のユーザーに割り当てることができるようになりました。これにより、チームのクラスターを作成できるようになりました。これは、クラスターポリシーで指定された規則に限定されます。Extending your requirements for the new analytics project team, as described above, administrators can now create a cluster policy and assign it to one or more users within the project team who can now create clusters for the team limited to the rules specified in the cluster policy. 次の図は、 Project Team Cluster Policy ポリシー定義に基づいてクラスターを作成するためのアクセス権を持つユーザーの例を示しています。The image below provides an example of a user that has access to the Project Team Cluster Policy creating a cluster based on the policy definition.

クラスター ポリシーCluster policy

クラスターを自動的にプロビジョニングしてアクセス許可を付与するAutomatically provision clusters and grant permissions

クラスターとアクセス許可の両方にエンドポイントを追加することで、Databricks REST API 2.0 を使用すると、ユーザーおよびグループのクラスターリソースへのアクセス許可を任意のスケールで簡単にプロビジョニングして付与することができます。With the addition of endpoints for both clusters and permissions, the Databricks REST API 2.0 makes it easy to both provision and grant permission to cluster resources for users and groups at any scale. クラスター APIを使用して、特定のユースケースに合わせてクラスターを作成し、構成することができます。You can use the Clusters API to create and configure clusters for your specific use case.

その後、アクセス許可 API を使用して、クラスターにアクセス制御を適用できます。You can then use the Permissions API to apply access controls to the cluster.

重要

Permissions API は プライベートプレビューです。The Permissions API is in Private Preview. Azure Databricks ワークスペースに対してこの機能を有効にするには、Azure Databricks 担当者に問い合わせてください。To enable this feature for your Azure Databricks workspace, contact your Azure Databricks representative.

新しい分析プロジェクトチームに適した構成の例を次に示します。The following is an example of a configuration that might suit a new analytics project team.

要件は次のとおりです。The requirements are:

  • このチームの対話型ワークロードをサポートします。ほとんどの場合、SQL と Python のユーザーです。Support the interactive workloads of this team, who are mostly SQL and Python users.
  • ロールに関連付けられているデータへのアクセス権をチームに付与する資格情報を使用して、オブジェクトストレージにデータソースをプロビジョニングします。Provision a data source in object storage with credentials that give the team access to the data tied to the role.
  • ユーザーがクラスターのリソースを均等に共有していることを確認します。Ensure that users get an equal share of the cluster’s resources.
  • より大きなメモリ最適化インスタンスの種類をプロビジョニングします。Provision larger, memory optimized instance types.
  • この新しいプロジェクトチームのみがアクセスできるように、クラスターにアクセス許可を付与します。Grant permissions to the cluster such that only this new project team has access to it.
  • このクラスターにタグを付けて、発生したコンピューティングコストに対してチャージバックを適切に実行できることを確認します。Tag this cluster to make sure you can properly do chargebacks on any compute costs incurred.

デプロイ スクリプトDeployment script

この構成は、クラスターとアクセス許可 Api の API エンドポイントを使用してデプロイします。You deploy this configuration by using the API endpoints in the Clusters and Permissions APIs.

クラスターのプロビジョニングProvision cluster

終点 https:///<databricks-instance>/api/2.0/clusters/createEndpoint - https:///<databricks-instance>/api/2.0/clusters/create


{
  "autoscale": {
      "min_workers": 2,
      "max_workers": 20
  },
  "cluster_name": "project team interactive cluster",
  "spark_version": "latest-stable-scala2.11",
  "spark_conf": {
      "spark.Azure Databricks.cluster.profile": "serverless",
      "spark.Azure Databricks.repl.allowedLanguages": "python,sql",
      "spark.Azure Databricks.passthrough.enabled": "true",
      "spark.Azure Databricks.pyspark.enableProcessIsolation": "true"
  },
  "node_type_id": "Standard_D14_v2",
  "ssh_public_keys": [],
  "custom_tags": {
      "ResourceClass": "Serverless",
      "team": "new-project-team"
  },
  "spark_env_vars": {
      "PYSPARK_PYTHON": "/databricks/python3/bin/python3"
  },
  "autotermination_minutes": 60,
  "enable_elastic_disk": true,
  "init_scripts": []
}

クラスターアクセス許可の付与Grant cluster permission

終点 https://<databricks-instance>/api/2.0/permissions/clusters/<cluster_id>Endpoint - https://<databricks-instance>/api/2.0/permissions/clusters/<cluster_id>

{
  "access_control_list": [
    {
      "group_name": "project team",
      "permission_level": "CAN_MANAGE"
    }
  ]
}

直ちに、レイク内の重要なデータに安全にアクセスできるようにプロビジョニングされたクラスターが用意されており、対応するチーム (チャージバック) にタグが付けられ、プロジェクトの要件を満たすように構成されています。Instantly you have a cluster that has been provisioned with secure access to critical data in the lake, locked down to all but the corresponding team, tagged for chargebacks, and configured to meet the requirements of the project. このソリューションを実装するために必要な追加の構成手順は、スケールの要件を満たすように自動化することもできます。There are additional configuration steps within your host cloud provider account required to implement this solution, though too, can be automated to meet the requirements of scale.

アクセスの監査Audit access

Azure Databricks でのアクセス制御の構成とストレージでのデータアクセスの制御は、効率的なデータガバナンスソリューションを実現するための第一歩です。Configuring access control in Azure Databricks and controlling data access in storage is the first step towards an efficient data governance solution. ただし、完全なソリューションを使用するには、データへのアクセスを監査し、警告と監視の機能を提供する必要があります。However, a complete solution requires auditing access to data and providing alerting and monitoring capabilities. Databricks は、Azure Databricks ユーザーによって提供されるアクティビティをログに記録する監査イベントの包括的なセットを提供します。これにより、企業はプラットフォームの詳細な使用パターンを監視できます。Databricks provides a comprehensive set of audit events to log activities provided by Azure Databricks users, allowing enterprises to monitor detailed usage patterns on the platform. プラットフォームでユーザーが何をしているのか、どのようなデータがアクセスされているかを完全に把握するには、ネイティブ Azure Databricks とクラウドプロバイダーの両方の監査ログ記録機能を使用する必要があります。To get a complete understanding of what users are doing on the platform and what data is being accessed, you should use both native Azure Databricks and cloud provider audit logging capabilities.

ストレージアカウントで Azure Databricks のアクセス制御を構成し、データアクセスを制御することは、効率的なデータガバナンスソリューションを実現するための第一歩として優れています。Configuring access controls in Azure Databricks and controlling data access in the storage account is a great first step towards an efficient data governance solution. ただし、データへのアクセスを監査し、警告および監視機能を提供できるまでは、不完全です。However, it is incomplete until you can audit access to data and provide alerting and monitoring capabilities. Azure Databricks には、企業がプラットフォームの詳細な使用パターンを監視できるようにするユーザーによって実行されるアクティビティをログに記録するための監査イベントの包括的なセットが用意されています。Azure Databricks provides a comprehensive set of audit events to log activities performed by users allowing enterprises to monitor detailed usage patterns on the platform.

Azure Databricks で 診断ログ が有効になっていることを確認してください。Make sure you have diagnostic logging enabled in Azure Databricks. アカウントのログ記録を有効にすると、指定した配信場所への診断ログの送信が Azure Databricks によって自動的に開始されます。Once logging is enabled for your account, Azure Databricks automatically starts sending diagnostic logs to the delivery location you specified. また Send to Log Analytics 、診断データを Azure Monitor に転送するのオプションも用意されています。You also have the option to Send to Log Analytics, which will forward diagnostic data to Azure Monitor. [ログ検索] ボックスに入力して、Azure Databricks ワークスペースにログインしているすべてのユーザーとその場所を照会するクエリの例を次に示します。Here is an example query you can enter into the Log search box to query all users who have logged into the Azure Databricks workspace and their location:

Azure monitorAzure monitor

いくつかの手順で、Azure 監視サービスを使用することも、リアルタイムアラートを作成することもできます。In a few steps, you can use Azure monitoring services or create real-time alerts. Azure アクティビティログでは、ストレージアカウントとそのコンテナーに対して実行されるアクションが表示されます。The Azure Activity Log provides visibility into the actions taken on your storage accounts and the containers therein. ここでもアラートルールを構成できます。Alert rules can be configured here as well.

Azure のアクティビティログAzure activity log

詳細情報Learn more

組織のニーズを満たす包括的なデータガバナンスソリューションの構築に役立つリソースを次に示します。Here are some resources to help you build a comprehensive data governance solution that meets your organization’s needs: