Amazon web services aws联邦用户的aws:userid中的[account:caller specified name]是什么
我想问一下“AWS获取联盟令牌” 我想做的是 使用getFederationToken授权的人 只能访问他/她命名的AWS S3文件夹,如[bob]或[alice]等 这就是我所做的 使用getFederationToken for aws:userid创建临时凭据Amazon web services aws联邦用户的aws:userid中的[account:caller specified name]是什么,amazon-web-services,amazon-s3,amazon-javascript-sdk,Amazon Web Services,Amazon S3,Amazon Javascript Sdk,我想问一下“AWS获取联盟令牌” 我想做的是 使用getFederationToken授权的人 只能访问他/她命名的AWS S3文件夹,如[bob]或[alice]等 这就是我所做的 使用getFederationToken for aws:userid创建临时凭据 AWS.config.update({ accessKeyId: [Removed], secreteAccessKey: [Removed], region: [Removed]
AWS.config.update({
accessKeyId: [Removed],
secreteAccessKey: [Removed],
region: [Removed]
});
var params = {
Name : 'bob',
Policy : "{\"Version\": \"2012-10-17\",\"Statement\": [{\"Effect\": \"Allow\", \"Action\": [\"s3:ListBucket\"],\"Resource\": [\"arn:aws:s3:::mybucket\"]}, {\"Effect\": \"Allow\", \"Action\": [\"s3:PutObject\", \"s3:GetObject\"],\"Resource\": [\"arn:aws:s3:::mybucket/${aws:userid}/*\"]}]}",
DurationSeconds: "129600"
}
var sts = new AWS.STS({apiVersion: '2011-06-15'});
sts.getFederationToken(params, function(err, data) {
if(err)
console.log(err, err.stack);
else
console.log(data);
});
但是我不知道从${aws:userid}调用什么。AWS用户指南说,当主体是联邦用户时,将调用[account:caller specified name]。。。但是,我检查了它是否是[AWS帐户ID(12位数字):bob]。不是
如果你有什么事要告诉我,请告诉我。
谢谢。我找到了一个甚至不完美的解决方案 [account:caller specified name]作为[123456789012:bob]仅在使用s3策略时正常工作,而不是使用JS代码参数