2015-09-28 8 views

答えて

1

これを行うには、API GatewayAWS v4 request signatureロジックを複製する必要があります。理想的には、API用に生成されたJavascript/Java SDKを見て、これらのリクエスト署名がどのように計算されるかを知る必要があります。私はあなたのテスト要求の認証をオフにすることをお勧めします。

5

あなたは、その後、CognitoプールIDに役割を添付役割があること限られた権限を持つ一時的な資格情報を得るためにあなたのAPI

AWS.config.credentials = new AWS.CognitoIdentityCredentials({ 
    IdentityPoolId: 'REGION:YOUR_POOL_ID', 
}); 

使用AWS STS GATEWAY

にアクセスし、「パブリック」プールIDとCognitoを使用することができます。

var apigClient = apigClientFactory.newClient({ 
    accessKey: 'ACCESS_KEY', 
    secretKey: 'SECRET_KEY', 
    sessionToken: 'SESSION_TOKEN', //OPTIONAL: If you are using temporary credentials you must include the session token 
    region: 'eu-west-1' // OPTIONAL: The region where the API is deployed, by default this parameter is set to us-east-1 
}); 

NB:その後、あなたは、生成されたSDKは、AMIの資格情報を受け入れ、あなたがSTSからもらったものとクライアントを開始する必要が

AWS_IAM認証とAPIゲートウェイを使用することができ、あなたの上に厳密に最低限の役割を置きますプールは、公開されているIDであり、すべてのボディがそれを使用して一時的または固定の(デバイス間でユーザーを追跡する)user_/app_idを取得できます。

更新日:2016年: クリスティンのコメント:Documentation STSの使い方。

TL; DR:

AWS.config.credentials = new AWS.WebIdentityCredentials({ 
    RoleArn: 'arn:aws:iam::<AWS_ACCOUNT_ID>:role/<WEB_IDENTITY_ROLE_NAME>', 
    ProviderId: 'graph.facebook.com|www.amazon.com', // Omit this for Google 
    WebIdentityToken: ACCESS_TOKEN 
}); 
+0

ことができます:あなたのアイデンティティプロバイダが戻ってあなたを呼び出して、基本的に後(グーグル、私の場合は)、あなただけのSTSにそれを送り、トークン(私の場合ではOpenIDを、)持っています「AWS STSを使用して限定された権限で一時的な資格情報を取得する」方法の例を挙げてください。ブラウザのJavaScript。私はこのすべてをCognito Identitiesと連携させる方法を理解できません。ありがとうございました。 – Christine

+0

@Christineは更新を参照してください。 –

関連する問題