
Fivetranのロールベースアクセス制御を確認してみた
かわばたです。
FivetranでもSnowflakeのようにロールベースのアクセス制御ができるようなので、こちらを確認していきます。
【公式ドキュメント】
対象読者
- Fivetranのロールベースアクセス制御について確認したい方
検証環境
- Fivetranアカウント
標準ロール
Fivetranの標準ロールは、一般的なユーザータイプに合わせてあらかじめパッケージ化された権限のセットです。
ドキュメントに記載されていますが、下記にまとめます。
標準Accountレベルロール
その名のとおりアカウントに紐づいているロールとなります。ユーザーを作成する際やユーザー管理画面で付与することができます。
ロール名 | 主要な権限 | 想定されるユーザー |
---|---|---|
Account Administrator | 請求、使用状況、ユーザー、ロール、APIアクセス、セキュリティ設定などのアカウント情報の表示と編集。Destinationとconnectionの作成、表示、編集、削除。変換とログの作成、表示、編集、削除。HVRハブシステムの登録。 | データプラットフォーム管理者、リードデータエンジニア |
Account Billing | 請求および使用状況情報を表示します。セキュリティ設定、ユーザー、ロール、Destination、connectionを編集することはできません。 | 経理・財務部門の担当者 |
Account Analyst | アカウント内のDestinationとユーザーのリストを表示します。Destinationを表示し、変換を表示、作成、編集、削除します。connectionを作成、表示、編集、削除します。アカウント情報は編集できません。Destinationを作成、編集、削除することはできません。 | データアナリスト、BI開発者 |
Account Reviewer | アカウント情報、Destination、connectionを表示できます。アカウント情報の編集はできません。Destinationとconnectionの作成、編集、削除はできません。 | 監査担当者、セキュリティチーム、閲覧のみが必要な関係者 |
Destination Creator | 新しいDestinationを作成します。既存のDestinationを表示、編集、削除することはできません。connectionを作成、表示、編集、削除することはできません。アカウント情報を編集することはできません。Destination作成者は、自分が作成したDestinationの管理者です。 | 新しいプロジェクトを開始する権限を持つエンジニアやアナリスト |
ユーザー追加画面
既存ユーザーの編集画面
標準Destination&Connectionレベルロール
先ほどはアカウントレベルでしたが、DestinationおよびConnectionレベルでもロールを付与することが可能です。
ロール名 | スコープ | 主要な権限 | 想定されるユーザー |
---|---|---|---|
Manage Destination | Destination | Destination設定の編集、Connection作成、Connection編集、Destination削除 | データエンジニア |
Edit Destination | Destination | Connection作成、Connection編集、変換の管理(Destination設定の編集は不可) | データアナリスト、特定のプロジェクトのデータ担当者 |
View Destination | Destination | DestinationとConnectionの表示(読み取り専用) | ビジネスユーザー、レポート閲覧者 |
Create Connection | Destination | 新規Connectionの作成(既存Connectionの編集・削除は自身が作成したもののみ) | セルフサービスでデータを取り込みたいアナリストや事業部門担当者 |
Manage Connection | Connection | 特定Connectionの表示、編集、削除 | 特定のデータソースの管理者 |
Edit Connection | Connection | 特定Connectionの表示、編集 | 特定のデータソースの運用担当者 |
View Connection | Connection | 特定Connectionの表示(読み取り専用) | 特定のデータソースの状況を確認したい関係者 |
Destinationロール
Destinationsの画面からロールを切り替えることが可能です。
上記のとおり、任意のDestinations
を選択します。ここでは既に作成していたkawabata_test
を選択しました。
Destination Permission
のプルダウンからロールを選択することができます。
Connectionロール
こちらはUsers & Permissions
で任意のユーザーを選択します。
下記のように、Connections
タブを選択し、Connection Permission
のプルダウンからロールを選択することができます。
※こちらのDestinations
タブからもDestinationロールが選択できますね!
カスタムロール
先ほど紹介させていただいた標準ロールはパッケージ化されたものですが、任意で設定することも可能です。
これをカスタムロールと呼んでいます。
-
Fivetranダッシュボードで
Account Settings
>Roles
に移動し、右上にある+ Add Role
をクリックします。
-
Role Name
に任意の名前を入力し、Description
にそのロールで出来る内容を記載します。
Account access
では、Users
、Settings
、Billing
、Roles
へのアクセスを制御できます。
-
Destination access
では、View権限を有効にしました。これにより、ユーザーはDestination
の存在を確認できますが、設定は変更できません。
また、Connection access
では、Selected
でGoogle Sheets
を選択し、Connections
でManage
を選択しました。これにより、Google Sheets
のみ作成、編集、削除等の権限がありそれ以外は権限がない状態です。
Roles
の画面を確認すると、作成したカスタムロールを確認することができました。
チーム機能
先ほどまではユーザーごとに権限を割り当てる方法でしたが、より上位の概念であるチームを定義し、そこにロールを割り当てることができます。
実際に作成します。
-
Fivetranダッシュボードから
Account Settings
>Teams
に移動します。右上にある+ Add Team
をクリックします。
-
以下のようなポップアップが表示されるので、
Team Name
に任意のチーム名を入力し、Account role
に先ほどカスタムロールで作成したロールを選択します。
実際に確認してみた
ユーザーの作成
下記のような形で作成したチームをユーザーに割り当てました。
作成したユーザーで下記内容を確認していきます。
Destinations
カスタムロールで設定した通り、View権限があるので内容は確認できますが、想定通りDestination
の作成ができなくなっています。
また、下記のように編集もできません。
Connections
こちらはGoogle Sheets
のみ全権限を与えていますが、他の接続先はNGとしています。
下記のとおりSource type
がGoogle Sheets
のものだけしか表示されていません。
下記のようにAdd connection
より作成工程を確認します。
Google Sheets
を選択した場合は、下記のようにDestination
を選択できますが、他のConnection
では選択できなくなっています。
Google Sheets
Salesforce
最後に
いかがでしたでしょうか。
個人的にはチーム機能が便利だなと感じました!
例えば、データ関連部門は一律ですべて管理し、営業部門ではSalesforce
など関連するツールのみ許可など組織ごとに権限を与えることで間違って接続先を増やしてしまうなどのミスが生じにくいと考えています。
この記事が何かの参考になれば幸いです!