
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など関連するツールのみ許可など組織ごとに権限を与えることで間違って接続先を増やしてしまうなどのミスが生じにくいと考えています。
この記事が何かの参考になれば幸いです!








