【问题标题】:Controlling access to AWS IoT policy actions for Cognito identities控制对 Cognito 身份的 AWS IoT 策略操作的访问
【发布时间】:2016-12-02 19:43:29
【问题描述】:

Documentation for IAM 声明 Resource 属性 AttachUserPolicyDetacherUserPolicy 应设置为托管策略将附加到的用户主体。虽然iot:AttachPrincipalPolicyiot:DetachPrincipalPolicy 的文档没有那么详细,但错误消息

AccessDeniedException:用户:arn:aws:sts::ACCOUNT_ID:assumed-role/ROLE/CognitoIdentityCredentials 无权执行:iot:AttachPrincipalPolicy on resource:COGNITO_ID

让我相信它需要一个用于 Cognito 身份或身份池的 ARN。但是,指定 Cognito documentation 中显示的 ARN 会导致相同的错误。 Cognito 身份 ARN 也无法在策略生成器中验证。

我应该指定什么资源,以便允许 iot:AttachPrincipalPolicyiot:DetachPrincipalPolicy 在 Cognito 身份上附加/分离 IoT 策略?

【问题讨论】:

    标签: amazon-web-services amazon-iam amazon-cognito


    【解决方案1】:

    将 Cognito 身份与 AWS IoT 结合使用有两条略有不同的路径。 Cognito 身份池支持未经身份验证的身份(任何代理都可以获取凭据)或经过身份验证的身份(与 Cognito 用户池、Facebook、OpenID 等提供商绑定的用户)。 AWS IoT 在使用 Cognito 获取凭证时支持这两种情况。

    使用未经身份验证的情况时,您必须将策略附加到使用您的 Cognito 身份池创建的 cognito_unauth_role。身份访问和管理 (IAM) 控制台是您将策略附加到此角色的位置。要开始使用,请尝试附加托管策略“AWSIoTDataAccess”。然后,您未经身份验证的 Cognito ID 可以获取传递给 AWS IoT 以建立连接的凭证(访问密钥、秘密密钥、会话令牌)。

    使用经过身份验证的案例时,您必须将策略附加到使用您的 Cognito 身份池创建的 cognito_auth_role为每个经过身份验证的实体创建的 Cognito ID。 AWS IoT API AttachPrincipalPolicy 用于将 AWS IoT 策略附加到 Cognito ID。 CLI 中该 API 调用的格式类似于:aws iot attach-principal-policy --policy-name myPolicy --principal us-east-1:abcd1234-5678-1234-abcd1234efgh。在这种情况下,主体是经过身份验证的实体的 Cognito ID。只有同时具备这两个策略,Cognito 返回的凭证才能连接到 AWS IoT。

    【讨论】:

    • 假设用户刚刚注册,如何将策略附加到为经过身份验证的实体创建的 Cognito ID?有我可以使用的触发器吗?
    • @webjay,哇,我带着同样的问题来到这里?你有什么解决办法吗?
    • @Roskoto 我们让客户端将在 IoT 中制定的策略附加到新用户。有点奇怪,但它有效。
    • 您能否更新您的答案以适合AttachPolicy 而不是AttachPrincipalPolicy?因为它现在被标记为已弃用。 docs.aws.amazon.com/iot/latest/apireference/…
    • @MohammedNoureldin,您不能将attachPolicy API 与 Cognito Identity 一起使用,因为此 API 仅接受 IOT 证书作为目标。 attachPrincipalPolicy API 是你需要的;传入认证过程中返回的认证用户/实体的 Cognito Identity ID
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-27
    • 1970-01-01
    • 2017-11-12
    • 2019-06-20
    • 2019-11-16
    • 2021-11-21
    • 2018-10-03
    相关资源
    最近更新 更多