0

我正在尝试使用 node.js 库连接到 Amazon Selling Partners API (SP-API),但遇到了一个非常奇怪的错误,这似乎告诉我我不能担任自己的角色?

CustomError: User: arn:aws:iam::11111:user/bob is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::11111:user/bob

我对 AWS 还很陌生,但我很确定这个针对用户的内联策略应该足以满足我想要做的事情,我什至让它适用于所有资源,而不仅仅是 SellingPartners 角色d 之前创建的:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "*"
        }
    ]
}

这是我的完整代码,以防万一:

const SellingPartnerAPI = require('amazon-sp-api');
    
    (async() => {
    try {
        let sellingPartner = new SellingPartnerAPI({
            region:'na', // The region to use for the SP-API endpoints ("eu", "na" or "fe")
            refresh_token:'xxxxxx', // The refresh token of your app user
            credentials:{
                SELLING_PARTNER_APP_CLIENT_ID:'xxxxx',
                SELLING_PARTNER_APP_CLIENT_SECRET:'xxxxx',
                AWS_ACCESS_KEY_ID:'xxxx',
                AWS_SECRET_ACCESS_KEY:'xxxxx',
                AWS_SELLING_PARTNER_ROLE:'arn:aws:iam::11111:user/bob'
            }
        });
        let res = await sellingPartner.callAPI({
            operation:'getOrders',
            endpoint:'orders'
        });
        console.log(res);
    } catch(e) {
        console.log(e);
    }
})();
4

1 回答 1

1

ARNarn:aws:iam::11111:user/bob描述的是User而不是角色

arn:aws:iam::11111:role/your-role-name如果客户需要一个角色 ARN ,它可能应该是这样的。

于 2021-06-22T13:29:25.113 回答