この記事では、Snowflake に対してユーザーとグループを自動的にプロビジョニングおよびプロビジョニング解除するように Microsoft Entra ID を構成するために Snowflake と Microsoft Entra ID で実行する手順について説明します。 このサービスが実行する内容、しくみ、よく寄せられる質問の重要な詳細については、Microsoft Entra ID での SaaS アプリ ユーザー プロビジョニングの自動化に関する記事を参照してください。
サポートされている機能
- Snowflake でユーザーを作成する
- アクセスが不要になったユーザーを Snowflake で削除する
- Microsoft Entra ID と Snowflake の間でユーザー属性の同期を維持します。
- Snowflake でグループとグループ メンバーシップをプロビジョニングする
- Snowflake へのシングル サインオンを許可する (推奨)
[前提条件]
この記事で説明するシナリオでは、次の前提条件が既にあることを前提としています。
- Microsoft Entra のテナント
- 次のいずれかのロール: アプリケーション管理者、クラウドアプリケーション管理者、または アプリケーション所有者。
- Snowflake テナント
- ACCOUNTADMIN ロールを持つ Snowflake 内の少なくとも 1 人のユーザー。
手順 1: プロビジョニングデプロイメントを計画する
- プロビジョニング サービスのしくみを確認します。
- プロビジョニングの対象範囲にいるユーザーを決定します。
- Microsoft Entra ID と Snowflake の間でマップするデータを決定します。
手順 2: Microsoft Entra ID を使ったプロビジョニングをサポートするように Snowflake を構成する
Microsoft Entra ID を使った自動ユーザー プロビジョニング用に Snowflake を構成する前に、Snowflake でクロスドメイン ID 管理システム (SCIM) プロビジョニングを有効にする必要があります。
管理者として Snowflake にサインインし、Snowflake ワークシート インターフェイスまたは SnowSQL から次を実行します。
use role accountadmin; create role if not exists aad_provisioner; grant create user on account to role aad_provisioner; grant create role on account to role aad_provisioner; grant role aad_provisioner to role accountadmin; create or replace security integration aad_provisioning type = scim scim_client = 'azure' run_as_role = 'AAD_PROVISIONER'; select system$generate_scim_access_token('AAD_PROVISIONING');
ACCOUNTADMIN ロールを使用します。
カスタム ロール AAD_PROVISIONER を作成します。 Microsoft Entra ID によって作成された Snowflake のすべてのユーザーとロールは、スコープダウンAAD_PROVISIONERロールによって所有されます。
ACCOUNTADMIN ロールで、AAD_PROVISIONER カスタム ロールを使用してセキュリティ統合を作成します。
認証トークンを作成してクリップボードにコピーし、後で使用できるように安全に保存します。 SCIM REST API 要求ごとにこのトークンを使用し、要求ヘッダーに配置します。 アクセス トークンは 6 か月後に期限切れになり、このステートメントで新しいアクセス トークンを生成できます。
手順 3: Microsoft Entra アプリケーション ギャラリーから Snowflake を追加する
Microsoft Entra アプリケーション ギャラリーから Snowflake を追加して、Snowflake へのプロビジョニングの管理を開始します。 シングル サインオン (SSO) のために Snowflake を以前に設定している場合は、同じアプリケーションを使用できます。 ただし、最初に統合をテストするときは、別のアプリを作成することをお勧めします。 ギャラリーからアプリケーションを追加する方法の詳細をご覧ください。
手順 4: プロビジョニングのスコープに含まれるユーザーを定義する
Microsoft Entra プロビジョニング サービスを使用すると、アプリケーションへの割り当てに基づいて、またはユーザーまたはグループの属性に基づいてプロビジョニングされるユーザーをスコープできます。 割り当てに基づいてアプリにプロビジョニングされるユーザーのスコープを設定する場合は、 手順を使用してユーザーとグループをアプリケーションに割り当てることができます。 ユーザーまたはグループの属性のみに基づいてプロビジョニングする対象を決定する場合、スコープフィルターを使用できます。
小規模から始めます。 すべてのユーザーとグループにロールアウトする前に、少数のユーザーとグループでテストします。 プロビジョニングのスコープが割り当てられたユーザーとグループに設定されている場合は、1 つまたは 2 つのユーザーまたはグループをアプリに割り当てることで、これを制御できます。 スコープがすべてのユーザーとグループに設定されている場合は、 属性ベースのスコープ フィルターを指定できます。
追加のロールが必要な場合は、 アプリケーション マニフェストを更新 して新しいロールを追加できます。
手順 5:Snowflake への自動ユーザー プロビジョニングを構成する
このセクションでは、Snowflake でユーザーとグループを作成、更新、無効化するように Microsoft Entra プロビジョニング サービスを構成する手順について説明します。 Microsoft Entra ID では、ユーザーとグループの割り当てに基づいて構成を行うことができます。
Microsoft Entra ID で Snowflake の自動ユーザー プロビジョニングを構成するには、次の操作を実行します。
クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。
Entra ID>エンタープライズアプリケーションに移動します。
アプリケーションの一覧で、 [Snowflake] を選択します。
[プロビジョニング] タブを選択します。
[プロビジョニング モード] を [自動] に設定します。
[管理者資格情報] セクションの [テナント URL] ボックスと [シークレット トークン] ボックスに、先ほど取得した SCIM 2.0 ベース URL と認証トークンをそれぞれ入力します。
注
Snowflake SCIM エンドポイントは、
/scim/v2/
が追加された Snowflake アカウント URL で構成されます。 たとえば、Snowflake アカウント名がacme
で、Snowflake アカウントがeast-us-2
Azure リージョンにある場合、テナント URL の値はhttps://acme.east-us-2.azure.snowflakecomputing.com/scim/v2
になります。Microsoft Entra ID から Snowflake へ接続できることを確認するために、[テスト接続] を選びます。 接続に失敗した場合は、お使いの Snowflake アカウントに管理者アクセス許可があることを確認してから、もう一度試します。
[ 通知メール ] ボックスに、プロビジョニング エラー通知を受け取るユーザーまたはグループのメール アドレスを入力します。 [エラーが発生したときにメール通知を送信します] チェック ボックスをオンにします。
保存 を選択します。
[マッピング] セクションで、[Synchronize Microsoft Entra users to Snowflake] (Microsoft Entra ユーザーを Snowflake に同期する) を選びます。
[属性マッピング] セクションで、Microsoft Entra ID から Snowflake に同期されるユーザー属性を確認します。 [照合] プロパティとして選択されている属性は、更新処理で Snowflake のユーザー アカウントとの照合に使用されます。 [保存] ボタンをクリックして変更をコミットします。
特性 タイプ 活動中 ボーリアン ディスプレイ名 糸 emails[type eq "仕事"].value 糸 ユーザー名 糸 名前.名 糸 名前.姓 糸 エクスターナルID 糸 注
Snowflake では、SCIM プロビジョニング中にカスタム拡張機能ユーザー属性がサポートされました。
- デフォルトの役割
- 標準倉庫
- デフォルト_セカンダリー_ロール
- SNOWFLAKE の名前とLOGIN_NAMEフィールドが異なる
Microsoft Entra SCIM ユーザーのプロビジョニングで Snowflake カスタム拡張機能属性を設定する方法についてはこちらで説明されています。
[マッピング] セクションで、[Synchronize Microsoft Entra groups to Snowflake] (Microsoft Entra グループを Snowflake に同期する) を選びます。
[属性マッピング] セクションで、Microsoft Entra ID から Snowflake に同期されるグループ属性を確認します。 [照合] プロパティとして選択されている属性は、更新処理で Snowflake のグループとの照合に使用されます。 [保存] ボタンをクリックして変更をコミットします。
特性 タイプ ディスプレイ名 糸 メンバー リファレンス スコープ フィルターを構成するには、スコープ フィルターに関する記事の手順 を参照してください。
Snowflake に対して Microsoft Entra プロビジョニング サービスを有効にするには、[設定] セクションで [プロビジョニングの状態] を [オン] に変更します。
[設定] セクションの [スコープ] で目的の値を選択して、Snowflake にプロビジョニングするユーザーとグループを定義します。
このオプションを使用できない場合は、[ 管理者資格情報] で必須フィールドを構成し、[ 保存] を選択してページを更新します。
プロビジョニングの準備ができたら、 [保存] を選択します。
この操作により、 [設定] セクションの [スコープ] で定義したすべてのユーザーとグループの初期同期が開始されます。 初期同期は、後続の同期よりも実行に時間がかかります。 Microsoft Entra プロビジョニング サービスが実行されている限り、後続の同期は約 40 分ごとに発生します。
手順 6: デプロイを監視する
プロビジョニングを構成したら、次のリソースを使用してデプロイを監視します。
- プロビジョニング ログを使用して、どのユーザーが正常にプロビジョニングされたか、または正常にプロビジョニングされなかったかを判断する
- 進行状況バーを確認して、プロビジョニング サイクルの状態と完了までの近さを確認します
- プロビジョニング構成が異常な状態にあると思われる場合、アプリケーションは検疫に入ります。 検疫状態についての詳細は、アプリケーションプロビジョニングの隔離状態に関する記事をご覧ください。
コネクタの制限事項
Snowflake で生成される SCIM トークンの有効期間は 6 か月です。 プロビジョニングの同期を引き続き機能させるには、有効期限が切れる前にこれらのトークンを更新する必要があることに注意してください。
トラブルシューティングのヒント
現在、Microsoft Entra プロビジョニング サービスは特定の IP 範囲で動作します。 必要に応じて、他の IP 範囲を制限し、これらの特定の IP 範囲をアプリケーションの許可リストに追加できます。 この手法により、Microsoft Entra プロビジョニング サービスからアプリケーションへのトラフィック フローが可能になります。
変更ログ
- 2020 年 7 月 21 日: (アクティブな属性を使用して) すべてのユーザーに対して論理的な削除を有効化。
- 2022 年 10 月 12 日: Snowflake SCIM 構成を更新しました。