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

同区域跨AWS账号共享访问Parameter Store密钥是否可行?

同区域跨账号通过AWS CLI访问Parameter Store密钥配置方案

源账号侧配置(存储凭证的账号)

  • 打开Parameter Store控制台,定位到需要共享的数据库凭证参数,进入参数详情的策略配置页,添加资源访问策略,授权目标账号的指定IAM用户具备参数读取权限,策略示例:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::<目标账号ID>:user/<目标账号用于拉取密钥的IAM用户名>"
            },
            "Action": [
                "ssm:GetParameter",
                "ssm:GetParameters"
            ],
            "Resource": "arn:aws:ssm:<部署区域标识>:<源账号ID>:parameter/<参数完整路径,例如/prod/db/credential>"
        }
    ]
}
  • 若参数为SecureString加密类型,需找到加密该参数使用的KMS客户管理密钥,在密钥的访问策略中给同一个目标IAM用户添加kms:Decrypt权限,否则无法解密获取参数明文。

目标账号侧配置(执行构建操作的账号)

  • 找到用于构建阶段拉取密钥的IAM用户,给该用户附加最小权限的自定义IAM策略,策略示例:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetParameter",
                "ssm:GetParameters"
            ],
            "Resource": "arn:aws:ssm:<部署区域标识>:<源账号ID>:parameter/<参数完整路径>"
        },
        {
            "Effect": "Allow",
            "Action": "kms:Decrypt",
            "Resource": "arn:aws:kms:<部署区域标识>:<源账号ID>:key/<源账号加密参数的KMS密钥ID>"
        }
    ]
}

CLI访问验证

  • 在构建环境配置该IAM用户的访问凭证,确保CLI默认区域与参数存储的区域完全一致
  • 执行参数拉取命令验证权限,拉取加密参数必须携带--with-decryption参数,直接输出明文的命令如下:
    aws ssm get-parameter --name "<你的参数完整路径>" --with-decryption --query "Parameter.Value" --output text
  • 命令执行后会直接输出参数明文,可直接捕获该值注入应用的环境变量。

注意事项

  1. 权限配置严格遵循最小权限原则,仅授予参数读取、KMS解密权限,不要授予参数修改、删除类权限,避免凭证被篡改
  2. 构建环境优先使用短时效STS临时凭证,不要使用长期永久AK/SK,降低凭证泄露带来的安全风险
  3. 若需要共享同一路径前缀下的多个参数,可在策略的Resource字段使用通配符*做路径匹配,减少策略维护成本

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 00:27:27