2017-01-14 2 views
1

I AWSラムダサーバaws lambdaを使用してユーザーの資格情報で別のラムダを呼び出す方法は?

に違い言語で書かれた2ラムダはそれが

CJと呼ばれ、パラメータを使用してユーザー・コールCは、いくつかの条件に一致し、ロジックがあるとしています。これは、だから私は私のCラムダ関数を呼び出すユーザーの資格情報を取得し、J

を呼び出すためにそれを使用する必要があります。しかし、私

を何かをして、自分で(同じcognitoId)を呼び出しJを持っているユーザーのようなJを呼び出します。私はラムダ環境から

を現在のユーザーの資格情報を得ることができる場所の手がかりを見つけることができない私はcontext.Identityを取得するが、私は何ができ真似ユーザーとして

を呼び出すラムダの資格を作成するのに十分ではないことができますか?

+0

は、AWSラムダプロセス – Leon

+0

で設定した環境変数を確認し、匿名ユーザーにはできませんが' 'AWS_SECRET_ACCESS_KEY' AWS_SESSION_TOKEN'それはcognitoから来たのか?私はちょうどそれが自分のアマゾンのIAMの資格情報から来たと思いますか? – Thaina

+0

@Leonか関数がCognitoから呼び出された場合はオーバーライドされますか? – Thaina

答えて

0

私は今使用できる回避策は、DeveloperCredentialを使用して各ユーザーのアクセストークンを常に取得し、信任状。欠点は、すべてのユーザーが `AWS_ACCESS_KEY_ID`あり@Leon

0

私はJava SDKのサンプルを使用しますが、これらのメソッドはすべてのSDKで使用できるので、選択した言語に合わせてください。

あなたは、メソッドを使用して資格(基本的には一時的なアクセスキー/秘密鍵)のためidentityIdトークンを交換するAmazonCognitoClientを使用することができます。

public GetCredentialsForIdentityResult getCredentialsForIdentity(GetCredentialsForIdentityRequest getCredentialsForIdentityRequest) 

GetCredentialsForIdentityRequestGetCredentialsForIdentityResultと交換することができidentityIdをとります。結果でgetCredentials()を使用してCredentialsインスタンスを取得し、これを使用してLambdaJを呼び出すことができます。

+0

のcognito資格証明でlambda.invokeを呼び出しているのは悲しいことですが、悲しいことに、getCredentialsForIdentityを試しましたが、それはidentityIdだけで認証されたIDでは機能しません。管理者の資格情報 – Thaina

関連する問題