本文說明 Pub/Sub 提供的存取權控管選項。
總覽
Pub/Sub 使用身分與存取權管理 (IAM) 進行存取權控管。
透過 IAM,您可以將特定角色授予使用者、群組和服務帳戶,讓他們擁有執行工作所需的權限。您可以使用Google Cloud 控制台或 IAM API 授予這些 IAM 角色。
在 Pub/Sub 中,存取權控管可以在專案層級與個別資源層級加以設定。以下列舉幾個使用 Pub/Sub 存取權控管的範例:
依資源授予存取權,而非授予整個 Cloud 專案的存取權。
授予功能有限制的存取權,例如僅將訊息發布到主題,或僅從訂閱項目中調用訊息,但不刪除主題或訂閱項目。
為一組開發人員授予專案中所有 Pub/Sub 資源的存取權。
如果您只有單一資源 (例如主題或訂閱項目) 的檢視權限,就無法使用 Google Cloud 控制台查看資源。但您可以使用 Google Cloud CLI 查看資源。
如需 IAM 和其功能的詳細說明,請參閱 IAM 說明文件,其中以授予、變更及撤銷資源的存取權的部分最為重要。
Pub/Sub 中的角色類型
與其他 Google Cloud 產品類似,Pub/Sub 支援三種角色:
基本角色:基本角色是 IAM 推出前就存在的高度放任角色,如要進一步瞭解基本角色,請參閱基本角色。
預先定義的角色:預先定義的角色可精細控管特定Google Cloud 資源的存取權。如要進一步瞭解預先定義的角色,請參閱「預先定義的角色」。本節稍後會介紹 Pub/Sub 預先定義的角色。
自訂角色:自訂角色有助於強制執行最低權限原則。如要進一步瞭解自訂角色,請參閱自訂角色。
必要的 Pub/Sub 權限
以下各節列出存取不同 Pub/Sub 資源所需的 Pub/Sub 權限。
主題的必要權限
下表列出與主題相關的每個 Pub/Sub API 方法所需權限。當中會顯示呼叫各個方法所需的 IAM 權限,以及方法用途的說明。
方法 | 說明 | 必要權限 |
---|---|---|
projects.topics.create
|
使用指定名稱建立指定主題。 | pubsub.topics.create
對內含 Cloud 專案 |
projects.topics.delete
|
刪除指定名稱的主題。 | pubsub.topics.delete
要求的主題 |
projects.topics.get
|
取得主題的設定。 | pubsub.topics.get
要求的主題 |
projects.topics.getIamPolicy
|
取得主題的 IAM 存取權控管政策。 | pubsub.topics.getIamPolicy
要求的主題 |
projects.topics.list
|
列出所有主題。 | pubsub.topics.list
要求的 Cloud 專案 |
projects.topics.patch
|
更新現有主題。 | pubsub.topics.update
要求的主題 |
projects.topics.publish
|
將一或多則訊息新增至主題。 | pubsub.topics.publish
要求的主題 |
projects.topics.setIamPolicy
|
為主題設定 IAM 存取權控管政策。 | pubsub.topics.setIamPolicy
要求的主題 |
projects.topics.testIamPermissions
|
傳回呼叫者對指定資源所擁有的權限。 | 無 |
訂閱項目所需的權限
下表列出與訂閱項目相關的每個 Pub/Sub API 方法所需權限。當中會顯示呼叫各個方法所需的 IAM 權限,以及方法用途的說明。
方法 | 說明 | 必要權限 |
---|---|---|
projects.subscriptions.acknowledge
|
確認與 AcknowledgeRequest 中的 ack_ids 相關聯的訊息。 | pubsub.subscriptions.consume
要求訂閱項目的 |
projects.subscriptions.create
|
為指定主題建立訂閱項目。 | 對內含 Cloud 專案的 pubsub.subscriptions.create ,以及對要求主題的 pubsub.topics.attachSubscription 。如要在專案 A 建立訂閱項目 S,並附加至專案 B 的主題 T,必須針對專案 A 及主題 T 授予適當權限。在這種情況下,使用者身分資訊會記錄在專案 B 的稽核記錄中。 |
projects.subscriptions.delete
|
刪除現有訂閱項目。 | pubsub.subscriptions.delete
要求訂閱項目的 |
projects.subscriptions.detach
|
將訂閱項目從這個主題卸離。 | pubsub.subscriptions.detach
訂閱方案 |
projects.subscriptions.get
|
取得訂閱項目的設定詳細資料。 | pubsub.subscriptions.get
要求訂閱項目的 |
projects.subscriptions.getIamPolicy
|
取得訂閱項目的 IAM 存取權控管政策。 | pubsub.subscriptions.getIamPolicy
要求訂閱項目的 |
projects.subscriptions.list
|
列出相符的訂閱項目。 | pubsub.subscriptions.list
要求的 Cloud 專案 |
projects.subscriptions.modifyAckDeadline
|
修改特定訊息的確認期限。 | pubsub.subscriptions.consume
要求訂閱項目的 |
projects.subscriptions.modifyPushConfig
|
修改指定訂閱項目的 pushConfig。 | pubsub.subscriptions.update
要求訂閱項目的 |
projects.subscriptions.patch
|
更新現有訂閱項目。 | pubsub.subscriptions.update
要求訂閱項目的 |
projects.subscriptions.pull
|
從伺服器提取郵件。 | pubsub.subscriptions.consume
要求訂閱項目的 |
projects.subscriptions.seek
|
將現有訂閱項目還原至特定時間點或快照。 | pubsub.subscriptions.consume
對要求訂閱項目和要求快照 (如有) 的 pubsub.snapshots.seek
權限。 |
projects.subscriptions.setIamPolicy
|
為訂閱項目設定 IAM 存取權控管政策。 | pubsub.subscriptions.setIamPolicy
要求訂閱項目的 |
projects.subscriptions.testIamPermissions
|
傳回呼叫者對指定資源所擁有的權限。 | 無 |
結構定義所需的權限
下表列出與結構定義相關的每個 Pub/Sub API 方法所需權限。當中會顯示呼叫各個方法所需的 IAM 權限,以及方法用途的說明。
方法 | 說明 | 必要權限 |
---|---|---|
projects.schemas.commit
|
提交新的結構定義修訂版本。 | pubsub.schemas.commit
要求的結構定義 |
projects.schemas.create
|
建立結構定義。 | pubsub.schemas.create
對內含 Cloud 專案 |
projects.schemas.delete
|
刪除結構定義。 | pubsub.schemas.delete
要求的結構定義 |
projects.schemas.deleteRevision
|
刪除特定結構定義修訂版本。 | pubsub.schemas.delete
要求的結構定義 |
projects.schemas.get
|
取得結構定義。 | pubsub.schemas.get
要求的結構定義 |
projects.schemas.getIamPolicy
|
取得結構定義的 IAM 存取權控管政策。 | 要求結構定義中的 pubsub.schemas.getIamPolicy |
projects.schemas.list
|
列出專案中的結構定義。 | pubsub.schemas.list
要求的 Cloud 專案 |
projects.schemas.listRevisions
|
列出具名結構定義的所有修訂版本。 | pubsub.schemas.listRevisions
要求的結構定義 |
projects.schemas.rollback
|
從先前的修訂版本建立新的結構定義修訂版本。 | pubsub.schemas.rollback
要求的結構定義 |
projects.schemas.validate
|
驗證結構定義。 | pubsub.schemas.validate
對內含 Cloud 專案 |
projects.schemas.validateMessage
|
根據結構定義驗證訊息。 | pubsub.schemas.validate
對內含 Cloud 專案 |
快照的必要權限
下表列出與快照相關的每個 Pub/Sub API 方法所需權限。當中會顯示呼叫各個方法所需的 IAM 權限,以及方法用途的說明。
REST 方法 | 說明 | 必要權限 |
---|---|---|
projects.snapshots.create
|
從要求的訂閱項目建立快照。 | pubsub.snapshots.create
對內含 Cloud 專案的權限,以及對來源訂閱項目的 pubsub.subscriptions.consume
權限。 |
projects.snapshots.delete
|
移除現有快照。 | pubsub.snapshots.delete
要求存取的快照 |
projects.snapshots.getIamPolicy
|
取得快照的身分與存取權管理存取權控管政策。 | pubsub.snapshots.getIamPolicy
要求存取的快照 |
projects.snapshots.list
|
列出現有快照。 | pubsub.snapshots.list
要求的 Cloud 專案 |
projects.snapshots.patch
|
更新現有快照。 | pubsub.snapshots.update
要求存取的快照 |
projects.snapshots.setIamPolicy
|
為快照設定 IAM 存取權控管政策。 | pubsub.snapshots.setIamPolicy
要求存取的快照 |
projects.snapshots.testIamPermissions
|
傳回呼叫者對指定資源所擁有的權限。 | 無 |
可用的 Pub/Sub 角色
下表列出所有 Pub/Sub 角色,以及與各角色有關的權限:
Role | Permissions |
---|---|
Pub/Sub Admin( Provides full access to topics and subscriptions. Lowest-level resources where you can grant this role:
|
|
Pub/Sub Editor( Provides access to modify topics and subscriptions, and access to publish and consume messages. Lowest-level resources where you can grant this role:
|
|
Pub/Sub Publisher( Provides access to publish messages to a topic. Lowest-level resources where you can grant this role:
|
|
Cloud Pub/Sub Service Agent( Grants Cloud Pub/Sub Service Account access to manage resources. |
|
Pub/Sub Subscriber( Provides access to consume messages from a subscription and to attach subscriptions to a topic. Lowest-level resources where you can grant this role:
|
|
Pub/Sub Viewer( Provides access to view topics and subscriptions. Lowest-level resources where you can grant this role:
|
|
透過 Google Cloud 控制台控管存取權
您可以使用 Google Cloud 主控台管理主題和專案的存取權控管設定。
如要在專案層級設定存取權控管選項,請按照下列步驟操作:
前往 Google Cloud 控制台的「IAM」頁面。
選取專案。
按一下
「新增」。輸入一或多個主體名稱。
在「Select a role」(選擇角色) 清單中,選取要授予的角色。
按一下 [儲存]。
確認您授予的角色下方有列出該主體。
如要設定主題和訂閱項目的存取權控管,請按照下列步驟操作:
在 Google Cloud 控制台中,前往 Pub/Sub 的「Topics」(主題) 清單。
視需要選取已啟用 Pub/Sub 的專案。
執行下列其中一個步驟:
如要為一或多個主題設定角色,請選取主題。
如要為附加至主題的訂閱項目設定角色,請按一下主題 ID。在「主題詳細資料」頁面中,按一下訂閱 ID。系統會顯示「訂閱詳細資料」頁面。
如果資訊面板已隱藏,請按一下「顯示資訊面板」。
在「權限」分頁中,按一下
「新增主體」。輸入一或多個主體名稱。
在「Select a role」(選擇角色) 清單中,選取要授予的角色。
按一下 [儲存]。
透過 IAM API 控管存取權
透過 Pub/Sub IAM API,您可以設定及取得專案中個別主題和訂閱項目的政策,並測試使用者對特定資源的權限。與一般 Pub/Sub 方法一樣,您可以透過用戶端程式庫、API 探索工具或直接透過 HTTP 呼叫 IAM API 方法。
請注意,您無法使用 Pub/Sub IAM API 管理 Google Cloud 專案層級的政策。
以下各節提供範例,說明如何設定及取得政策,以及如何測試呼叫者對特定資源擁有的權限。
取得保險
getIamPolicy()
方法可讓您取得現有政策。這個方法會傳回 JSON 物件,其中包含與資源相關聯的政策。
以下是取得訂閱政策的部分程式碼範例:
C#
在嘗試這個範例之前,請先按照快速入門:使用用戶端程式庫中的 C# 設定操作說明進行操作。詳情請參閱 Pub/Sub C# API 參考說明文件。
gcloud
取得訂閱政策:
gcloud pubsub subscriptions get-iam-policy \ projects/${PROJECT}/subscriptions/${SUBSCRIPTION} \ --format json
輸出:
{ "etag": "BwUjMhCsNvY=", "bindings": [ { "role": "roles/pubsub.admin", "members": [ "user:user-1@gmail.com" ] }, { "role": "roles/pubsub.editor", "members": [ "serviceAccount:service-account-2@appspot.gserviceaccount.com", "user:user-3@gmail.com" ] } ] }
Go
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫中的 Go 設定說明進行操作。詳情請參閱 Pub/Sub Go API 參考說明文件。
Java
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫中的操作說明設定 Java 環境。詳情請參閱 Pub/Sub Java API 參考說明文件。
Node.js
在嘗試這個範例之前,請先按照快速入門:使用用戶端程式庫中的 Node.js 設定說明進行操作。詳情請參閱 Pub/Sub Node.js API 參考說明文件。
Node.js
在嘗試這個範例之前,請先按照快速入門:使用用戶端程式庫中的 Node.js 設定說明進行操作。詳情請參閱 Pub/Sub Node.js API 參考說明文件。
PHP
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫中的 PHP 設定說明進行操作。 詳情請參閱 Pub/Sub PHP API 參考說明文件。
Python
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫中的 Python 設定操作說明來進行。詳情請參閱 Pub/Sub Python API 參考說明文件。
Ruby
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫的操作說明設定 Ruby 環境。詳情請參閱 Pub/Sub Ruby API 參考說明文件。
以下是取得主題政策的部分程式碼範例:C#
在嘗試這個範例之前,請先按照快速入門:使用用戶端程式庫中的 C# 設定操作說明進行操作。詳情請參閱 Pub/Sub C# API 參考說明文件。
gcloud
取得主題政策:
gcloud pubsub topics get-iam-policy \ projects/${PROJECT}/topics/${TOPIC} \ --format json
輸出:
{ "etag": "BwUjMhCsNvY=", "bindings": [ { "role":" roles/pubsub.viewer", "members": [ "user:user-1@gmail.com" ] } ] }
Go
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫中的 Go 設定說明進行操作。詳情請參閱 Pub/Sub Go API 參考說明文件。
Java
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫中的 Java 設定操作說明進行操作。詳情請參閱 Pub/Sub Java API 參考說明文件。
Node.js
在嘗試這個範例之前,請先按照快速入門:使用用戶端程式庫中的 Node.js 設定說明進行操作。詳情請參閱 Pub/Sub Node.js API 參考說明文件。
PHP
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫中的 PHP 設定說明進行操作。 詳情請參閱 Pub/Sub PHP API 參考說明文件。
Python
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫中的 Python 設定操作說明進行操作。詳情請參閱 Pub/Sub Python API 參考說明文件。
Ruby
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫的操作說明設定 Ruby 環境。詳情請參閱 Pub/Sub Ruby API 參考說明文件。
設定政策
setIamPolicy()
方法可讓您將政策附加至資源。setIamPolicy()
方法需要 SetIamPolicyRequest
,其中包含要設定的政策及要附加政策的資源。它會傳回產生的政策。
以下是設定訂閱政策的部分程式碼範例:
C#
在嘗試這個範例之前,請先按照快速入門:使用用戶端程式庫中的 C# 設定操作說明進行操作。詳情請參閱 Pub/Sub C# API 參考說明文件。
gcloud
1. 儲存訂閱政策。
gcloud pubsub subscriptions get-iam-policy \ projects/${PROJECT}/subscriptions/${SUBSCRIPTION} \ --format json > subscription_policy.json
2. 開啟 subscription_policy.json
,並將適當角色授予適當主體,進而更新繫結。
如要進一步瞭解如何處理 subscription_policy.json
檔案,請參閱 IAM 說明文件中的「
政策」。
{ "etag": "BwUjMhCsNvY=", "bindings": [ { "role": "roles/pubsub.admin", "members": [ "user:user-1@gmail.com" ] }, { "role": "roles/pubsub.editor", "members": [ "serviceAccount:service-account-2@appspot.gserviceaccount.com" ] } ] }
3. 套用新的訂閱政策。
gcloud pubsub subscriptions set-iam-policy \ projects/${PROJECT}/subscriptions/${SUBSCRIPTION} \ subscription_policy.json
Go
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫中的 Go 設定說明進行操作。詳情請參閱 Pub/Sub Go API 參考說明文件。
Java
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫中的操作說明設定 Java 環境。詳情請參閱 Pub/Sub Java API 參考說明文件。
Node.js
在嘗試這個範例之前,請先按照快速入門:使用用戶端程式庫中的 Node.js 設定說明進行操作。詳情請參閱 Pub/Sub Node.js API 參考說明文件。
PHP
Python
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫中的 Python 設定操作說明來進行。詳情請參閱 Pub/Sub Python API 參考說明文件。
Ruby
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫的操作說明設定 Ruby 環境。詳情請參閱 Pub/Sub Ruby API 參考說明文件。
以下是設定主題政策的部分程式碼範例:
C#
在嘗試這個範例之前,請先按照快速入門:使用用戶端程式庫中的 C# 設定操作說明進行操作。詳情請參閱 Pub/Sub C# API 參考說明文件。
gcloud
1. 儲存主題政策。
gcloud pubsub topics get-iam-policy \ projects/${PROJECT}/topics/${TOPIC} \ --format json > topic_policy.json
2. 開啟 topic_policy.json
,並將適當角色授予適當主體,進而更新繫結。
如要進一步瞭解如何處理 subscription_policy.json
檔案,請參閱 IAM 說明文件中的「
政策」。
{ "etag": "BwUjMhCsNvY=", "bindings": [ { "role": "roles/pubsub.editor", "members": [ "user:user-1@gmail.com", "user:user-2@gmail.com" ] } ] }
3. 套用新的主題政策。
gcloud pubsub topics set-iam-policy \ projects/${PROJECT}/topics/${TOPIC} \ topic_policy.json
Go
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫中的 Go 設定說明進行操作。詳情請參閱 Pub/Sub Go API 參考說明文件。
Java
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫中的操作說明設定 Java 環境。詳情請參閱 Pub/Sub Java API 參考說明文件。
Node.js
在嘗試這個範例之前,請先按照快速入門:使用用戶端程式庫中的 Node.js 設定說明進行操作。詳情請參閱 Pub/Sub Node.js API 參考說明文件。
PHP
Python
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫中的 Python 設定操作說明來進行。詳情請參閱 Pub/Sub Python API 參考說明文件。
Ruby
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫的操作說明設定 Ruby 環境。詳情請參閱 Pub/Sub Ruby API 參考說明文件。
測試權限
您可以使用 testIamPermissions()
方法,查看可為指定資源新增或移除的指定權限。這個方法會將資源名稱與一組權限當做參數,並傳回權限子集。
以下是測試訂閱權限的部分程式碼範例:
C#
在嘗試這個範例之前,請先按照快速入門:使用用戶端程式庫中的 C# 設定操作說明進行操作。詳情請參閱 Pub/Sub C# API 參考說明文件。
gcloud
gcloud iam list-testable-permissions \ https://pubsub.googleapis.com/v1/projects/${PROJECT}/subscriptions/${SUBSCRIPTION} \ --format json
輸出:
[ { "name": "pubsub.subscriptions.consume", "stage": "GA" }, { "name": "pubsub.subscriptions.delete", "stage": "GA" }, { "name": "pubsub.subscriptions.get", "stage": "GA" }, { "name": "pubsub.subscriptions.getIamPolicy", "stage": "GA" }, { "name": "pubsub.subscriptions.setIamPolicy", "stage": "GA" }, { "name": "pubsub.subscriptions.update", "stage": "GA" } ]
Go
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫中的 Go 設定說明進行操作。詳情請參閱 Pub/Sub Go API 參考說明文件。
Java
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫中的操作說明設定 Java 環境。詳情請參閱 Pub/Sub Java API 參考說明文件。
Node.js
在嘗試這個範例之前,請先按照快速入門:使用用戶端程式庫中的 Node.js 設定說明進行操作。詳情請參閱 Pub/Sub Node.js API 參考說明文件。
PHP
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫中的 PHP 設定說明進行操作。 詳情請參閱 Pub/Sub PHP API 參考說明文件。
Python
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫中的 Python 設定操作說明來進行。詳情請參閱 Pub/Sub Python API 參考說明文件。
Ruby
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫的操作說明設定 Ruby 環境。詳情請參閱 Pub/Sub Ruby API 參考說明文件。
以下是測試主題權限的部分程式碼範例:
C#
在嘗試這個範例之前,請先按照快速入門:使用用戶端程式庫中的 C# 設定操作說明進行操作。詳情請參閱 Pub/Sub C# API 參考說明文件。
gcloud
gcloud iam list-testable-permissions \ https://pubsub.googleapis.com/v1/projects/${PROJECT}/topics/${TOPIC} \ --format json
輸出
[ { "name": "pubsub.topics.attachSubscription", "stage": "GA" }, { "name": "pubsub.topics.delete", "stage": "GA" }, { "name": "pubsub.topics.detachSubscription", "stage": "GA" }, { "name": "pubsub.topics.get", "stage": "GA" }, { "name": "pubsub.topics.getIamPolicy", "stage": "GA" }, { "name": "pubsub.topics.publish", "stage": "GA" }, { "name": "pubsub.topics.setIamPolicy", "stage": "GA" }, { "name": "pubsub.topics.update", "stage": "GA" } ]
Go
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫中的 Go 設定說明進行操作。詳情請參閱 Pub/Sub Go API 參考說明文件。
Java
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫中的操作說明設定 Java 環境。詳情請參閱 Pub/Sub Java API 參考說明文件。
Node.js
在嘗試這個範例之前,請先按照快速入門:使用用戶端程式庫中的 Node.js 設定說明進行操作。詳情請參閱 Pub/Sub Node.js API 參考說明文件。
PHP
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫中的 PHP 設定說明進行操作。 詳情請參閱 Pub/Sub PHP API 參考說明文件。
Python
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫中的 Python 設定操作說明進行操作。詳情請參閱 Pub/Sub Python API 參考說明文件。
Ruby
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫的操作說明設定 Ruby 環境。詳情請參閱 Pub/Sub Ruby API 參考說明文件。
跨專案通訊
Pub/Sub IAM 可用於微調跨專案通訊的存取權。
假設 Cloud 專案 A 中的服務帳戶想將訊息發布至 Cloud 專案 B 中的主題。首先,請在專案 A 中啟用 Pub/Sub API。
其次,在 Cloud 專案 B 中授予服務帳戶「編輯」權限。不過,這種做法通常過於粗略。您可以使用 IAM API 來實現更精細的存取層級。
舉例來說,這個程式碼片段會使用 project-b 中的 setIamPolicy()
方法和準備好的 topic_policy.json
檔案,將主題 projects/
project-b/topics/
topic-b 上的發布者角色授予服務帳戶 foobar@
project-a.iam.gserviceaccount.com
:project-a
gcloud pubsub topics set-iam-policy \ projects/project-b/topics/topic-b \ topic_policy.json
Updated IAM policy for topic topic-b. bindings: - members: - serviceAccount:foobar@project-a.iam.gserviceaccount.com role: roles/pubsub.publisher etag: BwWGrQYX6R4=
部分可用性行為
授權檢查取決於 IAM 子系統。為了確保資料作業 (發布與訊息調用) 能有穩定的低回應延遲時間,系統可能會依賴快取的 IAM 政策來避免延遲問題。如要進一步瞭解變更生效的時間,請參閱 IAM 說明文件。
後續步驟
- 如果無法存取或驗證 Pub/Sub 資源,請參閱一般疑難排解。