为什么changeResourceRecordSets被无权访问该资源?
我试图创建路线53的新纪录类型的别名告诉路线53起诉CloudFront的服务网站。我试图做到这一点使用下面的代码:
let options = {
ChangeBatch: {
Changes: [{
Action: "CREATE",
ResourceRecordSet: {
AliasTarget: {
DNSName: '12kjh31k2hj3.cloudfront',
EvaluateTargetHealth: false,
HostedZoneId: 'JKEJWQHKJQWKK'
},
Name: 'example',
Type: "A"
}
}],
Comment: "S3 Hosted Site"
},
HostedZoneId: 'Z2FDTNDATAQYW2' // Fixed ID CloudFront distribution
};
route53.changeResourceRecordSets(options, function(error, data) {
//
// 1. Check if there was an error
//
if(error)
{
return reject(error);
}
//
// -> Move to the next chain
//
return resolve(container);
});
当我运行此我得到:
AccessDenied: User: arn:aws:iam::1234567:user/cli_s3_hosting is not authorized to access this resource
如果我使用IAM策略模拟器我有没有问题,如下面的截图中看到。
我也尝试添加AdminFullAccess
,我仍然得到同样的错误。我在想什么?
你必须换HostedZoneId的即Z2FDTNDATAQYW2的值应首先出现,然后你route53托管区。该错误出现,因为你正在试图改变资源记录集不属于您帐户的CF分布托管区(Z2FDTNDATAQYW2)的。