6

Ist es für registrierte Benutzer in AWS Cognito Userpools möglich, die dem Benutzer angehängten Richtliniendokumente über IAM-Rollen durch JavaScript SDK abzurufen?AWS cognito userpools JavaScript SDK Richtliniendokumente für Benutzer abrufen

Der Benutzerfall besteht darin, einen benutzerdefinierten Autor zu schreiben, der das Cognito-ID-Token autorisiert und das Richtliniendokument mit der IAM-Berechtigung zurückgibt, die der Benutzer über Cognito-Benutzergruppen annehmen kann.

+0

Wie planen Sie, das Richtliniendokument zu verwenden, das zu einer Lösung führen könnte? –

+0

Ich plane, es für die API-Gateway-Ressourcenautorisierung zu verwenden. Idealerweise ist es eher eine Kombination aus CognitoAuthorizer und IAMAuthorizer für API Gateway. – Ashan

Antwort

2

Nach weiteren Untersuchungen wird der folgende Ansatz zum Abrufen von Inline-Richtlinien verwendet, die dem Benutzer über IAM-Rollen zugeordnet sind.

  • Von AWS Cognito JWT, Rollennamen von ARN extrahieren und mit IAM-SDK für JavaScript die Politik ARN erhalten, indem

    const aws = require('aws-sdk'); 
    let iam = new aws.IAM(); 
    iam.listRolePolicies({ RoleName: roleName }, function (err, data) { 
        let policyNames = data["PolicyNames"]; 
        // Use policy names and role names to retrieve policy documents 
    }); 
    
  • Mit Richtliniennamen und Rollennamen in Kombination verwendet wird, rufen die politischen Dokumenten im JSON-Format

    iam.getRolePolicy({ PolicyName: policyName, RoleName: roleName }, 
    function (err, data) { 
        let document = decodeURIComponent(data["PolicyDocument"]); 
    }); 
    
  • Als nächstes extrahieren Sie iterativ die Anweisungen aus jedem Richtliniendokument und erstellen Sie ein einzelnes.

Beispiel Code könnte in this Github Repository gefunden werden.

Verwandte Themen