如何简单地将其设为私有 public?无需为我的脚本更改任何内容
How to simply make it private for general public? Without changing anything for my script
我是 AWS 的新手。我有以下数据:
bucket ARN: arn:aws:s3:::my-bucket555
user: my-user-555
Access Key ID: "some key"
Secret access key: "some secret key"
我有这个桶的政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::my-bucket555"
},
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": "arn:aws:s3:::my-bucket555/*"
}
]
}
而且我在 VPS 上有一个 bash 脚本,它使用标准 cli 实用程序 API 通过 API 对一些员工使用我的 AWS 帐户 [=30] =] 的亚马逊。 和 API 键
问题: 我的存储桶在“https://s3.eu-west-2.amazonaws.com/my-bucket555”公开可用。 url 被混淆了。
问题:如何实现 private/non-public 并且仍然允许我的 bash 脚本继续执行它正在执行的工作?
你有几种方法可以做到这一点。
首先,将您的存储桶设为私有。
备选方案
- 创建一个 IAM 组并为其设置该策略,在该组中创建一个用户并在您的 bash 脚本中使用访问密钥。
- 向策略添加
Condition
以仅接受来自特定 IP 的访问。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::my-bucket555",
"Condition": {
"ForAnyValue:IpAddress": {
"aws:SourceIp": [
"210.75.12.75/16",
"210.75.24.75/16"
]
}
}
},
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": "arn:aws:s3:::my-bucket555/*",
"Condition": {
"ForAnyValue:IpAddress": {
"aws:SourceIp": [
"210.75.12.75/16",
"210.75.24.75/16"
]
}
}
}
]
}
我是 AWS 的新手。我有以下数据:
bucket ARN: arn:aws:s3:::my-bucket555
user: my-user-555
Access Key ID: "some key"
Secret access key: "some secret key"
我有这个桶的政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::my-bucket555"
},
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": "arn:aws:s3:::my-bucket555/*"
}
]
}
而且我在 VPS 上有一个 bash 脚本,它使用标准 cli 实用程序 API 通过 API 对一些员工使用我的 AWS 帐户 [=30] =] 的亚马逊。 和 API 键
问题: 我的存储桶在“https://s3.eu-west-2.amazonaws.com/my-bucket555”公开可用。 url 被混淆了。
问题:如何实现 private/non-public 并且仍然允许我的 bash 脚本继续执行它正在执行的工作?
你有几种方法可以做到这一点。
首先,将您的存储桶设为私有。
备选方案
- 创建一个 IAM 组并为其设置该策略,在该组中创建一个用户并在您的 bash 脚本中使用访问密钥。
- 向策略添加
Condition
以仅接受来自特定 IP 的访问。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::my-bucket555",
"Condition": {
"ForAnyValue:IpAddress": {
"aws:SourceIp": [
"210.75.12.75/16",
"210.75.24.75/16"
]
}
}
},
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": "arn:aws:s3:::my-bucket555/*",
"Condition": {
"ForAnyValue:IpAddress": {
"aws:SourceIp": [
"210.75.12.75/16",
"210.75.24.75/16"
]
}
}
}
]
}