群組映射
群組映射可讓您將身分識別提供者 (IdP) 中的使用者群組與 Docker 組織中的團隊同步。這可自動化團隊成員管理,根據您 IdP 中的變更,讓您的 Docker 團隊保持最新狀態。設定 單一登入 (SSO) 後,即可使用群組映射。
提示
群組映射非常適合將使用者新增至多個組織或一個組織中的多個團隊。如果您不需要設定多組織或多團隊指派,則可以使用 SCIM 使用者層級屬性。
群組映射的運作方式
啟用群組映射後,當使用者透過 SSO 進行驗證時,您的 IdP 會與 Docker 共用主要屬性,例如使用者的電子郵件地址、姓名和群組。Docker 使用這些屬性來建立或更新使用者的設定檔,以及管理其團隊和組織指派。透過群組映射,Docker 中使用者的團隊成員資格會自動反映您 IdP 群組中所做的變更。
請務必注意,Docker 使用使用者的電子郵件地址作為唯一識別碼。每個 Docker 帳戶必須始終具有唯一的電子郵件地址。
使用群組映射
若要透過 IdP 將使用者指派至 Docker 團隊,您必須在 IdP 中建立群組,並遵循下列命名模式:`organization:team`。例如,如果您的組織稱為「moby」,而您想要管理「developers」團隊,則 IdP 中的群組名稱應為 `moby:developers`。在此範例中,在 IdP 中新增至此群組的任何使用者都會自動指派至 Docker 中的「developers」團隊。
您也可以使用此格式將使用者指派至多個組織。例如,若要將使用者新增至「moby」組織中的「backend」團隊和「whale」組織中的「desktop」團隊,群組名稱將分別為 `moby:backend` 和 `whale:desktop`。
提示
將 IdP 中的群組名稱與 Docker 團隊相符。同步群組時,如果團隊不存在,Docker 會建立一個團隊。
以下列出支援的群組映射屬性
屬性 | 說明 |
---|---|
id | 群組的唯一 ID,採用 UUID 格式。此屬性為唯讀。 |
displayName | 群組的名稱,遵循群組映射格式:`organization:team`。 |
members | 此群組成員的清單。 |
members(x).value | 此群組成員的唯一 ID。成員是透過 ID 參考。 |
使用群組映射的一般步驟如下
- 在 IdP 中,以 `organization:team` 格式建立群組。
- 將使用者新增至群組。
- 將您在 IdP 中建立的 Docker 應用程式新增至群組。
- 在 IdP 中新增屬性。
- 將群組推送至 Docker。
確切的設定可能會因您的 IdP 而異。您可以 搭配 SSO 使用群組映射,或搭配 SSO 和 啟用 SCIM 使用群組映射。
搭配 SSO 使用群組映射
下列步驟說明如何使用 SAML 驗證方法設定和使用 SSO 連線的群組映射。請注意,使用 Azure AD (OIDC) 驗證方法時,不支援搭配 SSO 使用群組映射。此外,這些設定不需要 SCIM。
您的 IdP 使用者介面可能與下列步驟略有不同。您可以參考 Okta 文件 進行驗證。
若要設定群組映射
- 登入 Okta 並開啟您的應用程式。
- 瀏覽至應用程式的 [SAML 設定] 頁面
- 在 [群組屬性陳述式(選用)] 區段中,設定如下
- **名稱**:`groups`
- **名稱格式**:`未指定`
- **篩選器**:`開頭為` + `organization:`,其中 `organization` 是您組織的名稱。篩選器選項將會篩選掉不隸屬於您 Docker 組織的群組。
- 透過選擇目錄,然後選擇群組來建立您的群組。
- 使用與您在 Docker 中的組織和團隊名稱相符的格式
organization:team
來新增您的群組。 - 將使用者指派到您建立的群組。
下次您將群組與 Docker 同步時,您的使用者將會對應到您定義的 Docker 群組。
您的 IdP 使用者介面可能與以下步驟略有不同。您可以參考 Entra ID 文件 來驗證。
若要設定群組映射
- 登入 Entra ID 並開啟您的應用程式。
- 選擇管理,然後選擇單一登入。
- 選擇新增群組宣告。
- 在「群組宣告」區段中,選擇來源屬性為僅限雲端的群組顯示名稱 (預覽) 的指派給應用程式的群組。
- 選擇進階選項,然後選擇篩選群組選項。
- 如下設定屬性
- 要比對的屬性:
顯示名稱
- 比對方式:
包含
- 字串:
:
- 要比對的屬性:
- 選擇儲存。
- 選擇群組、所有群組,然後選擇新增群組來建立您的群組。
- 將使用者指派到您建立的群組。
下次您將群組與 Docker 同步時,您的使用者將會對應到您定義的 Docker 群組。
搭配 SCIM 使用群組映射
以下步驟說明如何使用 SCIM 設定和使用群組對應。在開始之前,請確保您先設定 SCIM。
您的 IdP 使用者介面可能與以下步驟略有不同。您可以參考 Okta 文件 來驗證。
設定您的群組
- 登入 Okta 並開啟您的應用程式。
- 選擇應用程式,然後選擇佈建和整合。
- 選擇編輯以啟用您連線上的群組,然後選擇推送群組。
- 選擇儲存。儲存此設定會將推送群組索引標籤新增到您的應用程式。
- 瀏覽至目錄並選擇群組來建立您的群組。
- 使用與您在 Docker 中的組織和團隊名稱相符的格式
organization:team
來新增您的群組。 - 將使用者指派到您建立的群組。
- 返回整合頁面,然後選擇推送群組索引標籤以開啟您可以控制和管理群組佈建方式的視圖。
- 選擇推送群組,然後選擇依規則尋找群組。
- 如下設定依規則的群組
- 輸入規則名稱,例如
與 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,則只會自動佈建使用者。您必須手動取消佈建它們。
更多資源
以下影片示範如何在啟用 SCIM 的情況下,將群組對應與您的 IdP 搭配使用