【发布时间】: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 的服务帐户是全新的,具有编辑权限。接收器可以很好地注册。为什么我不能发送测试/验证安全事件?
【问题讨论】: