SnowflakeとMicrosoft Entra IDのSCIM統合によるユーザープロビジョニング
- 名称
- Snowflake-EntraID_プロビジョニング
- タグ
- ITインフラ/システム管理/Microsoft Entra ID/Snowflake
- 使用コネクター
- RSETコネクター/Snowflakeコネクター
- API
- Service Tags - List(API Version:2024-01-01)

SnowflakeとMicrosoft Entra IDのSCIM統合におけるシステム運用の負荷を軽減します
Snowflakeをデータ分析基盤として全社員で利用するケースでは、システム運用上の課題として次の点が挙げられます
- 社員の入社に伴うユーザー追加とロール付与
- 社員の退職に伴うユーザーとロールの削除
この課題に対応するために用いられる手段がSCIM統合です。SCIM統合を用いることで、社員情報をIDプロバイダー(Microsoft Entra IDなど)で一元管理でき、SnowflakeとIDプロバイダーが連携することで、入社・退職に伴うユーザーやロールの更新作業といったシステム運用の負荷を軽減することができます。
しかしIDプロバイダーのIPアドレスは不定期に変更されるため、変更されたIPアドレスをSnowflakeのネットワークルールに反映する処理が必要になります。
本アプリケーションでは、SnowflakeとMicrosoft Entra IDを連携させるうえで必要となる次の処理を提供します。
- Microsoft Entra IDから最新のパブリックIPアドレスを取得し、SnowflakeのネットワークルールのIPアドレスを更新する処理
- Microsoft Entra IDからSnowflakeへ新規にプロビジョニングされたユーザにロールとデフォルトウェアハウスを付与する処理
- Microsoft Entra IDで削除され、Snowflake上で無効化されたユーザーを削除する処理
インストール方法と使い方はこちら
スクリプト詳細
Microsoft Entra IDのパブリック IPを取得(Azure_get_Service_IPs)

Azure REST API を使用してMicrosoft Entra IDの最新のパブリックIPアドレスを取得し、CSVファイルへ書き込みます。
SnowflakeのネットワークルールへパブリックIP登録(Snowflake_alter_network_rule)

CSVファイルからパブリックIPアドレスを読み込み、Snowflakeのネットワークルールを更新します(ALTER NETWORK RULE)。
Snowflakeにプロビジョニングされたユーザへロールを付与(Snowflake_grant_role)

Microsoft Entra IDからSnowflakeへプロビジョニングされたユーザへ指定したロールを付与します。
また、付与されたロールおよび指定したウェアハウスをユーザのデフォルトとして設定します。
Snowflake上のユーザ削除(Snowflake_delete_user)

Microsoft Entra IDで削除され、Snowflake上で無効化されたユーザを削除します。
インストール方法と使い方はこちら