禁止:ECS 任务到 apigateway websocket 连接



我正在尝试从ecs-taskAPIGateway Websocket @connection api发出post_to_connection请求,但每次都得到禁止的响应ecs-task无法做到这一点。

ecs-task具有附加的角色,具有以下策略:

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Action": "execute-api:ManageConnections",
"Resource": "arn:aws:execute-api:*:*:*"
}
]
}

我做过的测试:

我已经复制了在此容器上找到的凭据;access_key_idsecret_access_keysession,并从我的本地机器发出请求,这是成功的。

我创建了一个credential object并将其传递给apigateway客户端并从容器内部发出请求,但它再次失败,响应Forbidden

为了提出这些请求,我使用的是相同版本的aws-sdk-apigatewaymanagementapigem。

client = Aws::ApiGatewayManagementApi::Client.new(endpoint: url, region: 'eu-west-1')
resp = client.post_to_connection({data: "{type: 'hello'}",connection_id: "conn_id"})

在这一点上,我没有想法,因为我对 AWS 没有太多的经验。你能想到我能尝试什么吗?

通过创建一个指向此 ApiGateway 实例的Custom Domain来解决此问题。

相关内容

  • 没有找到相关文章

最新更新