組對映
組對映允許你將身份提供商 (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 Settings 頁面。
- 在 Group Attribute Statements (可選) 部分,按如下方式配置:
- 名稱:
groups
- 名稱格式:
Unspecified
- 過濾器:
Starts with
+organization:
,其中organization
是你的組織名稱。此過濾選項將過濾掉與你的 Docker 組織無關的組。
- 名稱:
- 透過選擇 Directory,然後選擇 Groups 來建立你的組。
- 使用與 Docker 中組織和團隊名稱匹配的
organization:team
格式新增你的組。 - 將使用者分配到你建立的組。
下次將組與 Docker 同步時,你的使用者將對映到你定義的 Docker 組。
你的 IdP 的使用者介面可能與以下步驟略有不同。你可以參考 Entra ID 文件 進行驗證。
如何設定組對映
- 登入到 Entra ID 並開啟你的應用程式。
- 選擇 Manage,然後選擇 Single sign-on。
- 選擇 Add a group claim。
- 在 Group Claims 部分,選擇 Groups assigned to the application,源屬性為 Cloud-only group display names (預覽)。
- 選擇 Advanced options,然後選擇 Filter groups 選項。
- 按如下方式配置屬性:
- 匹配屬性:
Display name
- 匹配方式:
Contains
- 字串:
:
- 匹配屬性:
- 選擇 Save。
- 選擇 Groups,All groups,然後選擇 New group 來建立你的組。
- 將使用者分配到你建立的組。
下次將組與 Docker 同步時,你的使用者將對映到你定義的 Docker 組。
將組對映與 SCIM 一起使用
以下步驟描述瞭如何設定和使用 SCIM 的組對映。開始之前,請確保你已先設定 SCIM。
你的 IdP 的使用者介面可能與以下步驟略有不同。你可以參考 Okta 文件 進行驗證。
如何設定你的組
- 登入到 Okta 並開啟你的應用程式。
- 選擇 Applications,然後選擇 Provisioning,再選擇 Integration。
- 選擇 Edit 以在你的連線上啟用組,然後選擇 Push groups。
- 選擇 Save。儲存此配置會將 Push Groups 選項卡新增到你的應用程式。
- 透過導航到 Directory 並選擇 Groups 來建立你的組。
- 使用與 Docker 中組織和團隊名稱匹配的
organization:team
格式新增你的組。 - 將使用者分配到你建立的組。
- 返回到 Integration 頁面,然後選擇 Push Groups 選項卡以開啟可以控制和管理組配置的檢視。
- 選擇 Push Groups,然後選擇 Find groups by rule。
- 按如下方式按規則配置組:
- 輸入規則名稱,例如
Sync groups with Docker Hub
- 按名稱匹配組,例如以
docker:
開頭或包含:
用於多組織 - 如果你啟用 Immediately push groups by rule,一旦組或組分配發生變化,就會立即進行同步。如果你不想手動推送組,請啟用此選項。
- 輸入規則名稱,例如
在 Pushed Groups 列的 By rule 下找到你的新規則。匹配該規則的組將列在右側的組表中。
要推送此表中的組
- 選擇 Group in Okta。
- 選擇 Push Status 下拉選單。
- 選擇 Push Now。
你的 IdP 的使用者介面可能與以下步驟略有不同。你可以參考 Entra ID 文件 進行驗證。
在配置組對映之前完成以下步驟
- 登入到 Entra ID 並轉到你的應用程式。
- 在你的應用程式中,選擇 Provisioning,然後選擇 Mappings。
- 選擇 Provision Microsoft Entra ID Groups。
- 選擇 Show advanced options,然後選擇 Edit attribute list。
- 將
externalId
型別更新為reference
,然後勾選 Multi-Value 複選框,並選擇引用的物件屬性urn:ietf:params:scim:schemas:core:2.0:Group
。 - 選擇 Save,然後選擇 Yes 確認。
- 轉到 Provisioning。
- 將 Provision Status 切換為 On,然後選擇 Save。
接下來,設定組對映
- 轉到應用概述頁面。
- 在 使用者賬戶預配 下,選擇 開始。
- 選擇 新增使用者/組。
- 使用
organization:team
格式建立你的組。 - 將該組分配到預配組。
- 選擇 開始預配 以啟動同步。
要驗證,選擇 監視,然後選擇 預配日誌,以檢視你的組是否已成功預配。在你的 Docker 組織中,你可以檢查組是否被正確預配以及成員是否已被新增到適當的團隊中。
完成後,透過 SSO 登入到 Docker 的使用者將自動新增到 IdP 中對映的組織和團隊中。
提示
啟用 SCIM 以利用自動使用者預配和取消預配。如果你不啟用 SCIM,則只會自動預配使用者。你必須手動取消預配。
更多資源
以下影片演示了在啟用 SCIM 的情況下如何使用組對映以及你的 IdP