概要
Lambdaでsub情報からCognitoのユーザーを削除する方法を紹介します。
環境
- ランタイム:Python3.9
- リージョン:ap-northeast-1
Lambda関数
import boto3
cognito = boto3.client('cognito-idp', region_name='ap-northeast-1')
user_pool_id = <ユーザープールのID>
def get_cognito_user_name(sub):
response = cognito.list_users(
UserPoolId=user_pool_id,
Filter='sub = "' + sub + '"'
)
user_name = response["Users"][0]['Username']
return user_name
def delete_cognito_user(user_name):
response = cognito.admin_delete_user(
UserPoolId=user_pool_id,
Username=user_name
)
def lambda_handler(event, context):
sub = <sub値>
# ユーザー名の取得
user_name = get_cognito_user_name(sub)
# Cognitoからユーザーを削除する
delete_cognito_user(user_name)
return "Success"
必要なIAM権限
- cognito-idp:AdminDeleteUser
- cognito-idp:AdminGetUser
- cognito-idp:ListUsers