Pab*_*ola 5 amazon-web-services aws-cloudformation aws-secrets-manager
我正在使用 Cloudformation 模板创建密钥,我遇到的问题是唯一可以导出的值是使用 Ref\n的 ARN\n有没有办法获取密钥的名称?我尝试使用 !GetAtt LogicalIdOfSecret 但这不起作用\xe2\x80\x99t 工作\n文档仅引用 ARN 部分\n https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-秘密.html
\nAWS::SecretsManager::Secret 资源类型不支持函数 GetAtt。您只能通过返回 ARN 的 Ref 函数进行引用。
但是,在大多数情况下,可以使用该 ARN 对其进行拆分并获取名称。Secrets 的 ARN 结构为:
arn:aws:secretsmanager:region:account_id:secret:my_path/my_secret_name-autoid
Run Code Online (Sandbox Code Playgroud)
因此,以下函数组合(选择、拆分、引用)将为您提供秘密的名称。
"Outputs": {
"SecretName": {
"Value": {
"Fn::Select": [
"0", {
"Fn::Split": [
"-", {
"Fn::Select": [
"6", {
"Fn::Split": [
":", {
"Ref": "MySecret"
}
]
}
]
}
]
}
]
},
"Description": "Secret's Name"
}
}
Run Code Online (Sandbox Code Playgroud)
它工作正常,除非秘密名称包含破折号“-”,因为分割逻辑基于名称+自动生成的值中包含的“-”。
参考:
归档时间: |
|
查看次数: |
2871 次 |
最近记录: |