【问题标题】:stream:verify is failing with "The caller does not have permission" error流:验证失败,出现“调用者没有权限”错误
【发布时间】:2020-04-23 04:25:52
【问题描述】:

我的安全事件接收器已设置好,我正在this step 尝试测试它是否真的有效。我几乎完全复制了示例中的代码,但我的脚本导致错误。

这是我的代码:

import requests
from google.oauth2 import service_account
from google.auth.transport.requests import AuthorizedSession

credentials = service_account.Credentials.from_service_account_file(
    'token.json',
    scopes=[
        'https://www.googleapis.com/auth/risc.verify',
    ])

authed_session = AuthorizedSession(credentials)
stream_verify_endpoint = 'https://risc.googleapis.com/v1beta/stream:verify'
state = {'state': 'Test token requested.'}

try:
  response = authed_session.post(stream_verify_endpoint, json=state)
  response.raise_for_status()  # Raise exception for unsuccessful requests
except requests.HTTPError as e:
  print(e.response.text)

这是响应文本:

{
  "error": {
    "code": 403,
    "message": "The caller does not have permission",
    "status": "PERMISSION_DENIED",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.DebugInfo",
        "detail": "[ORIGINAL ERROR] generic::permission_denied: com.google.apps.framework.request.ForbiddenException: RISC disabled for project number [my project number]"
      }
    ]
  }
}

“调用者没有权限”未在the error response reference 中列为可能的 403 响应。 RISC API 对给定的项目 ID 绝对启用。 token.json 的服务帐户是全新的,具有编辑权限。接收器可以很好地注册。为什么我不能发送测试/验证安全事件?

【问题讨论】:

    标签: python secevents


    【解决方案1】:

    这是我的错误,我禁用了接收器端点并且忘记了这样做。

    如果有人遇到同样的问题,只需按照此处所述重新启用端点:https://developers.google.com/identity/risc#stop_and_resume_the_event_stream

    【讨论】:

      猜你喜欢
      • 2019-03-08
      • 1970-01-01
      • 2020-10-24
      • 2021-04-06
      • 2019-01-24
      • 2018-01-30
      • 2021-10-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多