如何仅允许 AWS IoT 订阅 Cognito 用户 ID (sub) 下的主题?
How to only allow AWS IoT subscriptions to topics under Cognito user id (sub)?
我希望我的后端能够直接向经过身份验证的用户发送消息。这意味着我需要限制用户只能订阅他们自己标识符下的主题。理想情况下,根据我目前有限的理解,我会有一个将用户 sub
作为变量的策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iot:Connect",
"iot:Publish",
"iot:Receive",
"iot:GetThingShadow",
"iot:UpdateThingShadow",
"iot:DeleteThingShadow"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"iot:Subscribe"
],
"Resource": "arn:aws:iot:us-east-1:949960872797:topicfilter/user/${cognitoUserSub}/someTopic"
}
]
}
如果最终 cognito 标识符不是此政策的选项,请告诉我我将提供的其他标识符。无论是哪个,我都需要能够根据用户的认知标识符(sub
)以某种方式获取它。
请注意,我在这方面的知识非常有限,所以我知道我可能会偏离很多。
在 AWS 论坛上回答 https://forums.aws.amazon.com/thread.jspa?threadID=268115
有关如何将 Cognito 与 AWS IoT 结合使用的详细信息,另请查看 https://forums.aws.amazon.com/thread.jspa?threadID=224268
我希望我的后端能够直接向经过身份验证的用户发送消息。这意味着我需要限制用户只能订阅他们自己标识符下的主题。理想情况下,根据我目前有限的理解,我会有一个将用户 sub
作为变量的策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iot:Connect",
"iot:Publish",
"iot:Receive",
"iot:GetThingShadow",
"iot:UpdateThingShadow",
"iot:DeleteThingShadow"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"iot:Subscribe"
],
"Resource": "arn:aws:iot:us-east-1:949960872797:topicfilter/user/${cognitoUserSub}/someTopic"
}
]
}
如果最终 cognito 标识符不是此政策的选项,请告诉我我将提供的其他标识符。无论是哪个,我都需要能够根据用户的认知标识符(sub
)以某种方式获取它。
请注意,我在这方面的知识非常有限,所以我知道我可能会偏离很多。
在 AWS 论坛上回答 https://forums.aws.amazon.com/thread.jspa?threadID=268115
有关如何将 Cognito 与 AWS IoT 结合使用的详细信息,另请查看 https://forums.aws.amazon.com/thread.jspa?threadID=224268