本文件說明 Pub/Sub 提供的存取權控管選項。
總覽
Pub/Sub 會使用身分與存取權管理 (IAM) 進行存取權控管。
您可以透過 IAM 將特定角色授予使用者、群組和服務帳戶,讓他們取得執行任務所需的權限。您可以使用Google Cloud 控制台或 IAM API 授予這些 IAM 角色。
在 Pub/Sub 中,您可以在專案層級和個別資源層級設定存取權控管。以下列舉幾個使用 Pub/Sub 存取權控管的範例:
依資源授予存取權,而非授予整個 Cloud 專案的存取權。
授予功能有限制的存取權,例如僅將訊息發布到主題,或僅從訂閱項目中調用訊息,但不刪除主題或訂閱項目。
授予一組開發人員專案中所有 Pub/Sub 資源的存取權。
如果您對單一資源 (例如主題或訂閱項目) 只有檢視權限,就無法使用 Google Cloud 控制台查看該資源。您可以改用 Google Cloud CLI 查看資源。
如需 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
|
使用指定名稱建立指定主題。 | 對內含 Cloud 專案的 pubsub.topics.create
|
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 中建立附加至專案 B 主題 T 的訂閱項目 S,必須針對專案 A 和主題 T 授予適當權限。在這種情況下,Project 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
|
建立結構定義。 | 對內含 Cloud 專案的 pubsub.schemas.create
|
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
|
驗證結構定義。 | 對內含 Cloud 專案的 pubsub.schemas.validate
|
projects.schemas.validateMessage
|
根據結構定義驗證訊息。 | 對內含 Cloud 專案的 pubsub.schemas.validate
|
快照功能所需權限
下表概略說明與快照相關的每個 Pub/Sub API 方法所需的權限。這份表單會顯示呼叫每個方法時所需的 IAM 權限,並說明該方法的作用。
REST 方法 | 說明 | 必要權限 |
---|---|---|
projects.snapshots.create
|
根據要求的訂閱項目建立快照。 | pubsub.snapshots.create 對內含 Cloud 專案的權限,以及對來源訂閱項目的 pubsub.subscriptions.consume 權限。 |
projects.snapshots.delete
|
移除現有快照。 | pubsub.snapshots.delete
要求的快照 |
projects.snapshots.getIamPolicy
|
取得快照的 IAM 存取權控管政策。 | 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。在「Topic details」頁面中,按一下訂閱 ID。「訂閱詳細資料」頁面隨即顯示。
如果資訊面板未顯示,請按一下「Show info panel」(顯示資訊面板)。
在「權限」分頁中,按一下
「新增主體」。輸入一或多個主要名稱。
在「Select a role」(請選擇角色) 清單中,選取要授予的角色。
按一下 [儲存]。
透過 IAM API 控管存取權
Pub/Sub IAM API 可讓您設定及取得專案中個別主題和訂閱的政策,並測試使用者對特定資源的權限。如同一般 Pub/Sub 方法,您可以透過用戶端程式庫、API Explorer 或直接透過 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 說明文件。