組對映
群組對映會自動將您身份提供商 (IdP) 中的使用者群組與 Docker 組織中的團隊進行同步。例如,當您將開發人員新增到 IdP 中的“backend-team”群組時,他們會自動新增到 Docker 中對應的團隊。
本頁面解釋了群組對映的工作原理以及如何設定群組對映。
提示群組對映非常適合將使用者新增到多個組織或一個組織內的多個團隊。如果您不需要設定多組織或多團隊分配,SCIM 使用者級屬性可能更適合您的需求。
先決條件
在開始之前,您必須具備:
- 為您的組織配置了 SSO
- Docker Home 和您的身份提供商的管理員訪問許可權
群組對映如何工作
群組對映透過以下關鍵元件使您的 Docker 團隊與 IdP 群組保持同步:
- 身份驗證流程:當用戶透過 SSO 登入時,您的 IdP 會與 Docker 共享使用者屬性,包括電子郵件、姓名和群組成員資格。
- 自動更新:Docker 使用這些屬性來建立或更新使用者配置檔案,並根據 IdP 群組更改管理團隊分配。
- 唯一標識:Docker 使用電子郵件地址作為唯一識別符號,因此每個 Docker 帳戶都必須具有唯一的電子郵件地址。
- 團隊同步:Docker 中使用者的團隊成員資格會自動反映 IdP 群組中的更改。
設定群組對映
群組對映設定涉及配置您的身份提供商以與 Docker 共享群組資訊。這需要:
- 使用 Docker 的命名格式在您的 IdP 中建立群組
- 配置屬性,以便您的 IdP 在身份驗證期間傳送群組資料
- 將使用者新增到相應的群組
- 測試連線以確保群組正確同步
您可以僅將群組對映與 SSO 結合使用,或者與 SSO 和 SCIM 同時使用,以實現增強的使用者生命週期管理。
群組命名格式
使用格式 `organization:team` 在您的 IdP 中建立群組。
例如:
- 對於“moby”組織中的“developers”團隊:`mobdy:developers`
- 對於多組織訪問:`moby:backend` 和 `whale:desktop`
如果群組同步時團隊不存在,Docker 會自動建立團隊。
支援的屬性
屬性 | 描述 |
---|---|
id | UUID 格式的群組唯一 ID。此屬性為只讀。 |
displayName | 遵循群組對映格式的群組名稱:`organization:team`。 |
成員 | 此群組的成員使用者列表。 |
members(x).value | 此群組的成員使用者的唯一 ID。成員透過 ID 引用。 |
使用 SSO 配置群組對映
將群組對映與使用 SAML 身份驗證方法的 SSO 連線一起使用。
注意使用 Azure AD (OIDC) 身份驗證方法時,不支援 SSO 的群組對映。這些配置不需要 SCIM。
您的 IdP 的使用者介面可能與以下步驟略有不同。請參閱 Okta 文件進行驗證。
設定群組對映
- 登入 Okta 並開啟您的應用程式。
- 導航到您應用程式的 SAML 設定 頁面。
- 在 群組屬性語句(可選) 部分,按如下配置:
- 名稱:`groups`
- 名稱格式:`未指定`
- 篩選器:`開頭是` + `organization:`,其中 `organization` 是您的組織名稱。篩選器選項將過濾掉與您的 Docker 組織無關的群組。
- 選擇 目錄,然後選擇 群組,建立您的群組。
- 使用 `organization:team` 格式新增您的群組,該格式與您 Docker 中的組織和團隊名稱匹配。
- 將使用者分配到您建立的群組。
下次將群組與 Docker 同步時,您的使用者將對映到您定義的 Docker 群組。
您的 IdP 的使用者介面可能與以下步驟略有不同。請參閱 Entra ID 文件進行驗證。
設定群組對映
- 登入 Entra ID 並開啟您的應用程式。
- 選擇 管理,然後選擇 單一登入。
- 選擇 新增群組宣告。
- 在“群組宣告”部分,選擇 分配給應用程式的群組,源屬性為 僅限雲群組顯示名稱(預覽)。
- 選擇 高階選項,然後選擇 篩選群組 選項。
- 按如下方式配置屬性
- 要匹配的屬性:`顯示名稱`
- 匹配方式:`包含`
- 字串:`:`
- 選擇儲存。
- 選擇 群組,所有群組,然後選擇 新建群組 以建立您的群組。
- 將使用者分配到您建立的群組。
下次將群組與 Docker 同步時,您的使用者將對映到您定義的 Docker 群組。
使用 SCIM 配置群組對映
使用 SCIM 進行群組對映,以實現更高階的使用者生命週期管理。開始之前,請務必先設定 SCIM。
您的 IdP 的使用者介面可能與以下步驟略有不同。請參閱 Okta 文件進行驗證。
設定您的群組
- 登入 Okta 並開啟您的應用程式。
- 選擇 應用程式,然後選擇 配置,再選擇 整合。
- 選擇 編輯 以在您的連線上啟用群組,然後選擇 推送群組。
- 選擇 儲存。儲存此配置將把 推送群組 選項卡新增到您的應用程式中。
- 透過導航到 目錄 並選擇 群組 來建立您的群組。
- 使用 `organization:team` 格式新增您的群組,該格式與您 Docker 中的組織和團隊名稱匹配。
- 將使用者分配到您建立的群組。
- 返回 整合 頁面,然後選擇 推送群組 選項卡以開啟您可以控制和管理群組配置方式的檢視。
- 選擇 推送群組,然後選擇 按規則查詢群組。
- 按如下方式配置群組規則:
- 輸入規則名稱,例如 `將群組與 Docker Hub 同步`
- 按名稱匹配群組,例如以 `docker:` 開頭或包含 `:` 用於多組織
- 如果您啟用 立即按規則推送群組,則只要群組或群組分配發生更改,就會立即進行同步。如果您不想手動推送群組,請啟用此選項。
在 已推送群組 列中,找到 按規則 下的新規則。匹配該規則的群組會列在右側的群組表中。
要從該表推送群組
- 選擇 Okta 中的群組。
- 選擇 推送狀態 下拉選單。
- 選擇 立即推送。
您的 IdP 的使用者介面可能與以下步驟略有不同。請參閱 Entra ID 文件進行驗證。
在配置群組對映之前完成以下操作
- 登入 Entra ID 並轉到您的應用程式。
- 在您的應用程式中,選擇 配置,然後選擇 對映。
- 選擇 配置 Microsoft Entra ID 群組。
- 選擇 顯示高階選項,然後選擇 編輯屬性列表。
- 將 `externalId` 型別更新為 `reference`,然後選中 多值 複選框並選擇引用的物件屬性 `urn:ietf:params:scim:schemas:core:2.0:Group`。
- 選擇 儲存,然後選擇 是 進行確認。
- 轉到 配置。
- 將 配置狀態 切換到 開,然後選擇 儲存。
接下來,設定群組對映
- 轉到應用程式概覽頁面。
- 在 配置使用者帳戶 下,選擇 開始。
- 選擇 新增使用者/群組。
- 使用 `organization:team` 格式建立您的群組。
- 將群組分配給配置群組。
- 選擇 開始配置 以開始同步。
要驗證,請選擇 監視,然後選擇 配置日誌 以檢視您的群組是否已成功配置。在您的 Docker 組織中,您可以檢查群組是否已正確配置,以及成員是否已新增到相應的團隊。
完成後,透過 SSO 登入 Docker 的使用者將自動新增到 IdP 中對映的組織和團隊。
提示啟用 SCIM 以利用自動使用者配置和解除配置。如果您不啟用 SCIM,則使用者僅自動配置。您必須手動解除配置。