如何隐藏地形aws_ssm_参数值



我创建了一个SSM参数,其类型为SecureString,键值为(pasword=Passwor@d123)。我正在尝试使用数据资源获取值,其中该值将打印在计划输出中。

data "aws_ssm_parameter" "foo" {
name = "password"
}
module "lamda_env_vars" {
New_password = data.aws_ssm_parameter.foo.value
}
plan output:-
New_paswword = Password@123

我尝试了如下加密。

data "aws_ssm_parameter" "foo" {
name = "password"
with_decryption = false
}
module "lambda_env_vars" {
New_password = data.aws_ssm_parameter.foo.value
}
plan output:-
New_password = Q#iuws##)9ssdhs(some encryptrd value)

这里的问题是,相同的加密哈希代码被指定为lambda函数的值。

如何在地形化计划时屏蔽值,并获得lambda函数的纯文本值?

通常,您只需要将SSM的SecretString参数的名称作为env变量传递给lambda函数。然后lambda函数将从SSM参数存储中获取它自己。

如果您想在with_decryption = false中使用方法,那么您的lambda函数必须调用KMS解密API,才能将密文解密为纯文本版本。

在这两种情况下,函数的执行角色都需要具有KMS和/或SSM参数存储的权限。

相关内容

  • 没有找到相关文章

最新更新