我在模板中使用访问密钥创建了一个用户:
"MyAccessKey" : {
"Type" : "AWS::IAM::AccessKey",
"Properties" : {
"UserName" : { "Ref" : "User12" }
}
}
我需要在模板的输出中获取访问密钥 ID 和密钥。怎么做 ?谢谢
我在模板中使用访问密钥创建了一个用户:
"MyAccessKey" : {
"Type" : "AWS::IAM::AccessKey",
"Properties" : {
"UserName" : { "Ref" : "User12" }
}
}
我需要在模板的输出中获取访问密钥 ID 和密钥。怎么做 ?谢谢
访问密钥 id 和密钥可用作资源的返回值AWS::IAM::AccessKey
:
"Outputs" : {
"MyAccessKeyId": {
"Ref" : "MyAccessKey"
},
"MySecretKey": {
"Fn::GetAtt": [ "MyAccessKey", "SecretAccessKey" ]
}
}
CloudFormation 的输出文档状态...
CloudFormation 不会编辑或混淆您在“输出”部分中包含的任何信息。我们强烈建议您不要使用此部分来输出敏感信息,例如密码或机密。
更安全的选择是创建一个包含用户访问和密钥的AWS::SecretsManager::Secret资源。
这是一个利用这种方法创建“机器人”用户的模板示例......
---
AWSTemplateFormatVersion: 2010-09-09
Description: example bot user
Resources:
Bot:
Type: AWS::IAM::User
Properties:
Path: /bot/
UserName: !Ref AWS::StackName
BotCredentials:
Type: AWS::IAM::AccessKey
Properties:
Status: Active
UserName: !Ref Bot
BotCredentialsStored:
Type: AWS::SecretsManager::Secret
Properties:
Name: !Sub /bot/credentials/${Bot}
SecretString: !Sub '{"ACCESS_KEY":"${BotCredentials}","SECRET_KEY":"${BotCredentials.SecretAccessKey}"}'