3

在创建 cloudformation 堆栈时,我将接受一些输入。Cloudformation 堆栈将创建一个 SSM 文档(AWS 系统管理器),我想在执行之前将密码作为输入参数提供给 SSM 文档。

"parameters": {
              "sourceAMIid": {
              "type": "String",
              "description": "Source/Base AMI to be used for generating your Automated AMI",
              "default": { "Fn::FindInMap" : [ "RegionMap", { "Ref" : "AWS::Region" }, "HVM64"]}
                       },
               "Username": {
                           "type": "String",
                           "description": "account username/email",
                           "default": "none"
                       },
                       "password": {
                           "type": "String",
                           "description": "account password",
                           "default": "none"
                       },

                       "productName": {
                           "type": "String",
                           "description": "The syntax of this parameter is ProductName-ProductVersion.",
                           "default": {
                               "Ref": "productName"
                    }
       }
}

在此处输入图像描述

当我在此字段中输入密码时,它将按原样显示确切的单词。有什么方法可以定义密码参数显示如下

在此处输入图像描述

4

2 回答 2

9

是的,您可以使用云形成模板屏蔽您的密码。您只需在参数内部将“NoEcho”设置为“true”,如下所示有关更多信息,请参阅内容和使用 NoEcho 输入参数获取凭证

"Parameters" : {
  "DBPort" : {
    "Default" : "3306",
    "Description" : "TCP/IP port for the database",
    "Type" : "Number",
    "MinValue" : "1150",
    "MaxValue" : "65535"
  },
  "DBPwd" : {
    "NoEcho" : "true",
    "Description" : "The database admin account password",
    "Type" : "String",
    "MinLength" : "1",
    "MaxLength" : "41",
    "AllowedPattern" : "^[a-zA-Z0-9]*$"
  }
}
于 2020-01-03T06:57:26.617 回答
0

使用终端,这可以通过使用bash和来完成read -s -p

在下面的示例中,我有一个 Makefile,它读取密码,但不会将输入回显到终端。

制作命令

make create-test

生成文件

create-test: s3 delete-test
     @read -s -p "Enter DB Root Password: "  pswd; \
     aws cloudformation create-stack --stack-name test --template-body file://master.yaml --parameters ParameterKey=DBRootPassword,ParameterValue=$$pswd
于 2020-07-09T09:30:48.477 回答