我为 Cognito 用户池创建了一个应用客户端。客户端生成了 ID 和机密。它配置为 use the Client credentials flow 并定义了自定义范围。有了这个,我就可以成功地用凭证交换访问令牌,到目前为止一切顺利。
我想使用 AWS SDK 通过服务器端应用程序客户端管理用户池中的用户(列出、删除等)。假设我验证了授予的令牌,我如何将它与 AWS 开发工具包一起使用来执行我需要的 Actions?有没有更好的方法来从服务器端应用管理用户池?
答案 0 :(得分:0)
如果您查看 Cognito SDK 中的 Admin* 级别操作(例如 AdminDeleteUser),您会看到它不接受访问令牌。而是需要有效的 AWS 开发人员凭证。
因此,您可能想要做的是创建一个具有适当权限的 IAM 角色来管理用户池(资源格式:arn:aws:cognito-idp:REGION:ACCOUNT_ID:userpool/USER_POOL_ID
),并让您的服务器应用程序承担该角色。配置正确的权限后,您可以直接调用 AWS SDK。
您可以找到可用的 IAM 操作列表 here。