[英]how to create read only and write only token for specific resource for a file in s3 using AWS STS
我必须为S3中的文件生成只读和只写令牌。
到目前为止我尝试过的是:
这是什么
创建STS客户端
AWSSecurityTokenServiceClient sts_client = (AWSSecurityTokenServiceClient) AWSSecurityTokenServiceClientBuilder.standard()
.withRegion(Regions.DEFAULT_REGION).build();
创建承担角色请求
AssumeRoleRequest assumeRoleRequest = new AssumeRoleRequest()
.withRoleArn("arn:aws:iam::123456789123:role/iam-role-name")
.withDurationSeconds(7200)
.withRoleSessionName("session-role-"+System.currentTimeMillis());
生成令牌请求
GetSessionTokenRequest session_token_request = new GetSessionTokenRequest();
生成令牌
GetSessionTokenResult session_token_result = sts_client.getSessionToken(session_token_request);
创建凭证
Credentials session_creds = session_token_result.getCredentials();
创建基本凭证
BasicSessionCredentials sessionCredentials = new BasicSessionCredentials(
session_creds.getAccessKeyId(),
session_creds.getSecretAccessKey(),
session_creds.getSessionToken());
期望
be able to generate read only and write only tokens
您需要为只读和只写定义不同的角色。 恕我直言,您不能仅使用一个角色来构建用例。
be able to generate path specific tokens
该角色可以包括对特定S3密钥(文件名)的引用,例如:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:Get*", "s3:List*"],
"Resource": [
"arn:aws:s3:::MyExampleBucket",
"arn:aws:s3:::MyExampleBucket/mypath/myfile.txt"
]
}
]
}
我找到了解决方案。
什么是:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.