メインコンテンツまでスキップ

ワークスペース作成に必要な権限

このページでは、Google クラウド上でクラシックDatabricksワークスペースを作成するために必要な権限について説明します。

Google クラウドでは、各ワークスペースは顧客所有のワークスペース プロジェクト内で実行されます。 Databricks は、ワークスペース作成者の資格情報を使用して、設定の検証、アクセス許可の付与、必要なサービスの有効化、ワークスペースのプロビジョニングを行います。ワークスペースを正常に作成するには、Databricks アカウント管理者がワークスペース プロジェクトに対する必要なアクセス許可を持っている必要があります。

さらに、ワークスペースの作成中に、Databricks はワークスペースの管理に必要な最小限の権限を持つ新しいサービス アカウントを作成します。Databricks は、ワークスペース作成者の資格情報を使用して、ワークスペース プロジェクトのサービス アカウントに権限を付与します。サービス アカウントに付与される権限の一覧については、 「ワークスペース サービス アカウントに必要な権限」を参照してください。

必要なアカウント管理者権限​

以下は、ワークスペースとネットワークプロジェクトに必要な最小限の権限セットです。 Databricks では、ワークスペース作成者がワークスペース プロジェクトと VPC プロジェクトの両方で roles/owner ロールを持つことをお勧めします。

注記

ワークスペースの作成は、通常、完了するのに 1 分もかかりません。Databricks は、ワークスペースの作成後にこれらのアクセス許可を保持したり使用したりしません。

Googleの許可

目的

ワークスペース プロジェクトに必要

VPC プロジェクトに必要

ユースケース

iam.roles.create

カスタムロールを作成します。

✓

✓

ワークスペースのサービス アカウントに権限を付与するためのカスタム ロールを作成および管理します。

iam.roles.delete

カスタムロールを削除します。

✓

ワークスペースのサービス アカウントに権限を付与するためのカスタム ロールを作成および管理します。

iam.roles.get

カスタムロールを取得します。

✓

✓

ワークスペースのサービス アカウントに権限を付与するためのカスタム ロールを作成および管理します。

iam.roles.update

カスタムロールを更新します。

✓

✓

ワークスペースのサービス アカウントに権限を付与するためのカスタム ロールを作成および管理します。

iam.serviceAccounts.create

Databricks-コンピュート サービス アカウントを作成します。

✓

Databricks-コンピュート サービス アカウントを作成します。これは、カスタム サービス アカウントがアタッチされていないワークスペース内のすべてのクラスターで使用されます。このサービスアカウントには、ログ記録とメトリクスに限定された最小限の権限があります。

iam.serviceAccounts.get

Get the Databricks-コンピュート サービス アカウント.

✓

必要な Databricks-コンピュート サービス アカウント used by all clusters in the workspace が存在するかどうかを確認するために使用されます。

iam.serviceAccounts.getIamPolicy

IAM ポリシーを取得します。

✓

Grant ワークスペース サービス アカウント サービス アカウント User role on Google コンピュート エンジン (GCE) サービス アカウント をクリックして、クラスターを起動します。

iam.serviceAccounts.setIamPolicy

Set IAM ポリシー。

✓

Grant ワークスペース サービス アカウント サービス アカウント User role on Google コンピュート エンジン (GCE) サービス アカウント をクリックして、クラスターを起動します。

resourcemanager.projects.get

プロジェクト ID からプロジェクト番号を取得します。

✓

✓

ワークスペース プロジェクトに関する基本情報を取得します。

resourcemanager.projects.getIamPolicy

IAM ポリシーを取得します。

✓

✓

ワークスペース プロジェクトに関する基本情報を取得します。

resourcemanager.projects.setIamPolicy

Set IAM ポリシー。

✓

ワークスペース プロジェクトに関する基本情報を取得します。

serviceusage.services.get

顧客プロジェクトで必要な Google CloudAPIが有効になっているかどうかを検証します。

✓

✓

Databricksワークロードに必要な Google Cloud サービスを有効にします。

serviceusage.services.list

顧客プロジェクトで必要な Google CloudAPIが有効になっているかどうかを検証します。

✓

✓

Databricksワークロードに必要な Google Cloud サービスを有効にします。

serviceusage.services.enable

プロジェクトで必要な Google CloudAPIまだ有効になっていない場合は、有効にします。

✓

Databricksワークロードに必要な Google Cloud サービスを有効にします。

compute.networks.get

VPC ネットワークの存在を検証します。

✓

顧客提供の VPC ネットワークのネットワーク リソースを検証します。ネットワーク・リソースは、ワークスペース・プロジェクト以外のプロジェクトに属している可能性があります。

compute.networks.updatePolicy

VPC ネットワーク上のファイアウォール ポリシーを更新します。

✓

顧客提供の VPC ネットワーク上のファイアウォール ポリシー (ワークスペース プロジェクト以外のプロジェクトに属している可能性があります) を更新します。

compute.projects.get

VPC ネットワークのホスト プロジェクトを取得します。

✓

顧客提供の VPC ネットワークのネットワーク リソースを検証します。ネットワーク・リソースは、ワークスペース・プロジェクト以外のプロジェクトに属している可能性があります。

compute.subnetworks.get

VPC ネットワークのサブネットを検証します。

✓

顧客提供の VPC ネットワークのネットワーク リソースを検証します。ネットワーク・リソースは、ワークスペース・プロジェクト以外のプロジェクトに属している可能性があります。 顧客管理VPCを使用する場合は必須です。

compute.subnetworks.getIamPolicy

VPC サブネットの IAM ポリシーを取得します。

✓

顧客提供の VPC ネットワーク (ワークスペース プロジェクト以外のプロジェクトに属している可能性がある) のサブネットワーク上の権限を検証します。 顧客管理VPCを使用する場合は必須です。

compute.subnetworks.setIamPolicy

VPC サブネットに IAM ポリシーを設定します。

✓

IAM顧客提供のVPC ネットワーク (ワークスペース プロジェクト以外のプロジェクトに属している可能性がある) のサブネットワークに ポリシーを設定します。顧客管理VPCを使用する場合は必須です。

compute.forwardingRules.get

Private Service Connectの転送ルールを一覧表示します。

✓

Private サービス Connectを有効にする場合は必須です。

compute.forwardingRules.list

Private サービス コネクトの転送ルールを取得します。

✓

Private サービス Connectを有効にする場合は必須です。

compute.firewalls.get

ファイアウォールルールを取得します。

✓

顧客提供の VPC ネットワークで必要なファイアウォールルールを取得して、存在するかどうかを確認します。

compute.firewalls.update

ファイアウォールルールを更新します。

✓

顧客が提供するVPCネットワーク内に、必要なファイアウォールルールが存在する場合は、ワークスペース固有のネットワークタグを追加するように更新します。

compute.firewalls.create

ファイアウォールルールを作成します。

✓

顧客が提供するVPCネットワーク内にファイアウォールルールが存在しない場合、そのルールを作成します。このVPCネットワークは、ワークスペースプロジェクト以外のプロジェクトに属している可能性があります。

cloudkms.cryptoKeys.getIamPolicy

Cloud KMS リソースのアクセス制御ポリシーを取得します。

✓

Cloud KMS キーで必須 - 顧客 管理キーを有効にする場合。

cloudkms.cryptoKeys.setIamPolicy

Cloud KMS リソースのアクセス制御ポリシーを設定します。

✓

Cloud KMS キーで必須 - 顧客 管理キーを有効にする場合。

Googleの許可

目的

ワークスペース プロジェクトに必要

VPC プロジェクトに必要

ユースケース

iam.roles.create

カスタムロールを作成します。

✓

✓

ワークスペースのサービス アカウントに権限を付与するためのカスタム ロールを作成および管理します。

iam.roles.delete

カスタムロールを削除します。

✓

ワークスペースのサービス アカウントに権限を付与するためのカスタム ロールを作成および管理します。

iam.roles.get

カスタムロールを取得します。

✓

✓

ワークスペースのサービス アカウントに権限を付与するためのカスタム ロールを作成および管理します。

iam.roles.update

カスタムロールを更新します。

✓

✓

ワークスペースのサービス アカウントに権限を付与するためのカスタム ロールを作成および管理します。

iam.serviceAccounts.create

Databricks-コンピュート サービス アカウントを作成します。

✓

Databricks-コンピュート サービス アカウントを作成します。これは、カスタム サービス アカウントがアタッチされていないワークスペース内のすべてのクラスターで使用されます。このサービスアカウントには、ログ記録とメトリクスに限定された最小限の権限があります。

iam.serviceAccounts.get

Get the Databricks-コンピュート サービス アカウント.

✓

必要な Databricks-コンピュート サービス アカウント used by all clusters in the workspace が存在するかどうかを確認するために使用されます。

iam.serviceAccounts.getIamPolicy

IAM ポリシーを取得します。

✓

Grant ワークスペース サービス アカウント サービス アカウント User role on Google コンピュート エンジン (GCE) サービス アカウント をクリックして、クラスターを起動します。

iam.serviceAccounts.setIamPolicy

Set IAM ポリシー。

✓

Grant ワークスペース サービス アカウント サービス アカウント User role on Google コンピュート エンジン (GCE) サービス アカウント をクリックして、クラスターを起動します。

resourcemanager.projects.get

プロジェクト ID からプロジェクト番号を取得します。

✓

✓

ワークスペース プロジェクトに関する基本情報を取得します。

resourcemanager.projects.getIamPolicy

IAM ポリシーを取得します。

✓

✓

ワークスペース プロジェクトに関する基本情報を取得します。

resourcemanager.projects.setIamPolicy

Set IAM ポリシー。

✓

ワークスペース プロジェクトに関する基本情報を取得します。

serviceusage.services.get

顧客プロジェクトで必要な Google CloudAPIが有効になっているかどうかを検証します。

✓

✓

Databricksワークロードに必要な Google Cloud サービスを有効にします。

serviceusage.services.list

顧客プロジェクトで必要な Google CloudAPIが有効になっているかどうかを検証します。

✓

✓

Databricksワークロードに必要な Google Cloud サービスを有効にします。

serviceusage.services.enable

プロジェクトで必要な Google CloudAPIまだ有効になっていない場合は、有効にします。

✓

Databricksワークロードに必要な Google Cloud サービスを有効にします。

compute.networks.get

VPC ネットワークの存在を検証します。

✓

顧客提供の VPC ネットワークのネットワーク リソースを検証します。ネットワーク・リソースは、ワークスペース・プロジェクト以外のプロジェクトに属している可能性があります。

compute.networks.updatePolicy

VPC ネットワーク上のファイアウォール ポリシーを更新します。

✓

顧客提供の VPC ネットワーク上のファイアウォール ポリシー (ワークスペース プロジェクト以外のプロジェクトに属している可能性があります) を更新します。

compute.projects.get

VPC ネットワークのホスト プロジェクトを取得します。

✓

顧客提供の VPC ネットワークのネットワーク リソースを検証します。ネットワーク・リソースは、ワークスペース・プロジェクト以外のプロジェクトに属している可能性があります。

compute.subnetworks.get

VPC ネットワークのサブネットを検証します。

✓

顧客提供の VPC ネットワークのネットワーク リソースを検証します。ネットワーク・リソースは、ワークスペース・プロジェクト以外のプロジェクトに属している可能性があります。 顧客管理VPCを使用する場合は必須です。

compute.subnetworks.getIamPolicy

VPC サブネットの IAM ポリシーを取得します。

✓

顧客提供の VPC ネットワーク (ワークスペース プロジェクト以外のプロジェクトに属している可能性がある) のサブネットワーク上の権限を検証します。 顧客管理VPCを使用する場合は必須です。

compute.subnetworks.setIamPolicy

VPC サブネットに IAM ポリシーを設定します。

✓

IAM顧客提供のVPC ネットワーク (ワークスペース プロジェクト以外のプロジェクトに属している可能性がある) のサブネットワークに ポリシーを設定します。顧客管理VPCを使用する場合は必須です。

compute.forwardingRules.get

Private Service Connectの転送ルールを一覧表示します。

✓

Private サービス Connectを有効にする場合は必須です。

compute.forwardingRules.list

Private サービス コネクトの転送ルールを取得します。

✓

Private サービス Connectを有効にする場合は必須です。

compute.firewalls.get

ファイアウォールルールを取得します。

✓

顧客提供の VPC ネットワークで必要なファイアウォールルールを取得して、存在するかどうかを確認します。

compute.firewalls.update

ファイアウォールルールを更新します。

✓

顧客が提供するVPCネットワーク内に、必要なファイアウォールルールが存在する場合は、ワークスペース固有のネットワークタグを追加するように更新します。

compute.firewalls.create

ファイアウォールルールを作成します。

✓

顧客が提供するVPCネットワーク内にファイアウォールルールが存在しない場合、そのルールを作成します。このVPCネットワークは、ワークスペースプロジェクト以外のプロジェクトに属している可能性があります。

cloudkms.cryptoKeys.getIamPolicy

Cloud KMS リソースのアクセス制御ポリシーを取得します。

✓

Cloud KMS キーで必須 - 顧客 管理キーを有効にする場合。

cloudkms.cryptoKeys.setIamPolicy

Cloud KMS リソースのアクセス制御ポリシーを設定します。

✓

Cloud KMS キーで必須 - 顧客 管理キーを有効にする場合。

最小限の権限を持つワークスペース作成者ロール​

最小限の特権ワークスペースの場合、上記で説明した広範なアカウント管理者権限は必要ありません。代わりに、スコープが限定されたカスタムロールを作成し、それらをワークスペース作成者サービスアカウントに付与します。このサービスアカウントは、アカウントAPIを呼び出してワークスペースを作成します。これらのロールは、作成時に設定を検証するために読み取りレベルの権限のみを必要とします。

作成するロールは、VPC構成によって異なります。お客様のシナリオに合わせてロールのみを作成してください:

  • 共有 VPC でワークスペースを作成する場合は、サービスプロジェクトロールとホストプロジェクトロールの両方を作成します。
  • スタンドアロンのVPCにワークスペースを作成する場合は、包括的なロールのみを作成してください。

共有VPCのロール​

共有VPCを使用する場合は、サービスプロジェクトロールとホストプロジェクトロールを作成します。

サービスプロジェクトロール​

サービス(ワークスペース)プロジェクトで、次の権限を持つ databricks.lpw.workspace.creator.service.role ロールを作成します。

Text
cloudkms.cryptoKeys.getIamPolicy   # Only required if you use CMK
compute.projects.get
iam.roles.get
iam.serviceAccounts.get
iam.serviceAccounts.getIamPolicy
resourcemanager.projects.get
resourcemanager.projects.getIamPolicy
serviceusage.services.get
serviceusage.services.list

ホストプロジェクトロール​

ホスト (VPC) プロジェクトに以下の権限でdatabricks.lpw.workspace.creator.host.roleロールを作成します:

Text
compute.forwardingRules.get        # Only required if you use PSC
compute.forwardingRules.list # Only required if you use PSC
compute.networks.get
compute.projects.get
compute.subnetworks.get
compute.subnetworks.getIamPolicy
iam.roles.get
resourcemanager.projects.get
resourcemanager.projects.getIamPolicy
serviceusage.services.get
serviceusage.services.list

スタンドアロン VPC ロール​

共有VPCを使用しない場合は、ワークスペースプロジェクトで、次の権限を持つ単一のdatabricks.lpw.workspace.creator.roleロールを作成します。このロールは、サービスプロジェクトとホストプロジェクトの権限を組み合わせたものです:

Text
cloudkms.cryptoKeys.getIamPolicy   # Only required if you use CMK
compute.forwardingRules.get # Only required if you use PSC
compute.forwardingRules.list # Only required if you use PSC
compute.networks.get
compute.projects.get
compute.subnetworks.get
compute.subnetworks.getIamPolicy
iam.roles.get
iam.serviceAccounts.get
iam.serviceAccounts.getIamPolicy
resourcemanager.projects.get
resourcemanager.projects.getIamPolicy
serviceusage.services.get
serviceusage.services.list