跨AWS账号:Amplify应用能否导入其他账号的Cognito用户池?
跨AWS账号的Amplify应用接入外部Cognito用户池
可以实现跨账号让Amplify应用接入其他AWS账号的Cognito用户池,具体操作和注意事项如下:
配置用户池跨账号访问权限
在托管Cognito用户池的AWS账号中,修改用户池的资源策略,允许目标Amplify应用所在的账号访问。策略示例如下(替换占位符为实际信息):{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::目标账号ID:root" }, "Action": [ "cognito-idp:AdminInitiateAuth", "cognito-idp:AdminRespondToAuthChallenge", "cognito-idp:SignUp", "cognito-idp:ConfirmSignUp", "cognito-idp:InitiateAuth", "cognito-idp:RespondToAuthChallenge", "cognito-idp:GetUser", "cognito-idp:UpdateUserAttributes" ], "Resource": "arn:aws:cognito-idp:你的区域:托管账号ID:userpool/你的用户池ID" } ] }按需调整Action列表,覆盖你的应用所需的用户操作。
在Amplify应用中导入外部用户池
每个目标账号的Amplify应用都需要单独配置:- 进入Amplify控制台,打开目标应用的"身份验证"设置
- 选择"导入现有的身份验证资源"选项
- 输入外部Cognito用户池的ID、对应的客户端ID,以及用户池所在的AWS区域,完成配置
关键注意事项
- 确保Amplify应用所在账号的服务角色(Amplify自动创建的IAM角色)具备访问外部用户池的权限,必要时需在IAM中补充对应权限策略
- 如果用户池配置了Lambda触发器,需要给触发器Lambda添加权限,允许用户池所在账号调用该函数
- 配置完成后务必测试完整的用户流程(注册、登录、信息修改等),排查是否存在权限不足的问题
内容的提问来源于stack exchange,提问作者ramit
相关产品推荐
相关产品推荐

