amazon-web-services - 如何在 terraform 的 AWS S3 存储桶策略中获取 sid
问题描述
我想将策略附加到 S3 存储桶资源。
我的地形基础设施,
resource "aws_s3_bucket" "storage" {
bucket = "${var.service}-${local.stage}-storage"
acl = "public-read"
tags = {
Service = var.service
Stage = local.stage
}
cors_rule {
allowed_headers = [
"*"
]
allowed_methods = [
"GET",
"HEAD"
]
allowed_origins = [
"*"
]
max_age_seconds = 3000
}
}
这个用于 web 静态文件托管的存储桶。我需要公开存储桶策略。
我的 terraform 政策,
resource "aws_s3_bucket_policy" "storage-policy" {
bucket = aws_s3_bucket.storage.id
policy = <<POLICY
{
"Version": "2012-10-17",
"Id": "????????",
"Statement": [
{
"Sid": "????????",
"Effect": "Allow",
"Principal": "*",
"Action": "*",
"Resource": "arn:aws:s3:::BUCKET-NAME/*"
}
]
}
POLICY
}
在这段代码中,我需要获取 Id、Sid 字段值。我怎么能得到这个?谢谢。
解决方案
Id
和Sid
是你想要的任何东西。例如:
resource "aws_s3_bucket_policy" "storage-policy" {
bucket = aws_s3_bucket.storage.id
policy = <<POLICY
{
"Version": "2012-10-17",
"Id": "my-bucket-polict",
"Statement": [
{
"Sid": "allow-all-access",
"Effect": "Allow",
"Principal": "*",
"Action": "*",
"Resource": "arn:aws:s3:::BUCKET-NAME/*"
}
]
}
POLICY
}
推荐阅读
- elasticsearch - 如何在 Elasticsearch 中创建范围过滤器?
- python-3.x - boto3 RDS 获取数据库实例的所有数据库名称
- python - 使用填充逐渐淡化表面
- python - 问题导入 quantecon
- java - JavaFx tableview RuntimeException
- react-native - React-Native Video 自动播放代码不起作用
- reactjs - 从上下文提供者重定向 React 路由器
- php - 会话变量在 echo 中工作但在 SQL 查询中不工作
- spring - Spring JPA查询多对多
- java - 代码不断输入 if 语句,即使它不正确