Synapse ロールベースのアクセス制御 (RBAC) とは

Synapse RBAC では、Synapse ワークスペースとそのコンテンツに合わせて Azure RBAC の機能が拡張されています。

Azure RBAC は、Synapse ワークスペースとその SQL プール、Apache Spark プール、統合ランタイムを作成、更新、または削除できるユーザーを管理するために使用されます。

Synapse RBAC は、以下を実行できるユーザーを管理するために使用されます。

  • コード成果物を発行し、発行されたコード成果物を一覧表示したり、それにアクセスしたりする
  • Apaches Spark プールや統合ランタイムに対してコードを実行する
  • 資格情報で保護されたリンク (データ) サービスにアクセスする
  • ジョブの実行を監視またはキャンセルし、ジョブの出力や実行ログを確認する

注意

Synapse RBAC は、発行された SQL スクリプトへのアクセスを管理するために使用されますが、サーバーレスで専用の SQL プールへの制限付きアクセス制御のみを提供します。 SQL プールへのアクセスは、主に SQL のセキュリティを使用して制御されます。

Synapse RBAC でできること

Synapse RBAC でできることの例を次に示します。

  • Apache Spark のノートブックやジョブに加えられた変更をユーザーがライブ サービスに発行できるようにします。
  • ユーザーが特定の Apache Spark プールでノートブックや Spark ジョブを実行したり取り消したりできるようにします。
  • ユーザーが特定の資格情報を使用できるようにします。これにより、ワークスペースのシステム ID で保護されたパイプラインを実行したり、資格情報で保護されたリンク サービス内のデータにアクセスしたりできます。
  • 管理者が特定の Spark プールでのジョブの実行を管理、監視、キャンセルできるようにします。

Synapse RBAC のしくみ

Azure RBAC と同様に、Synapse RBAC もロールの割り当てを作成することによって機能します。 ロールの割り当ては、セキュリティ プリンシパル、ロールの定義、スコープの 3 つの要素で構成されます。

セキュリティ プリンシパル

"セキュリティ プリンシパル" は、ユーザー、グループ、サービス プリンシパル、またはマネージド ID です。

ロール

"ロール" は、特定のリソースの種類または成果物の種類に対して実行できるアクセス許可またはアクションのコレクションです。

Synapse には、さまざまなペルソナのニーズに適合するアクションのコレクションを定義する複数の組み込みロールがあります。

  • 管理者は、ワークスペースを作成および構成するためのフルアクセスを取得できます
  • 開発者は、SQL スクリプト、ノートブック、パイプライン、データフローなどを作成、更新、デバッグできますが、このコードを運用環境のコンピューティング リソースまたはデータに対して発行したり、実行したりすることはできません
  • オペレーターは、コードまたは実行からの出力にアクセスせずに、システムの状態やアプリケーションの実行を監視および管理したり、ログを確認したりできます。
  • セキュリティ スタッフは、コード、コンピューティング リソースまたはデータにアクセスしなくても、エンドポイントを管理および構成できます。

Synapse の組み込みロールについて詳しくは、こちらをご覧ください。

スコープ

"スコープ" は、アクセスが適用されるリソースまたは成果物を定義します。 Azure Synapse では、階層型スコープがサポートされています。 上位のスコープで付与されたアクセス許可は、下位のオブジェクトによって継承されます。 Synapse RBAC では、最上位のスコープはワークスペースです。 ワークスペース スコープでロールを割り当てると、ワークスペース内の該当するすべてのオブジェクトにアクセス許可が付与されます。

ワークスペース内で現在サポートされているスコープは、

  • Apache Spark プール
  • 統合ランタイム
  • linked service
  • 資格情報 (credential)

コード成果物へのアクセス権は、ワークスペース スコープで付与されます。 ワークスペース内の成果物コレクションへのアクセス権の付与は、今後のリリースでサポートされる予定です。

アクセス許可を決定するためのロールの割り当ての解決

ロールの割り当てにより、指定されたスコープでロールによって定義されたアクセス許可がプリンシパルに付与されます。

Synapse RBAC は、Azure RBAC と同じように加算方式のモデルです。 1 つのプリンシパルにさまざまなスコープで複数のロールを割り当てることができます。 セキュリティ プリンシパルのアクセス許可を計算する場合、システムでは、そのプリンシパルと、そのプリンシパルが直接または間接的に含まれるグループの両方に割り当てられたすべてのロールが考慮されます。 また、適用されるアクセス許可を決定する際に各割り当てのスコープも考慮されます。

割り当てられたアクセス許可の適用

Synapse Studio では、必要なアクセス許可をお持ちでない場合にアクションを試みると、特定のボタンやオプションが淡色表示されたり、アクセス許可エラーが返されたりすることがあります。

ボタンやオプションが無効になっている場合は、そのボタンまたはオプションの上にカーソルを合わせると、必要なアクセス許可を示すツールヒントが表示されます。 Synapse 管理者に問い合わせて、必要なアクセス許可を付与するロールを割り当ててください。 特定のアクションを提供するロールについては、「Synapse RBAC ロール」をご覧ください。

Synapse RBAC ロールを割り当てることができるユーザー

Synapse RBAC ロールを割り当てることができるのは、Synapse 管理者です。 ワークスペース レベルの Synapse 管理者は、任意のスコープでアクセス権を付与できます。 下位レベルのスコープの Synapse 管理者は、そのスコープでのアクセス権のみを付与できます。

新しいワークスペースが作成されると、その作成者には、ワークスペース スコープの Synapse 管理者ロールが自動的に付与されます。

どの Synapse 管理者も割り当てられていないか、または使用不可である場合にワークスペースへのアクセスを回復しやすくするために、ワークスペース上の Azure RBAC ロールの割り当てを管理するためのアクセス許可を持つユーザーは Synapse RBAC ロールの割り当ても管理できるため、Synapse 管理者またはその他の Synapse ロールの割り当てを追加できます。

Synapse RBAC を管理する場所

Synapse RBAC は、マネージド ハブのアクセス制御ツールを使用して Synapse Studio 内から管理されます。

次のステップ

組み込みの Synapse RBAC ロールについて理解します。

ワークスペースの Synapse RBAC ロールの割り当てを確認する方法について学習します。

Synapse RBAC ロールの割り当て方法について学習します