2015-09-28 8 views

Antwort

1

Sie müssten API GatewayAWS v4 request signature Logik replizieren, um das zu können. Im Idealfall sollten Sie sich das generierte Javascript/Java-SDK für Ihre API ansehen, um eine Vorstellung davon zu bekommen, wie diese Anforderungssignaturen berechnet werden. Ich schlage vor, dass Sie die Authentifizierung für Ihre Testanforderungen deaktivieren.

5

können Sie Cognito verwenden, um mit einem „öffentlichen“ Pool-ID, dann Rolle der ID Cognito Pool anhängen, die Rolle

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

Verwenden AWS STS Zugriff auf Ihre API-Gateway sie nur für Berechtigungsnachweise mit eingeschränkten Rechten zu erhalten. Danach können Sie API-Gateway mit AWS_IAM Authentifizierung

Das erzeugte SDK akzeptiert AMI Anmeldeinformationen verwenden, müssen Sie den Client mit den man von STS bekam zu initiieren:

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: auf Ihrem Put streng Mindest Rollen pool, das ist eine öffentlich verfügbare ID, die von jedem Körper verwendet werden kann, um eine temporäre oder eine fixe (um Benutzer über Geräte hinweg zu verfolgen) user_/app_ id zu erhalten.

Update April 2016: Für Christine Kommentare: Documentation zur Verwendung von STS.

TL; DR: Grundsätzlich nach dem Identity-Provider Sie zurück (Google, in meinem Fall) nennt, werden Sie einen Token (OpenID, in meinem Fall) haben, füttern sie nur STS:

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

Kann Sie geben ein Beispiel, wie Sie "AWS STS verwenden, um temporäre Anmeldeinformationen mit eingeschränkten Berechtigungen zu erhalten". im Browser JavaScript. Ich kann mir nicht vorstellen, wie das alles mit Cognito Identities funktioniert. Vielen Dank. – Christine

+0

@Christine siehe das Update. –

Verwandte Themen