首页 > 解决方案 > 在 GCP 上授予 IAM 权限“dialogflow.agents.restore”所需的 IAM 角色是什么

问题描述

我正在尝试通过 HTTP 调用使用 DialogFlow 代理 API,但似乎我无权使用它。我找不到合适的 IAM 角色来使用它。

我尝试将与 DialogFlow 相关的所有 IAM 角色提供给我使用的服务帐户,但我总是收到 HTTP 403 错误。我知道我的身份验证是正确的,因为我可以从 DialogFlow 调用其他 API。

我使用了 curl 请求。

curl -X POST \
  https://dialogflow.googleapis.com/v2/projects/<AGENT_NAME>/agent:restore \
  -H 'Authorization: <BEARER_TOKEN>' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
  "agentContent": "<ZIP_FILE_BASE64>"
}'

有API给出的响应。

{
    "error": {
        "code": 403,
        "message": "IAM permission 'dialogflow.agents.restore' on 'projects/<AGENT_NAME>' denied.",
        "status": "PERMISSION_DENIED"
    }
}

标签: google-cloud-platformdialogflow-es

解决方案


有 4 个角色提供dialogflow.agents.restore

在此处输入图像描述

您需要确保请求中令牌的 IAM 所有者在相应项目下至少分配了其中一个角色。


推荐阅读