You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用adminDeleteUser()删除AWS Cognito用户需何种AWS访问密钥?

AWS Cognito adminDeleteUser() 所需访问密钥配置详解

一、什么是AWS访问密钥?

AWS访问密钥分为Access Key ID和Secret Access Key,是AWS用于验证请求身份的核心凭证。你之前配置的AWS_COGNITO_USER_POOL_ID和AWS_COGNITO_APP_CLIENT_ID仅为Cognito资源的标识信息,无法提供调用adminDeleteUser()所需的权限验证,必须搭配具备对应权限的AWS访问密钥才能生效。

二、获取并配置AWS访问密钥的步骤

  1. 创建具备权限的IAM用户

    • 登录AWS控制台,进入IAM服务
    • 新建IAM用户,为其分配权限:
      • 快速方案:直接附加AmazonCognitoPowerUser托管策略(包含Cognito全操作权限)
      • 安全方案:创建自定义权限策略,仅允许对目标用户池执行adminDeleteUser操作,示例策略如下:
        {
          "Version": "2012-10-17",
          "Statement": [
            {
              "Effect": "Allow",
              "Action": "cognito-idp:AdminDeleteUser",
              "Resource": "arn:aws:cognito-idp:你的区域ID:你的AWS账号ID:userpool/你的用户池ID"
            }
          ]
        }
        
    • 生成并下载该用户的Access Key ID和Secret Access Key(注意:Secret Access Key仅会显示一次,请妥善保存)
  2. 在Node.js项目中配置凭证
    在你的.env文件中添加以下配置:

    AWS_ACCESS_KEY_ID=你的Access Key ID
    AWS_SECRET_ACCESS_KEY=你的Secret Access Key
    AWS_REGION=us-west-2
    

    然后在代码中加载环境变量并配置AWS SDK:

    require('dotenv').config();
    const AWS = require('aws-sdk');
    
    AWS.config.update({
      region: process.env.AWS_REGION,
      accessKeyId: process.env.AWS_ACCESS_KEY_ID,
      secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY
    });
    
    const cognitoIdentityServiceProvider = new AWS.CognitoIdentityServiceProvider();
    
    const params = {
      UserPoolId: process.env.AWS_COGNITO_USER_POOL_ID,
      Username: '目标用户的用户名',
    };
    
    cognitoIdentityServiceProvider.adminDeleteUser(params, function (err, data) {
      if (err) {
        console.log('Error:', err);
      } else {
        console.log('User deleted successfully');
      }
    });
    

三、生产环境最佳实践

  • 绝对不要将访问密钥硬编码到代码中,也不要提交到版本仓库(确保.env加入.gitignore)
  • 如果部署在AWS托管服务(如Lambda、EC2)上,优先使用IAM角色而非硬编码密钥,AWS SDK会自动获取角色的临时凭证,安全性更高

内容的提问来源于stack exchange,提问作者Michael Hayashi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 19:05:12