配置專案層面的設定

透過使用主控台中的「專案設定」頁面,您可以檢閱及配置套用至特定專案的設定。 瞭解如何使用專案層面的整合。

何謂專案層面整合,以及為何使用它們?

當您想要以專案的所有使用者都可以執行特定動作的方式來配置專案層面的設定時,請使用主控台中的「整合」頁面。 只要有足夠的權限,您就可以設定服務綁定作業或設定從單一頁面存取 IBM Cloud Container Registry 中的影像。 如果您沒有足夠的許可權來執行這些動作,您可以使用這些頁面來協助您瞭解必要的許可權。

當您使用「整合」頁面設定專案層面的設定時,Code Engine 會自動設定必要的認證,以便 Code Engine 可以執行服務連結作業或為您存取 Container Registry,而不是使用個人使用者 ID。 當您配置服務連結作業或配置對 Container Registry的存取權時,您可以檢視 Code Engine 為您執行的動作的詳細資料。 這些詳細資料包括服務 ID 及其存取原則、API 金鑰及密碼的相關資訊。

設定專案範圍內的服務綁定作業

請使用主控台中的「整合」頁面來配置服務連結作業的設定,以便特定專案的所有使用者可以建立及刪除連結,而不必將所有必要的專用權指派給其個人使用者 ID。

在 Code Engine中,包括建立及刪除服務連結在內的服務連結作業,不會以登入的使用者身分來執行。 相反地,Code Engine 會自動建立專門用於服務連結作業的服務 ID。 如果有足夠的許可權,您可以從「整合」頁面配置服務連結作業,以針對服務連結作業自動設定此服務 ID。 或者,您可以選擇使用您自己針對服務連結作業所管理的自訂服務 ID。

配置服務連結作業需要哪些存取權?

此「整合」頁面的使用者必須具有指派給使用者帳戶的下列 Cloud Identity and Access Management (IAM) 存取原則,才能順利配置服務連結作業。 如果您沒有足夠許可權來執行這些動作,您可以利用這個頁面來協助您瞭解必要的許可權。

  • 服務: 所有啟用身分與存取的服務
    • 資源: 從資源群組、區域或存取管理標籤中選取。
    • 資源群組存取: Viewer
    • 角色和動作: Administrator 平台存取權 (不需要服務存取權)
  • 服務: Code Engine
    • 資源: 此 Code Engine 專案的資源群組
    • 資源群組存取: Viewer
    • 角色和動作: Writer 服務存取權和 Operator 平台存取權

為了讓 Code Engine 自動產生服務連結作業的服務 ID,Code Engine 會檢查並自動設定服務 ID,其具有 Code Engine 專案資源群組中所有服務的 Operator 平台存取權及 Manager 服務存取權。Code Engine 使用此服務 ID 來存取具有服務連結的 IBM Cloud 服務。

如果您使用自己的自訂服務 ID,則自訂服務 ID 必須為您想要連結至 Code Engine 應用程式或工作的任何 IBM Cloud 服務或服務實例提供 Operator 平台存取權及 Manager 服務存取權。

如果此服務 ID 不存在,則每當建立服務連結時,Code Engine 都會嘗試自動建立此服務 ID。 順利建立服務連結作業的此服務 ID 取決於登入 Code Engine 的使用者是否具有足夠的許可權。 如果未順利建立操作員密碼,則任何建立服務連結的嘗試都會失敗。 如需服務連結作業的 Code Engine 存取需求的相關資訊,請參閱 配置服務連結的存取權

服務 ID 與操作員密碼之間的關係為何?

當您配置服務連結作業時,可以檢視 Code Engine 為您所做的詳細資料,包括服務 ID、API 金鑰及密碼的相關資訊。

在 Code Engine中,服務連結 是應用程式或工作與另一個 IBM Cloud 服務之間的關係。

Code Engine 使用 服務 ID 來代表使用者執行連結作業,而不是使用已登入使用者的身分。 服務 ID 會建立特定 IBM Cloud 服務實例的認證。 您連結的 Code Engine 應用程式及工作使用這些服務認證來與服務實例互動。 服務 ID 的 API 金鑰 儲存在操作員密碼中。 存取原則是提供給服務 ID 的許可權。

操作員密碼ibmcloud-operator-secret 是 Code Engine 產生的受管理密鑰,其中包括服務 ID 及自動產生的 API 金鑰。 此密鑰會與服務連結作業搭配使用,且不會作為現行使用者的帳戶。 如果操作員密碼不存在,則會在下列任何一個實務為 true 時自動建立該密碼。

  • 何時為專案建立下一個服務連結 (從主控台或 CLI)。
  • 當您從「整合」頁面配置服務連結作業時。
  • 當您執行 project update 指令時。

當配置服務連結作業時,服務 ID操作員密碼 會套用至您的特定專案。

您可以配置服務連結作業,並讓 Code Engine 自動產生服務 ID,或者您可以 使用您自己的自訂服務 ID 來配置服務連結

使用 Code Engine 自動產生的服務 ID 來配置服務連結作業

您可以設定服務綁定作業,讓專案中的所有使用者都能從 Code Engine 主控台建立和管理與 IBM Cloud 所選資源群組中的服務綁定。

  1. 前往整合頁面。
    1. Code Engine 主控台中的「專案」頁面中選取您的專案。
    2. 按一下 專案設定 > 整合
  2. 按一下 服務連結 磚中的 配置,為這個專案的所有使用者配置服務連結作業。
  3. 「設定服務綁定作業」 頁面中,指定要用於服務綁定作業的資源群組。 您可以選擇包含IBM Cloud®專案的Code Engine資源群組,並讓Code Engine建立必要的憑證。 或者,您可以選擇使用使用您的服務 ID 憑證的 自訂服務 ID
  4. (選用) 展開 Code Engine 為您執行的動作 區段,以檢視在您配置服務連結作業時 Code Engine 自動為您建立之內容的相關資訊。 檢視指派給此服務 ID 的服務 ID 及存取原則、Code Engine 自動為服務 ID 產生的 API 金鑰以及用於服務連結的操作員密碼的相關資訊。
  5. 按一下配置
  6. (選用) 按一下 檢視詳細資料,以檢視服務連結作業配置的詳細資料。 從這個頁面中,您可以檢視用於服務連結作業之服務 ID、API 金鑰及操作員密碼的相關資訊。

既然您已針對指定資源群組配置服務連結作業,具有此 Code Engine 專案之寫入者或管理員存取權的每位使用者都可以建立及刪除服務連結。 請參閱 使用服務連結來整合 IBM Cloud 服務與 Code Engine

當您使用 Code Engine 自動產生(和管理)的服務 ID 設定服務綁定作業時,請勿手動更新或移除作為服務綁定作業設定的一部分而建立的服務 ID 或 API 金鑰。 此外,請勿嘗試替換與服務 ID 相關聯的 API 金鑰。 相反地,請移至主控台中的 專案設定 > 整合 頁面,移除專案的服務連結作業配置,然後重新配置服務連結作業。 此動作會刪除舊的服務 ID 和 API 金鑰,並為服務連結作業建立新的服務 ID 和 API 金鑰。

使用自訂服務 ID 來配置服務連結作業

您可以設定服務綁定作業,讓專案中的所有使用者都能以自訂的服務 ID 建立和管理服務綁定,從 Code Engine 主控台 IBM Cloud 服務。

當您使用自訂服務 ID 時,指派給服務 ID 的 IAM 原則會決定資源群組。

  1. 前往整合頁面。
    1. Code Engine 主控台中的「專案」頁面中選取您的專案。
    2. 按一下 專案設定 > 整合
  2. 按一下 服務連結 磚中的 配置,以您的自訂服務 ID 來配置這個專案所有使用者的服務連結作業。
  3. 「設定服務綁定操作」 頁面中,選擇 「使用自訂服務 ID」
  4. 選擇您要使用的自訂服務 ID。
  5. (選用) 展開 Code Engine 為您執行的動作 區段,以檢視在您配置服務連結作業時 Code Engine 自動為您建立之內容的相關資訊。 檢視 Code Engine 自動為服務 ID 及用於服務連結作業的操作員密碼所產生之 API 金鑰的相關資訊。
  6. 按一下配置。 配置服務連結作業之後,會顯示服務連結作業的自訂服務 ID。
  7. (選用) 按一下 檢視詳細資料,以檢視服務連結作業配置的詳細資料。 從這個頁面中,您可以檢視用於服務連結作業之服務 ID、API 金鑰及操作員密碼的相關資訊。

既然您已使用具有必要 IAM 許可權的自訂服務 ID 來配置服務連結作業,每一個具有此 Code Engine 專案之寫入者或管理員存取權的使用者都可以建立及刪除服務連結。 請參閱 使用服務連結來整合 IBM Cloud 服務與 Code Engine

移除已設定的服務綁定作業

如果已配置服務連結作業,您也可以使用「整合」頁面來移除專案所有使用者建立或刪除服務連結的能力。 此動作會移除服務連結作業的操作員密碼。

  1. 前往整合頁面。
    1. Code Engine 主控台中的「專案」頁面中選取您的專案。
    2. 按一下 專案設定 > 整合
  2. 如果「服務」連結作業的狀態為 已配置,請按一下 移除配置 以移除操作員密碼。 系統會要求您確認是否要刪除操作員密碼。

當您收到已移除服務連結作業的訊息時,服務連結作業的狀態為 未配置

如果您從「整合」頁面移除已配置的服務連結作業,則會保留任何現有的服務連結。 這表示對於現有的服務連結,當您執行應用程式、執行新的應用程式修訂或執行工作時,連結的應用程式或工作會使用現有的服務連結及其認證。 不過,如果沒有足夠的許可權,就無法建立新的服務連結,且無法刪除現有的連結。

如果操作員密碼不存在,則會在下列任何一個實務為 true 時自動建立該密碼。

  • 何時為專案建立下一個服務連結 (從主控台或 CLI)。
  • 當您從「整合」頁面配置服務連結作業時。
  • 當您執行 project update 指令時。

配置專案層面對 Container Registry 的存取權

使用主控台的「整合」頁面配置設定,以設定和管理 IBM Cloud Container Registry 中影像的註冊表存取權限,讓特定 Code Engine 專案的所有使用者都能在 Container Registry 中儲存和存取影像,而無需手動建立註冊表密碼。

當您使用專案整合來控制 Code Engine 受管理存取權 Container Registry時,Code Engine 不使用已登入使用者的身分。 相反地,Code Engine 會自動建立專門用於存取 IBM Cloud Container Registry中映像檔的登錄存取權。 如果具備足夠的許可權,您可以根據每個位置 (地區) 來配置這個預設登錄存取權。 如需 Container Registry 地區的相關資訊,請參閱 IBM Cloud Container Registry 地區

Code Engine 對 IBM Cloud Container Registry的受管理存取權需要哪些存取權?

此「整合」頁面的使用者必須具有指派給使用者帳戶的下列 IBM Cloud® Identity and Access Management (IAM) 存取原則,才能順利配置專案所有使用者的登錄存取權。 如果您沒有足夠的許可權來執行這些動作,您可以利用這個頁面來協助您瞭解您可以採取的必要許可權和動作。

  • 服務: Container Registry
    • 資源: 從資源群組、區域或存取管理標籤中選取。
    • 資源群組存取: Viewer
    • 角色和動作: Administrator 平台存取權,以及 ReaderWriterManager 服務存取權
  • 服務: Code Engine
    • 資源: 此 Code Engine 專案的資源群組
    • 資源群組存取: Viewer
    • 角色和動作: Operator 平台存取權和 Writer 服務存取權

為了讓 Code Engine 自動產生服務 ID,以在特定位置 Container Registry 中存取映像檔,Code Engine 針對此服務 ID 的「IAM 身分」服務使用 Administrator 角色來設定此服務 ID。 此外,Code Engine 會授與以指定位置 (region) 為範圍之 IBM Cloud Container Registry 服務的 Manager 角色。 需要這些角色和權限,以便 Code Engine 可以使用此服務 ID 代表 Code Engine 專案的使用者存取 Container Registry。

當 Code Engine 以 Administrator 平台存取和 Manager 服務存取配置此服務 ID 到 IBM Cloud Container Registry 時,存取的範圍僅限於此服務 ID。

如需存取儲存器登錄中映像檔的 Code Engine 需求的相關資訊,請參閱 存取儲存器登錄

服務 ID 與登錄密碼之間的關係為何?

當您配置特定位置的預設登錄存取權時,您可以檢視 Code Engine 為您所做的詳細資料,包括服務 ID 及其存取原則、API 金鑰及登錄密碼的相關資訊。

Code Engine 使用 服務 ID 來代表使用者啟用 Container Registry的登錄存取權,而不是使用已登入使用者的身分。

登錄密碼 是 Code Engine 產生的受管理登錄密碼,其中包括自動產生的 API 金鑰。 此密鑰用於存取 Container Registry中的映像檔。

當配置位置 (地區) 的預設登錄存取權時,服務 ID登錄密碼 會套用至您的特定專案。

配置 Container Registry 存取權

您可以設定註冊表存取權限,讓專案中的所有使用者都能從 Code Engine 主控台存取 IBM Cloud Container Registry 中的影像並進行處理。

  1. 前往整合頁面。
    1. Code Engine 主控台中的「專案」頁面中選取您的專案。
    2. 按一下 專案設定 > 整合
  2. Container Registry 磚中,按一下您要配置登錄存取權之位置的列。
  3. 設定預設登錄存取頁面中,您可以選擇展開 Code Engine為您做什麼部分,以查看有關Code Engine在下列情況下自動為您建立的內容的資訊:您配置對特定位置的預設註冊表存取。 查看有關服務 ID 和指派給此服務 ID 的存取策略、Code Engine為服務 ID 自動產生的 API 金鑰以及用於此註冊表的登錄機碼機密的資訊使用權。
  4. 按一下 配置,以配置特定位置的預設登錄存取權。
  5. 從表格中,您可以依位置及自動產生的登錄密鑰來檢視配置狀態。
  6. (選用) 如需詳細資料,請按一下 動作 圖示 動作 > 檢視詳細資料。 您可以檢視服務 ID 及指派給此服務 ID 之存取原則的相關資訊、Code Engine 自動為服務 ID 產生的 API 金鑰,以及配置用於存取 Container Registry的登錄密碼。

現在,您已針對 Container Registry配置特定位置的預設登錄存取權,具有此 Code Engine 專案之寫入者或管理員存取權的每一位使用者都可以將此登錄密鑰與他們的應用程式、工作及建置搭配使用,以存取 Container Registry中的映像檔。

當您從 整合 頁面配置專案層面的 Container Registry 存取權時,Code Engine 會自動產生 服務 ID,以啟用 Container Registry的登錄存取權。

當您使用 Code Engine 自動產生(及管理)的登錄密碼時,請勿手動刪除登錄密碼。 此外,請勿手動移除已設定 Container Registry 區域的服務 ID 或其相關 API 金鑰。 請勿嘗試替換與此服務 ID 相關聯的 API 金鑰。 相反,請前往主控台中的專案設定 > 整合頁面,移除專案所需 Container Registry 存取權限的設定,然後再重新設定註冊表存取權限。 這個動作會刪除舊的服務 ID 和 API 金鑰,並建立新的服務 ID 和 API 金鑰,以便在所要的區域中對專案進行登錄存取。

移除 Code Engine 受管理存取權 Container Registry

當您移除 Code Engine 管理的特定區域的註冊表密碼時,此專案範圍的註冊表存取權限也會被刪除。 會刪除相關聯的服務 ID、API 金鑰及登錄密碼。 您可以繼續使用手動建立的註冊表存取機密,也可以再次設定專案範圍內的 Container Registry 存取權限。

  1. 前往整合頁面。
    1. Code Engine 主控台中的「專案」頁面中選取您的專案。
    2. 按一下 專案設定 > 整合
  2. 從您要移除登錄存取權之位置 (地區) 的列中,按一下 動作 圖示 動作 > 移除配置。 系統會要求您確認是否要刪除註冊表存取權限。

當您收到已移除登錄存取權的訊息時,特定 Container Registry 位置的登錄存取狀態為 未配置