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

ARNは、ロールではなくユーザーarn:aws:iam::11111:user/bobを表します。

arn:aws:iam::11111:role/your-role-nameクライアントが Role ARN を期待している場合は、おそらく次のようになります。

于 2021-06-22T13:29:25.113 に答える