6

Dla zarejestrowanego użytkownika w AWS Cognito Userpools, czy możliwe jest pobranie dokumentów polityki dołączonych do użytkownika za pośrednictwem ról IAM za pomocą zestawu JavaScript SDK?AWS cognito userpools JavaScript SDK uzyskać dokumenty polityki użytkownika

Przypadek użytkownika polega na napisaniu niestandardowego autoryzatora, który autoryzuje token cognito i zwróci dokument z uprawnieniami IAM, który użytkownik może zakładać za pośrednictwem grup użytkowników Cognito.

+0

W jaki sposób planujesz wykorzystać dokument strategiczny, który może doprowadzić do rozwiązania (problemów)? –

+0

Mam zamiar użyć go do autoryzacji zasobów bramki API. Idealnie jest to połączenie CognitoAuthorizer i IAMAuthorizer dla bramy API. – Ashan

Odpowiedz

2

Po przeprowadzeniu dalszych badań stosuje się następujące podejście w celu pobrania "zasad wbudowanych" dołączonych do użytkownika za pośrednictwem ról IAM.

  • Od AWS Cognito JWT, wyciąg nazw ról od Arns i korzystania IAM SDK dla JavaScriptu uzyskać Arns polityki za pomocą

    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 
    }); 
    
  • Używanie nazwy polityki i nazw ról w połączeniu, odzyskać dokumenty polityki w formacie JSON:

    iam.getRolePolicy({ PolicyName: policyName, RoleName: roleName }, 
    function (err, data) { 
        let document = decodeURIComponent(data["PolicyDocument"]); 
    }); 
    
  • Następne iteracyjne wyodrębnianie instrukcji z każdego dokumentu zasad i tworzenie pojedynczego.

Przykładowy kod można znaleźć w repozytorium github this.

Powiązane problemy