Google Classroom 添加 IAM 策略绑定

use*_*934 7 google-cloud-pubsub google-classroom

我正在研究 Google Classroom Pub/Sub 通知。我的任务是使用 Rest API 创建发布/订阅主题和订阅。我已成功创建发布/订阅主题,但当我为创建的主题设置 IAM 策略/权限时,我收到错误消息。

API URL:- https://pubsub.googleapis.com/v1/projects/project-abc/topics/xyz-topic-101:setIamPolicy API 方法:- POST API 请求正文:-

{
    "policy": {
        "bindings": [
            {
                "role": "roles/owner",
                "members": [
                    "abc@domain.com",
                    "classroom-notifications@system.gserviceaccount.com"
                ]
            },
            {
                "role": "roles/pubsub.admin",
                "members": [
                    "abc@domain.com",
                    "classroom-notifications@system.gserviceaccount.com"
                ]
            },
            {
                "role": "roles/pubsub.editor",
                "members": [
                    "abc@domain.com",
                    "classroom-notifications@system.gserviceaccount.com"
                ]
            },
            {
                "role": "roles/pubsub.publisher",
                "members": [
                    "abc@domain.com",
                    "classroom-notifications@system.gserviceaccount.com"
                ]
            },
            {
                "role": "roles/pubsub.subscriber",
                "members": [
                    "abc@domain.com",
                    "classroom-notifications@system.gserviceaccount.com"
                ]
            }
        ],
        "version": 1
    }
}
Run Code Online (Sandbox Code Playgroud)

API 响应:- { "error": { "code": 400, "message": "成员 abc@domain.com 的类型未知。请为该成员设置有效的类型前缀。", "status": “无效的论点” } }

我已关注以下 Google 文档 链接:- https://cloud.google.com/pubsub/docs/reference/rest/v1/Policy#Binding 我不明白为什么会出现此消息。请分享您的建议和反馈。

Voy*_*Voy 7

不确定这是否有帮助,但我发现您需要设置成员类型才能使其工作。

来自文档:

格式应为 user|group|serviceAccount:email 或 domain:domain。

因此,请尝试添加前缀,例如:serviceAccount:abc@domain.com,或任何您的成员类型。