kt.log

Specific permission to allow a user only to write and execute Synapse Notebooks

Synapse ノートブックを使った開発と実行のみを可能にする特定のパーミッション

本記事では、Azure Synapse AnalyticsSynapse Studio ノートブック による開発と実行を行うためのパーミッションについて解説します。
カスタムロールを作る中で、このパーミッションを個別に指定したいケースがあると思います。そのようなシチュエーションで役立つ記事となっています。

必要なパーミッション設定操作は以下の 2ステップです。

  1. Azure RBAC における “Microsoft.Synapse/workspaces/bigDataPools/read” のアクション許可
  2. Synapse RBAC における以下のロールの割り当て
  • “Synapse Compute Operator” (日本語名: “Synapse コンピューティング オペレーター”)
  • “Synapse Artifact Publisher” (日本語名: “Synapse 成果物発行元”)

前提

  • 当該カスタムロールを適用するユーザーには、リソースグループ または Synapse ワークスペースのスコープで 閲覧者 ロールが割り当てられていること。
  • Apache Spark プール が作成されていること。

1. Azure RBAC のカスタムロールにおけるアクション許可

カスタム Azure RBAC ロールの中で、以下のアクションを許可します。

  • “Microsoft.Synapse/workspaces/bigDataPools/read”

カスタムロールの定義例は以下の通りです。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
"id": "/subscriptions/********-****-****-****-************/providers/Microsoft.Authorization/roleDefinitions/********-****-****-****-************",
"properties": {
"roleName": "{CUSTOM_ROLE_NAME}",
"description": "",
"assignableScopes": [
"/subscriptions/********-****-****-****-************/resourceGroups/{RESOURCE_GROUP_NAME}"
],
"permissions": [
{
"actions": [
"Microsoft.Synapse/workspaces/bigDataPools/read"
],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
]
}
}

2. Synapse RBAC におけるロールの割り当て

加えて、Synapse RBAC (Synapse Studio の 「管理」ブレード > Security > Access control から設定可能) について、以下の 2つのロールを割り当てます。

  • “Synapse Compute Operator” (日本語名: “Synapse コンピューティング オペレーター”)
    • Apache Spark プール を起動してノートブックを実行するために必要。
    • スコープは ワークスペース または ワークスペース項目
      • 任意の Apache Spark プール を指定する場合は ワークスペース項目。指定しない場合は ワークスペース
  • “Synapse Artifact Publisher” (日本語名: “Synapse 成果物発行元”)
    • ノートブックの名前変更や発行をするために必要。
    • スコープは ワークスペース

まとめ

Azure Synapse AnalyticsSynapse Studio ノートブック による開発と実行を行うためのパーミッションについて解説しました。
これにより、例えば IT管理者が Synapse 関連のリソースを作成し、開発部門にそれを渡すにあたって、開発者がノートブックを使った開発だけを行えるようにすることができます。Spark プールのスペックが足りてないからといって勝手にスペックが変更されたり、停止までの時間が変更されたりすることで、IT管理者が思わぬ請求を受けることが無いようにすることができます。
カスタムロールを作る際の参考となると幸いです。

See also