如何为AWS Amplify博客创建唯一管理员账户?
AWS Amplify 博客应用管理员账户配置方案
方案一:创建专属管理员账户并禁用注册功能
这种方案完全关闭用户注册入口,仅保留你预先创建的管理员账户:
- 步骤1:在Cognito控制台创建管理员用户
- 打开AWS控制台,进入与Amplify关联的Cognito用户池
- 切换到「用户和组」标签页,点击「创建用户」
- 填写管理员的邮箱/手机号,设置临时密码,按需勾选「发送邀请」让用户自行重置密码
- 步骤2:移除前端注册入口
- 删除或隐藏前端代码中所有注册相关的UI组件(比如Amplify UI库的
SignUp组件) - 确保代码中未调用
Auth.signUp()等注册相关API
- 删除或隐藏前端代码中所有注册相关的UI组件(比如Amplify UI库的
- 步骤3:禁用Cognito用户池的注册权限
- 在Cognito用户池的「应用客户端设置」页面
- 取消勾选「允许用户注册」选项并保存更改
方案二:通过管理员组角色限制权限
这种方案即使存在注册可能,也能通过权限隔离确保只有指定用户拥有管理权限:
- 步骤1:创建管理员组
- 在Cognito用户池的「用户和组」标签页,点击「创建组」
- 命名为
Admin,关联一个拥有全权限的IAM角色(需配置该角色可访问S3图片存储、DynamoDB文章表的创建/修改权限)
- 步骤2:将管理员用户加入Admin组
- 在用户列表中找到目标管理员用户,点击「添加到组」,选择
Admin组完成关联
- 在用户列表中找到目标管理员用户,点击「添加到组」,选择
- 步骤3:配置普通用户受限权限
- 创建一个普通用户IAM角色,仅授予读取文章、图片的权限,禁止创建/修改操作
- 在Amplify项目的
amplify/backend/auth/<auth-resource-name>/cli-inputs.json中,配置组与IAM角色的映射关系
- 步骤4:前端权限校验
- 前端通过
Auth.currentAuthenticatedUser()获取用户信息,检查用户所属组是否为Admin - 仅对Admin组用户展示文章创建、图片上传的功能入口,普通用户隐藏这些操作按钮
- 前端通过
内容的提问来源于stack exchange,提问作者JustDankas
相关产品推荐
相关产品推荐

