話:
ユーザーを含むCognitoユーザープールがあります。
このユーザー プールは、フェデレーション ID プールの認証プロバイダーです。
次のように、ユーザーが認証ロールのポリシーを介してプライベート パスへのアップロードに制限されている S3 バケットがあります。
arn:aws:s3:::BUCKET_NAME/${cognito-identity.amazonaws.com:sub}/*
ユーザーは、aws javascript sdk を介して Web ブラウザーから直接アップロードします。
これはうまく機能し、ユーザーはアップロードする場所に制限されています。彼らがアップロードするファイルは、バケット内のパスが次のようになります。
us-east-1:0f26319c-1233-4c71-afb6-fac96a798ffb/random_file_name.txt
ファイルが追加されるたびに、この S3 バケットからトリガーされるラムダがあります。明確にするために、ユーザーはラムダを呼び出しません
問題:
ラムダからユーザープール内のユーザーの属性にアクセスしたいと思います。cognito-identity サブを使用して、このルックアップを実行できると考えました。ただし、SDK API を使用してこれを許可する方法が見つからないようです。
この API の使用: http://boto3.readthedocs.io/en/latest/reference/services/cognito-identity.html#CognitoIdentity.Client.describe_identity ログイン/ユーザー プールを取得できますが、関連付けられているユーザー名は取得できませんこの ID ID。
ユーザー名があれば、API を使用できます: http://boto3.readthedocs.io/en/latest/reference/services/cognito-idp.html?highlight=cognito#CognitoIdentityProvider.Client.admin_get_user
Federated Identity ID を使用してユーザーの属性を検索する方法はありますか?