説明
Databricks グループは、メンバーに付与する権限を管理する単位です。用途が不明なグループに強い権限を残すと、後から追加したメンバーに意図しないアクセス権限を与えるおそれがあります。空のグループも、予定されたプロビジョニングを待つ正当な状態である場合があります。
メンバーにはユーザー、サービスプリンシパル、別のグループを指定できます。AWS インスタンスプロファイルの関連付けは、そのプロファイルの使用権限を与える操作であり、メンバーの追加とは別です。
想定される影響
- 後から追加したメンバーに、不要なリソース作成権限やデータアクセス権限が渡るおそれがあります。
- 所有者や用途が不明だと、権限の見直しや取り消しが難しくなります。
対処方法
グループの所有者と用途を文書化し、必要なメンバーと最小限の権限だけを維持してください。空のグループがプロビジョニング待ちか確認してから、未使用のグループや不要な権限を整理してください。空のグループを埋めるためだけにユーザーや AWS インスタンスプロファイルの権限を追加しないでください。
例
以下はワークスペースレベルのグループへのメンバー追加を示す抜粋です。変更前はグループの作成だけを示し、別のプロビジョニング経路で管理するメンバー情報は含みません。
変更前
hcl
resource "databricks_group" "example" {
display_name = "Some Group"
allow_cluster_create = true
allow_instance_pool_create = true
}
変更後
hcl
resource "databricks_group" "example" {
display_name = "Some Group"
allow_cluster_create = true
allow_instance_pool_create = true
}
resource "databricks_user" "example" {
user_name = "someone@example.com"
}
resource "databricks_group_member" "example" {
group_id = databricks_group.example.id
member_id = databricks_user.example.id
}
変更後はユーザーを作成してグループに追加します。どちらの例もクラスターとインスタンスプールの作成権限が残るため、実際に必要か別途確認してください。メンバーを追加するだけで最小権限になるわけではありません。