教學課程:Microsoft Entra SSO 與 Snowflake 整合
在本教學課程中,您將了解如何整合 Snowflake 與 Microsoft Entra ID。 在整合 Snowflake 與 Microsoft Entra ID 時,您可以:
- 在 Microsoft Entra ID 中控制可存取 Snowflake 的人員。
- 讓使用者以其 Microsoft Entra 帳戶自動登入 Snowflake。
- 在一個集中式位置管理您的帳戶。
必要條件
若要設定 Microsoft Entra 與 Snowflake 的整合作業,您需要下列項目:
- Microsoft Entra 訂用帳戶。 若無 Microsoft Entra 環境,您可以取得免費帳戶。
- 已啟用單一登入的 Snowflake 訂用帳戶。
- 除了雲端應用程式管理員之外,應用程式系統管理員也可以在 Microsoft Entra ID 中新增或管理應用程式。 如需詳細資訊,請參閱 Azure 內建角色。
注意
此整合也可從 Microsoft Entra US Government 雲端環境使用。 您可以在 Microsoft Entra US Government 雲端應用程式資源庫中找到此應用程式,並以您從公用雲端所做的相同方式進行設定。
案例描述
在本教學課程中,您將在測試環境中設定及測試 Microsoft Entra 單一登入。
- Snowflake 支援 SP 和 IDP 起始的 SSO。
- Snowflake 支援自動化的使用者佈建和取消佈建 (建議選項)。
從資源庫新增 Snowflake
若要設定將 Snowflake 整合到 Microsoft Entra ID 中,您需要從資源庫將 Snowflake 新增到受控 SaaS 應用程式清單。
- 以至少 雲端應用程式系統管理員 的身分登入 Microsoft Entra 系統管理中心。
- 瀏覽至 [身分識別] > [應用程式] > [企業應用程式] > [新增應用程式]。
- 在 [從資源庫新增] 區段的搜尋方塊中,輸入 Snowflake。
- 從結果面板選取 [Snowflake],然後新增應用程式。 將應用程式新增至您的租用戶時,請稍候幾秒鐘。
或者,您也可以使用企業應用程式組態精靈。 在此精靈中,您可以將應用程式新增至租用戶、將使用者/群組新增至應用程式、指派角色,以及逐步進行 SSO 設定。 深入了解 Microsoft 365 精靈。
設定及測試適用於 Snowflake 的 Microsoft Entra SSO
以名為 B.Simon 的測試使用者,設定及測試與 Snowflake 搭配運作的 Microsoft Entra SSO。 若要讓 SSO 能夠運作,您必須建立 Microsoft Entra 使用者與 Snowflake 中相關使用者之間的連結關聯性。
若要設定及測試與 Snowflake 搭配運作的 Microsoft Entra SSO,請執行下列步驟:
- 設定 Microsoft Entra SSO - 讓使用者能夠使用此功能。
- 建立 Microsoft Entra 測試使用者 - 以使用 B.Simon 測試 Microsoft Entra 單一登入。
- 指派 Microsoft Entra 測試使用者 - 讓 B.Simon 使用 Microsoft Entra 單一登入。
- 設定 Snowflake SSO - 在應用程式端設定單一登入設定。
- 建立 Snowflake 測試使用者 - 讓 Snowflake 中對應的 B.Simon 連結到使用者在 Microsoft Entra 中的代表項目。
- 測試 SSO - 確認組態是否正常運作。
設定 Microsoft Entra SSO
遵循下列步驟來啟用 Microsoft Entra SSO。
以至少 雲端應用程式系統管理員 的身分登入 Microsoft Entra 系統管理中心。
瀏覽至 [身分識別] > [應用程式] > [企業應用程式] > [Snowflake] > [單一登入]。
在 [選取單一登入方法] 頁面上,選取 [SAML]。
在 [以 SAML 設定單一登入] 頁面上,按一下 [基本 SAML 設定] 的鉛筆圖示,以編輯設定。
若您想要以 IDP 起始模式設定應用程式,請在 [基本 SAML 組態] 區段執行下列步驟:
a. 在 [識別碼] 文字方塊中,使用下列模式來輸入 URL:
https://<SNOWFLAKE-URL>.snowflakecomputing.com
b. 在 [回覆 URL] 文字方塊中,使用下列模式來輸入 URL:
https://<SNOWFLAKE-URL>.snowflakecomputing.com/fed/login
如果您想要以 SP 起始模式設定應用程式,請按一下 [設定其他 URL],然後執行下列步驟:
a. 在 [登入 URL] 文字方塊中,以下列模式輸入 URL︰
https://<SNOWFLAKE-URL>.snowflakecomputing.com
b. 在 [登出 URL] 文字方塊中,以下列模式輸入 URL:
https://<SNOWFLAKE-URL>.snowflakecomputing.com/fed/logout
注意
這些都不是真正的值。 使用實際的識別碼、回覆 URL、登入 URL 和登出 URL 來更新這些值。 請連絡 Snowflake 用戶端支援小組以取得這些值。 您也可以參考基本 SAML 設定區段中所示的模式。
在 [以 SAML 設定單一登入] 頁面的 [SAML 簽署憑證] 區段中,按一下 [下載],以依據您的需求從指定選項下載 [憑證 (Base64)],並儲存在您的電腦上。
在 [設定 Snowflake] 區段上,依據您的需求複製適當的 URL。
建立 Microsoft Entra 測試使用者
在本節中,您將建立名為 B.Simon 的測試使用者。
- 以至少是使用者管理員的身分登入 Microsoft Entra 系統管理中心。
- 瀏覽至 [身分識別]>[使用者]>[所有使用者]。
- 在畫面頂端選取 [新增使用者]>[建立新使用者]。
- 在 [使用者] 屬性中,執行下列步驟:
- 在 [顯示名稱] 欄位中輸入
B.Simon
。 - 在 [使用者主體名稱] 欄位中輸入 username@companydomain.extension。 例如:
B.Simon@contoso.com
。 - 選取 [顯示密碼] 核取方塊,然後記下 [密碼] 方塊中顯示的值。
- 選取 [檢閱 + 建立]。
- 在 [顯示名稱] 欄位中輸入
- 選取 [建立]。
指派 Microsoft Entra 測試使用者
在本節中,您會將 Snowflake 的存取權授與 B.Simon,讓其能夠使用單一登入。
- 以至少 雲端應用程式系統管理員 的身分登入 Microsoft Entra 系統管理中心。
- 瀏覽至 [身分識別]>[應用程式]>[企業應用程式]>[Snowflake]。
- 在應用程式的概觀頁面中,選取 [使用者和群組]。
- 選取 [新增使用者/群組],然後在 [新增指派] 對話方塊中選取 [使用者和群組]。
- 在 [使用者和群組] 對話方塊中,從 [使用者] 列表中選取 [B.Simon],然後按一下畫面底部的 [選取] 按鈕。
- 如果您預期將角色指派給使用者,則可以從 [選取角色] 下拉式清單中選取該角色。 如果未為此應用程式設定任何角色,您會看到已選取 [預設存取權] 角色。
- 在 [新增指派] 對話方塊中,按一下 [指派] 按鈕。
設定 Snowflake SSO
在不同的網頁瀏覽器視窗中,以安全性系統管理員身分登入 Snowflake。
按一下頁面右上方的 [設定檔],切換角色為 ACCOUNTADMIN。
注意
這與您在右上角您使用者名稱底下選取的內容不同。
在記事本中開啟所下載的 Base 64 憑證。 複製 “-----BEGIN CERTIFICATE-----” 和 “-----END CERTIFICATE-----" 之間的值,並將此內容貼到 中。
在 SAML2_ISSUER中,貼上您先前複製的 [識別碼] 值。
在 SAML2_SSO_URL 中,貼上您之前複製的 [登入 URL] 值。
在 SAML2_PROVIDER 中,提供如下所示的值:
CUSTOM
。選取 [所有查詢],然後按一下 [執行]。
CREATE [ OR REPLACE ] SECURITY INTEGRATION [ IF NOT EXISTS ] TYPE = SAML2 ENABLED = TRUE | FALSE SAML2_ISSUER = '<EntityID/Issuer value which you have copied>' SAML2_SSO_URL = '<Login URL value which you have copied>' SAML2_PROVIDER = 'CUSTOM' SAML2_X509_CERT = '<Paste the content of downloaded certificate from Azure portal>' [ SAML2_SP_INITIATED_LOGIN_PAGE_LABEL = '<string_literal>' ] [ SAML2_ENABLE_SP_INITIATED = TRUE | FALSE ] [ SAML2_SNOWFLAKE_X509_CERT = '<string_literal>' ] [ SAML2_SIGN_REQUEST = TRUE | FALSE ] [ SAML2_REQUESTED_NAMEID_FORMAT = '<string_literal>' ] [ SAML2_POST_LOGOUT_REDIRECT_URL = '<string_literal>' ] [ SAML2_FORCE_AUTHN = TRUE | FALSE ] [ SAML2_SNOWFLAKE_ISSUER_URL = '<string_literal>' ] [ SAML2_SNOWFLAKE_ACS_URL = '<string_literal>' ]
如果您使用新的 Snowflake URL 搭配組織名稱作為登入 URL,則必須更新下列參數:
變更整合以新增 Snowflake 簽發者 URL 和 SAML2 Snowflake ACS URL,請遵循本文中的步驟 6 以取得詳細資訊。
[ SAML2_SNOWFLAKE_ISSUER_URL = '<string_literal>' ]
變更安全性整合
<your security integration name goes here>
集合 SAML2_SNOWFLAKE_ISSUER_URL =https://<organization_name>-<account name>.snowflakecomputing.com
;[ SAML2_SNOWFLAKE_ACS_URL = '<string_literal>' ]
變更安全性整合
<your security integration name goes here>
集合 SAML2_SNOWFLAKE_ACS_URL =https://<organization_name>-<account name>.snowflakecomputing.com/fed/login
;
注意
請遵循本指南,以深入了解如何建立 SAML2 安全性整合。
注意
如果您有使用 saml_identity_provider
帳戶參數的現有 SSO 設定,則請遵循 本 指南將其遷移至 SAML2 安全性整合。
建立 Snowflake 測試使用者
若要讓 Microsoft Entra 使用者能夠登入 Snowflake,必須將他們佈建到 Snowflake。 在 Snowflake 中,需以手動方式佈建。
若要佈建使用者帳戶,請執行下列步驟:
以安全性系統管理員身分登入 Snowflake。
按一下頁面右上方的 [設定檔],切換角色為 ACCOUNTADMIN。
執行下列 SQL 查詢來建立使用者,確定「登入名稱」是設定為工作表上的 Microsoft Entra 使用者名稱,如下所示。
use role accountadmin; CREATE USER britta_simon PASSWORD = '' LOGIN_NAME = 'BrittaSimon@contoso.com' DISPLAY_NAME = 'Britta Simon';
注意
如果使用者和群組使用 SCIM 整合佈建,則無需手動佈建。 請參閱如何啟用 Snowflake 的自動佈建。
測試 SSO
在本節中,您會使用下列選項來測試您的 Microsoft Entra 單一登入設定。
SP 起始:
按一下 [測試此應用程式],重新導向至可用於起始登入流程的 Snowflake 登入 URL。
直接移至 Snowflake 登入 URL,然後從該處起始登入流程。
IDP 起始:
- 按一下 [測試此應用程式],您應該會自動登入已設定 SSO 的 Snowflake。
您也可以使用 Microsoft「我的應用程式」,以任何模式測試應用程式。 當您按一下「我的應用程式」中的 [Snowflake] 圖格時,如果是在 SP 模式中設定,您會重新導向至 [應用程式登入] 頁面來起始登入流程,如果在 IDP 模式中設定,則應該會自動登入已設定 SSO 的 Snowflake。 如需詳細資訊,請參閱<Microsoft Entra 我的應用程式>。
透過本機帳戶防止應用程式存取
驗證 SSO 是否可運作並在組織中推出之後,建議使用本機認證停用應用程式存取。 這可確保條件式存取原則、MFA 等都已就緒,以便保護 Snowflake 的登入。 檢閱 Snowflake 文件來設定 SSO,並使用 ALTER USER commandlet 來移除使用者密碼。
下一步
設定 Snowflake 後,您可以強制執行工作階段控制項,以即時防止組織的敏感資料遭到外洩和滲透。 工作階段控制項會從條件式存取延伸。 了解如何使用適用於雲端的 Microsoft Defender 應用程式來強制執行工作階段控制項。