找出需要以服務帳戶身分執行的整合
本頁是「為即將推出的授權異動做好準備」的一部分。有助於找出需要「以服務帳戶身分執行」的整合,再進行變更。
判斷整合是否需要
只有在整個執行期間都無法使用任何人的憑證時,才需要以服務帳戶身分執行。只有兩種情況會發生這種情況:
| 整合功能的執行方式 | 是否有人提供憑證? | 需要以服務帳戶身分執行嗎? |
|---|---|---|
| 同步:使用者啟動作業並等待結果 | 是,整趟跑步行程 | 否 |
| 非同步 - 系統會將作業加入佇列,稍後完成 | 僅在觸發時 | 是 |
| 無人值守:由排程或事件啟動 | 不會,不會有真人 | 是 |
找出受影響的整合項目
首先,這項服務是否會無人看管?如果符合下列任一條件,系統就會顯示:
- 具有 API 或私人觸發條件以外的任何觸發條件,例如排程、Cloud Scheduler、Cloud Pub/Sub、Salesforce、Integration Connectors 事件或 Eventarc 觸發條件。
- Something 會透過 API 使用
scheduleIntegrations安排這項作業。 - 另一個整合會使用「Call Integration」工作,將其呼叫為非同步子整合。即使呼叫整合項目有自己的「以服務帳戶身分執行」服務帳戶,子整合項目仍需要自己的服務帳戶。
- 這項功能會使用「暫停」或「核准」工作,讓執行作業處於等待狀態,然後自行到期。
第二,執行身分服務帳戶是否為空白?如要列出區域中的每個已發布版本,以及其執行身分服務帳戶,請執行下列指令:
curl -s -G -H "Authorization: Bearer $(gcloud auth print-access-token)" \
--data-urlencode "filter=state=ACTIVE" \
--data-urlencode "pageSize=1000" \
"https://REGION-integrations.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/integrations/-/versions" \
| jq -r '.integrationVersions[]
| [ .name, (.runAsServiceAccount // "NONE") ]
| @tsv'
更改下列內容:
REGION:整合的區域。如需支援的地區清單,請參閱「位置」。PROJECT_ID:Google Cloud 雲端專案的 ID
- 如果第一部分也適用於顯示
NONE的資料列,才需要採取行動。 - 如要改為檢查單一整合服務,請在整合服務編輯器中開啟該服務,然後按一下編輯器工具列中的 (「整合服務設定」)。「服務帳戶」欄位會顯示執行身分服務帳戶,如果整合項目沒有服務帳戶,這個欄位會是空白。
後續步驟
- 在您已使用的「以服務帳戶身分執行」服務帳戶中授予「服務帳戶使用者」。
- 為找到的每個整合項目設定「以服務帳戶身分執行」。