クロスアカウントIAM ロールの権限

この記事では、クロスアカウントIAMロールの権限と各ロールの目的を示します。

権限は、VPCの設定方法によって異なります。

Databricks管理のVPCのIAM権限

Databricksでは、効果的な方法でクラスターを運用および管理するために、次のIAM権限リストが必要です。この設定は、デフォルトの(Databricks管理の)VPCを使用するワークスペースにのみ適用されます。デフォルトのDatabricks管理VPCで使用するAWSクロスアカウント・ロール・ポリシーを作成するには、[ワークスペースデプロイ用の IAMロールを作成する]を参照してください。

次の表に、デフォルト構成でのDatabricks IAMクロスアカウント・ロールの権限、それらが制御するリソース、および各権限の目的を示します。

AWS IAM権限

AWSリソース

目的

ec2:AllocateAddress

Elastic IPアドレス

セキュアなクラスター接続で使用されるNATゲートウェイに関連付けられたElastic IPを割り当てます。

ec2:AssignPrivateIpAddresses

ネットワークインターフェース

プライベートIPをEC2インスタンスに割り当てます。

ec2:AssociateDhcpOptions

DHCP

DHCPオプションのセット(またはDHCPオプションなし)をVPCに関連付けます。

ec2:AssociateIamInstanceProfile

InstanceProfile

インスタンスプロファイルを実行中のEC2インスタンスに関連付けます。これにより、Databricksプール・インスタンスは、プール内での存続期間中、異なるインスタンス・プロファイルを持つクラスターで使用できるようになります。

ec2:AssociateRouteTable

RouteTable

サブネットをルートテーブルに関連付けます。

ec2:AttachInternetGateway

InternetGateway

インターネットゲートウェイをVPCにアタッチし、インターネットとVPC間の接続を有効にします。これは現在、S3バケットに接続し、ワーカーコンテナとSparkコンテナのコードを更新するために必要です。

ec2:AttachVolume

EBS Volume

EBSオートスケーリング用のボリュームをアタッチします。

ec2:AuthorizeSecurityGroupEgress

SecurityGroup

必要に応じて、エグレスルールをセキュリティグループに追加します。

ec2:AuthorizeSecurityGroupIngress

SecurityGroup

セキュリティグループにイングレスルールを追加します。

ec2:CancelSpotInstanceRequests

SpotInstance

スポットインスタンスをキャンセルします。

ec2:CreateDhcpOptions

DHCP

DHCPオプションを作成します。

ec2:CreateFleet

EC2 Fleet

EC2フリートを作成します(Databricksフリートクラスターで使用)。

ec2:CreateInternetGateway

InternetGateway

インターネットゲートウェイを作成します。

ec2:CreateLaunchTemplate

Launch Template

起動テンプレートを作成します(Databricksフリートクラスターで使用)。

ec2:CreateLaunchTemplateVersion

Launch Template

起動テンプレート・バージョンを作成します(Databricksフリートクラスターで使用)。

ec2:CreateNatGateway

NatGateway

NATゲートウェイを作成します。

ec2:CreateRoute

Route

ワークスペースのセットアップ中にルートを作成します。

ec2:CreateRouteTable

RouteTable

ワークスペースのセットアップ中にルートを作成します。

ec2:CreateSecurityGroup

SecurityGroup

初期セットアップ中にセキュリティグループを作成します。

ec2:CreateSubnet

Subnet

ワークスペースのセットアップ中にVPCのサブネットを作成します。

ec2:CreateTags

Tags

Databricksリソースにタグを追加します。

ec2:CreateVolume

EBS Volume

ボリュームを作成します。

ec2:CreateVpc

VPC

Databricks管理のVPCを作成します。

ec2:CreateVpcEndpoint

VPCEndpoint

VPCの構成の一環としてVPCエンドポイントを作成します。

ec2:DeleteDhcpOptions

DHCPOptions

DHCPオプションを削除します。

ec2:DeleteFleets

EC2 Fleet

EC2フリートを削除します(Databricksフリートクラスターで使用)

ec2:DeleteInternetGateway

InternetGateway

ワークスペースの削除中にインターネットゲートウェイを削除します。

ec2:DeleteLaunchTemplate

Launch Template

起動テンプレートとそのすべてのバージョンを削除します。

ec2:DeleteLaunchTemplateVersions

Launch Template

起動テンプレート(Databricksフリートクラスターで使用)からバージョンを削除します。

ec2:DeleteNatGateway

NatGateway

セキュアなクラスター接続リレーをセットアップするために、必要に応じてNATゲートウェイを削除します。

ec2:DeleteRoute

Route

ルートを削除します。

ec2:DeleteRouteTable

RouteTable

ルートテーブルを削除します。

ec2:DeleteSecurityGroup

SecurityGroup

ワークスペースの削除時にセキュリティグループを削除します。

ec2:DeleteSubnet

Subnet

サブネットを削除します。

ec2:DeleteTags

Tags

クラスターリソースからタグを削除し、異なるタグを持つクラスターでDatabricksプールインスタンスを再利用できるようにします。

ec2:DeleteVolume

EBS Volume

EBSオートスケーリング用のボリュームを削除します。このページを参照してください。

ec2:DeleteVpc

VPC

ワークスペースの削除時に顧客がVPCを削除します。

ec2:DeleteVpcEndpoints

VPCEndpoints

ワークスペースの削除中にVPCエンドポイントを削除します。

ec2:DescribeAvailabilityZones

AvailabilityZones

リージョン内のアベイラビリティゾーンの一覧を取得し、 Databricksがそのゾーンにリソースをデプロイできるようにします。

ec2:DescribeFleetHistory

EC2 Fleet

EC2フリート内のイベントを一覧表示します(Databricksフリートクラスターで使用)。

ec2:DescribeFleetInstances

EC2 Fleet

EC2フリート内のインスタンスを一覧表示します(Databricksフリートクラスターで使用)。

ec2:DescribeFleets

EC2 Fleet

EC2フリート(Databricksフリートクラスターで使用)の詳細について説明します。

ec2:DescribeIamInstanceProfileAssociations

InstanceProfile

EC2インスタンスに設定されている現在のインスタンスプロファイルを確認し、クラスターで再利用する前に、Databricksプールインスタンスに適切なプロファイルが設定されるようにします。

ec2:DescribeInstanceStatus

インスタンス

Databricks AWSインスタンスが正常であることを確認します。

ec2:DescribeInstances

インスタンス

Databricks AWSインスタンスが正常であることを確認します。

ec2:DescribeInternetGateways

InternetGateway

DatabricksのAWSインスタンスがインターネットへのルートを持っていることを確認するためのInternetGatewayについて説明します。

ec2:DescribeLaunchTemplates

Launch Template

起動テンプレート(Databricksフリートクラスターで使用)を削除します。

ec2:DescribeLaunchTemplateVersions

Launch Template

起動テンプレートのバージョン(Databricksフリートクラスターで使用)の詳細について説明します。

ec2:DescribeNatGateways

NatGateway

Databricks AWSインスタンスにセキュアなクラスター接続アーキテクチャでインターネットへのルートがあることを確認するNATゲートウェイについて説明します。

ec2:DescribePrefixLists

PrefixList

DatabricksがゲートウェイVPCエンドポイントを経由してAWSサービスにアクセスできるように、VPCからのトラフィックを許可する送信セキュリティグループルールを作成するためのプレフィックスリストIDを作成します。

ec2:DescribeReservedInstancesOfferings

インスタンス

AWSスポットインスタンスの料金をサポートするリザーブドインスタンスの料金について説明します。

ec2:DescribeRouteTables

RouteTable

Databricksで管理されるVPCでルートテーブルが正しく設定されていることを確認します。

ec2:DescribeSecurityGroups

SecurityGroup

AWSセキュリティグループが正しく設定されていることを確認します。

ec2:DescribeSpotInstanceRequests

インスタンス

スポットインスタンスについて説明します。

ec2:DescribeSpotPriceHistory

SpotInstance

スポットインスタンスについて説明します。

ec2:DescribeSubnets

Subnet

Databricks VPCでサブネットが正しく設定されていることを確認します。

ec2:DescribeVolumes

ボリューム

ボリュームを一覧表示します。

ec2:DescribeVpcs

VPC

ワークスペースのVPCが正しく設定されていることを確認します。

ec2:DetachInternetGateway

InternetGateway

ワークスペースの削除中に、Databricksで作成されたインターネットゲートウェイを接続解除します。

ec2:DisassociateIamInstanceProfile

InstanceProfile

EC2インスタンスからインスタンスプロファイルの関連付けを解除し、異なるインスタンスプロファイルを持つクラスターでxDatabricksプールインスタンスを使用できるようにします。

ec2:DisassociateRouteTable

RouteTable

ワークスペースの削除時に、Databricksで作成されたルートテーブルをデタッチします。

ec2:GetLaunchTemplateData

起動テンプレート

起動テンプレートの構成を取得します(Databricksフリートクラスターで使用されます)。

ec2:GetSpotPlacementScores

アベイラビリティゾーン

指定されたインスタンスタイプに最適なスポット容量を持つAZのリストを取得します。

ec2:ModifyFleet

EC2 Fleet

EC2フリートを変更します(Databricksフリートクラスターで使用)。

ec2:ModifyLaunchTemplate

起動テンプレート

既存の起動テンプレートを変更します(Databricksフリートクラスターで使用)。

ec2:ModifyVpcAttribute

VPCAttribute

Databricks管理のVPCを設定します。

ec2:ReleaseAddress

Address

ワークスペースの削除中に、Databricksで作成されたアドレスをデタッチします。

ec2:ReplaceIamInstanceProfileAssociation

InstanceProfile

EC2インスタンス上で1つのインスタンスプロファイルを別のインスタンスプロファイルと交換し、異なるインスタンスプロファイルを持つクラスターでDatabricksプールインスタンスを使用できるようにします。

ec2:RequestSpotInstances

SpotInstance

スポットインスタンスをリクエストします。

ec2:RevokeSecurityGroupEgress

SecurityGroup

必要に応じて、Databricksで管理されるセキュリティグループを更新します。

ec2:RevokeSecurityGroupIngress

SecurityGroup

セキュリティグループを更新します。

ec2:RunInstances

インスタンス

AWSインスタンスを起動し、Sparkクラスターを作成します。既存のSparkクラスターをスケールアップする際にも使用できます。

ec2:TerminateInstances

インスタンス

クラスターのスケールダウン時や、指定したSparkクラスターの終了時に、Spark EC2ノードを終了します。

iam:CreateServiceLinkedRole

ServiceLinkedRole

スポットインスタンスのサポートを設定します。

iam:PutRolePolicy

RolePolicy

スポットインスタンスを使用するようにDatabricksを構成します。

顧客管理VPCのIAM権限

顧客管理 VPCを使用する場合、クロスアカウント IAM ロールに必要な権限のセットは少なくなります。 この機能を利用するには、 プレミアムプラン以上が必要です。

顧客管理 VPC で使用するAWSクロスアカウントロールポリシーを作成するには、 「オプション 2: デフォルト制限ポリシーを使用した顧客管理 VPC」を参照してください。

アクセス許可は、必要に応じてさらに絞り込むことができます。 リソースに対する追加のカスタム制限を持つ顧客管理 VPC で使用するAWSクロスアカウントロールポリシーを作成するには、 「オプション 3: カスタムポリシー制限を持つ顧客管理 VPC」を参照してください。

次の表に、顧客管理VPCのDatabricks IAMクロスアカウントロール権限、それらが制御するリソース、および各権限の目的を示します。

AWS IAM権限

AWSリソース

目的

ec2:AssociateIamInstanceProfile

InstanceProfile

インスタンスプロファイルを実行中のEC2インスタンスに関連付けて、プール内の存続期間中、異なるインスタンスプロファイルを持つクラスターでDatabricksプールインスタンスを使用できるようにします。

ec2:AttachVolume

ボリューム

ボリュームをアタッチします。

ec2:AuthorizeSecurityGroupEgress

SecurityGroup

必要に応じて、イグレスルールをセキュリティグループに追加します。

ec2:AuthorizeSecurityGroupIngress

SecurityGroup

セキュリティグループにイングレスルールを追加します。

ec2:CancelSpotInstanceRequests

SpotInstance

スポットインスタンスをキャンセルします。

ec2:CreateFleet

EC2 Fleet

EC2フリートを作成します(Databricksフリートクラスターで使用)。

ec2:CreateLaunchTemplate

Launch Template

起動テンプレートを作成します(Databricksフリートクラスターで使用)。

ec2:CreateTags

Tags

Databricksリソースにタグを追加します。

ec2:CreateVolume

ボリューム

ボリュームを作成します。

ec2:DeleteFleets

EC2 Fleet

EC2フリートを削除します(Databricksフリートクラスターで使用)

ec2:DeleteLaunchTemplate

Launch Template

起動テンプレートとそのすべてのバージョンを削除します。

ec2:DeleteLaunchTemplateVersions

Launch Template

起動テンプレート(Databricksフリートクラスターで使用)からバージョンを削除します。

ec2:DeleteTags

Tags

クラスターリソースからタグを削除して、Databricksプールインスタンスを異なるタグを持つクラスターで再利用できるようにします。

ec2:DeleteVolume

ボリューム

ボリュームを削除します。

ec2:DescribeAvailabilityZones

AvailabilityZones

Databricksがそのゾーンにリソースをデプロイできるように、リージョン内のアベイラビリティゾーンのリストを取得します。

ec2:DescribeIamInstanceProfileAssociations

InstanceProfile

EC2インスタンスに設定されている現在のインスタンスプロファイルをチェックして、クラスターで再利用する前に、Databricksプールインスタンスに正しいプロファイルが設定されていることを確認します。

ec2:DescribeInstanceStatus

インスタンス

Databricks AWSインスタンスが正常であることを確認します。

ec2:DescribeInstances

インスタンス

Databricks AWSインスタンスが正常であることを確認します。

ec2:DescribeInternetGateways

InternetGateway

DatabricksのAWSインスタンスがインターネットへのルートを持っていることを確認するためのInternetGatewayについて説明します。

ec2:DescribeFleetHistory

EC2 Fleet

EC2フリート内のイベントを一覧表示します(Databricksフリートクラスターで使用)。

ec2:DescribeFleetInstances

EC2 Fleet

EC2フリート内のインスタンスを一覧表示します(Databricksフリートクラスターで使用)。

ec2:DescribeFleets

EC2 Fleet

EC2フリート(Databricksフリートクラスターで使用)の詳細について説明します。

ec2:DescribeLaunchTemplates

Launch Template

起動テンプレート(Databricksフリートクラスターで使用)を削除します。

ec2:DescribeLaunchTemplateVersions

Launch Template

起動テンプレートのバージョン(Databricksフリートクラスターで使用)の詳細について説明します。

ec2:DescribeNatGateways

NatGateway

Databricks AWSインスタンスがセキュアなクラスター接続アーキテクチャでインターネットへのルートを持っていることを確認するためのNatGatewayについて説明します。

ec2:DescribeNetworkAcls

NetworkAcl

ネットワークACLが正しく設定されていることを確認します。

ec2:DescribePrefixLists

PrefixList

VPCからのトラフィックがゲートウェイVPCエンドポイントを経由してAWSサービスにアクセスすることを許可する送信セキュリティグループルールを作成するための、プレフィックスリストIDのリストを取得します。

ec2:DescribeReservedInstancesOfferings

インスタンス

AWSスポットインスタンスの価格設定の開始点として、リザーブドインスタンスの価格を取得します。

ec2:DescribeRouteTables

RouteTable

VPC内でルートテーブルが正しく設定されていることを確認します。

ec2:DescribeSecurityGroups

SecurityGroup

AWSセキュリティグループが正しく設定されていることを確認します。

ec2:DescribeSpotInstanceRequests

インスタンス

スポットインスタンスについて説明します。

ec2:DescribeSpotPriceHistory

SpotInstance

スポットインスタンスについて説明します。

ec2:DescribeSubnets

Subnet

VPC内にサブネットが正しく設定されていることを確認します。

ec2:DescribeVolumes

ボリューム

ボリュームを一覧表示します。

ec2:DescribeVpcAttribute

VPC

enableDnsHostnamesを含む(ただしこれに限定されない)VPC属性について説明します。

ec2:DescribeVpcs

VPC

DatabricksワークスペースVPCが作成されたことを確認します。

ec2:DetachVolume

ボリューム

クラスターのシャットダウン中にEC2インスタンスからEBSボリュームをデタッチします。

ec2:DisassociateIamInstanceProfile

InstanceProfile

インスタンスプロファイルとEC2インスタンスの関連付けを解除し、異なるインスタンスプロファイルを持つクラスターでプールインスタンスを使用できるようにします。

ec2:GetLaunchTemplateData

起動テンプレート

起動テンプレートの構成を取得します(Databricksフリートクラスターで使用されます)。

ec2:ModifyFleet

EC2 Fleet

EC2フリートを変更します(Databricksフリートクラスターで使用)。

ec2:ModifyLaunchTemplate

起動テンプレート

既存の起動テンプレートを変更します(Databricksフリートクラスターで使用)。

ec2:ReplaceIamInstanceProfileAssociation

InstanceProfile

EC2インスタンス上で1つのインスタンスプロファイルを別のインスタンスプロファイルと交換し、異なるインスタンスプロファイルを持つクラスターでプールインスタンスを使用できるようにします。

ec2:RequestSpotInstances

SpotInstance

スポットインスタンスをリクエストします。

ec2:RevokeSecurityGroupEgress

SecurityGroup

必要に応じて、Databricksで管理するセキュリティグループを更新します。

ec2:RevokeSecurityGroupIngress

SecurityGroup

セキュリティグループを更新します。

ec2:RunInstances

インスタンス

AWSインスタンスを起動し、Sparkクラスターを作成します。既存のSparkクラスターをスケールアップするためにも使用されます。

ec2:TerminateInstances

インスタンス

クラスターのスケールダウン時やSparkクラスタの終了時にSpark EC2ノードを終了します。

iam:CreateServiceLinkedRole

ServiceLinkedRole

スポットインスタンスのサポートを設定します。

iam:PutRolePolicy

RolePolicy

スポットインスタンスを使用するようにDatabricksを構成します。