You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Terraform为Redshift Serverless工作组添加“授权账户”?

解决Redshift Serverless工作组跨账户授权创建托管VPC终端节点的Terraform方案

控制台中“允许其他账户创建托管VPC终端节点”的配置,本质是通过资源策略实现的权限授权,目前Terraform的redshiftserverless_workgroup资源确实未直接暴露该配置项,可通过以下两种方式实现:

方法1:使用aws_redshiftserverless_resource_policy资源

这是Terraform官方提供的专门管理Redshift Serverless资源权限的资源,直接配置跨账户策略即可:

resource "aws_redshiftserverless_resource_policy" "workgroup_endpoint_access" {
  resource_arn = aws_redshiftserverless_workgroup.your_workgroup.arn
  policy = jsonencode({
    Version = "2012-10-17"
    Statement = [
      {
        Effect    = "Allow"
        Principal = {
          AWS = "arn:aws:iam::123456789012:root" # 替换为目标账户ID
        }
        Action   = "redshift-serverless:CreateEndpointAccess"
        Resource = aws_redshiftserverless_workgroup.your_workgroup.arn
      }
    ]
  })
}

将代码中的123456789012替换为你要授权的AWS账户ID,该策略会允许目标账户对指定工作组执行创建托管VPC终端节点的操作。

方法2:通过local_exec调用AWS CLI

如果上述资源无法满足需求(比如特定版本兼容性问题),可以直接调用AWS CLI设置资源策略:

resource "aws_redshiftserverless_workgroup" "your_workgroup" {
  workgroup_name = "your-target-workgroup"
  # 其他工作组配置项...
}

resource "null_resource" "apply_workgroup_endpoint_policy" {
  depends_on = [aws_redshiftserverless_workgroup.your_workgroup]

  provisioner "local-exec" {
    command = <<EOT
aws redshift-serverless put-resource-policy \
  --resource-arn ${aws_redshiftserverless_workgroup.your_workgroup.arn} \
  --policy '{
    "Version": "2012-10-17",
    "Statement": [
      {
        "Effect": "Allow",
        "Principal": {"AWS": "arn:aws:iam::123456789012:root"},
        "Action": "redshift-serverless:CreateEndpointAccess",
        "Resource": "${aws_redshiftserverless_workgroup.your_workgroup.arn}"
      }
    ]
  }'
EOT
  }
}

注意:执行该配置的环境需要已配置AWS CLI,且当前身份拥有redshift-serverless:PutResourcePolicy权限。

配置完成后,可通过控制台或aws redshift-serverless get-resource-policy命令验证策略是否生效,目标账户即可创建指向该工作组的托管VPC终端节点。

内容的提问来源于stack exchange,提问作者nickklon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 12:56:04