对于 AWS Cognito Userpools 中的注册用户,能否通过 JavaScript SDK 通过 IAM 角色检索附加到用户的策略文档?
用户案例是编写自定义授权者,该授权者授权 Cognito ID 令牌并返回带有 IAM 权限的策略文档,用户能够通过 Cognito 用户组进行假定。
对于 AWS Cognito Userpools 中的注册用户,能否通过 JavaScript SDK 通过 IAM 角色检索附加到用户的策略文档?
用户案例是编写自定义授权者,该授权者授权 Cognito ID 令牌并返回带有 IAM 权限的策略文档,用户能够通过 Cognito 用户组进行假定。
经过进一步的研究,以下方法用于通过IAM角色检索附加到用户的“内联策略”。
From AWS Cognito JWT, extract role names from ARNs and using IAM SDK for JavaScript get the policy ARNs by using
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
});
Using policy names and role names in combination, retrieve the policy documents in JSON format
iam.getRolePolicy({ PolicyName: policyName, RoleName: roleName },
function (err, data) {
let document = decodeURIComponent(data["PolicyDocument"]);
});
可以在这个 GitHub 代码库中找到示例代码。