我正在尝试创建IAM权限,因此jgit可以访问我的一个存储桶中的目录.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListBucket"],
"Resource": ["arn:aws:s3:::<mybucket>/<mydir>/*"]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": ["arn:aws:s3:::<mybucket>/<mydir>"]
}
]
}
Run Code Online (Sandbox Code Playgroud)
不幸的是它会抛出一个错误.我不确定还有什么其他允许行动才能实现.(在IAM有点新).
Caused by: java.io.IOException: Reading of '<mydir>/packed-refs' failed: 403 Forbidden
at org.eclipse.jgit.transport.AmazonS3.error(AmazonS3.java:519)
at org.eclipse.jgit.transport.AmazonS3.get(AmazonS3.java:289)
at org.eclipse.jgit.transport.TransportAmazonS3$DatabaseS3.open(TransportAmazonS3.java:284)
at org.eclipse.jgit.transport.WalkRemoteObjectDatabase.openReader(WalkRemoteObjectDatabase.java:365)
at org.eclipse.jgit.transport.WalkRemoteObjectDatabase.readPackedRefs(WalkRemoteObjectDatabase.java:423)
... 13 more
Caused by: java.io.IOException:
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>...</RequestId><HostId>...</HostId></Error>
at org.eclipse.jgit.transport.AmazonS3.error(AmazonS3.java:538)
... 17 more
Run Code Online (Sandbox Code Playgroud)
403 Forbidden显然是错误但不确定需要添加到IAM中的内容.有任何想法吗?
[本来应该补充说,我在政策模拟器中尝试了这个,它似乎在那里工作.]
“403”错误可能仅仅意味着该密钥<mydir>/packed-refs
不存在。根据https://forums.aws.amazon.com/thread.jspa?threadID=56531:
当请求不存在的密钥并且不允许请求者列出存储桶的内容时,Amazon S3 将返回 AccessDenied 错误。
如果您是第一次推送,该文件夹可能不存在,我猜您需要父ListBucket
目录的权限才能获得正确的响应。尝试将第一个语句更改为:NoSuchKey
{
"Effect": "Allow",
"Action": ["s3:ListBucket"],
"Resource": ["arn:aws:s3:::<mybucket>/*"]
}
Run Code Online (Sandbox Code Playgroud)
我还注意到,jgit push s3 refs/heads/master
当jgit push s3 master
不起作用时,它起作用了。
对于未来的人们:如果您只想用自己的用户设置一个 git repos 存储桶,那么以下安全策略似乎就足够了:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::<bucketname>"
]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::<bucketname>/*"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
273 次 |
最近记录: |