AWS:在 CodeDeploy 步骤中访问 EC2 Windows 密码
AWS: access EC2 Windows password during CodeDeploy steps
在 AWS 应用程序代码部署的安装后步骤中,我想安装一些东西作为 Windows 本地服务。我正在使用 nssm 这样做,但在某些时候我需要使用本地管理员帐户安装该服务。
不幸的是,我找不到在环境变量中或以自动方式使用命令行获取 Windows 密码的方法。有什么想法吗?
谢谢!
伊曼纽尔
我们通过保护 S3 上的属性文件,然后在实例启动时下载和解析该文件,解决了保护 Windows 和相关应用程序凭据以用于 install/automated 进程的问题,或者稍后在 CodeDeploy 生命周期挂钩中。
例如在名为 s3://credentials-example-com/example.properties:
的 S3 存储桶中
WindowsAdminPassword=testing
您可以根据需要下载解析。在此示例中,我将所有值解析为环境变量:
@echo off
rem Get credentials file from S3 and parse
echo Get credentials
if not exist c:\temp mkdir c:\temp
aws s3 cp s3://credentials-example-com/example.properties c:\temp
@echo off
FOR /F "tokens=1,2 delims==" %%G IN (c:\temp\example.properties) DO (
echo.%%G|findstr "#" >nul 2>&1
if errorlevel 1 (
echo Setting %%G
setx /m example_%%G %%H
set example_%%G=%%H
)
)
echo Done
如果您使用 SETX
将 Windows 管理员密码解析到环境中,则可能存在安全隐患 - 但出于您的目的,如果您使用简单的 SET
,则该变量只会持续存在与现有 shell.
在 AWS 应用程序代码部署的安装后步骤中,我想安装一些东西作为 Windows 本地服务。我正在使用 nssm 这样做,但在某些时候我需要使用本地管理员帐户安装该服务。 不幸的是,我找不到在环境变量中或以自动方式使用命令行获取 Windows 密码的方法。有什么想法吗?
谢谢! 伊曼纽尔
我们通过保护 S3 上的属性文件,然后在实例启动时下载和解析该文件,解决了保护 Windows 和相关应用程序凭据以用于 install/automated 进程的问题,或者稍后在 CodeDeploy 生命周期挂钩中。
例如在名为 s3://credentials-example-com/example.properties:
的 S3 存储桶中WindowsAdminPassword=testing
您可以根据需要下载解析。在此示例中,我将所有值解析为环境变量:
@echo off
rem Get credentials file from S3 and parse
echo Get credentials
if not exist c:\temp mkdir c:\temp
aws s3 cp s3://credentials-example-com/example.properties c:\temp
@echo off
FOR /F "tokens=1,2 delims==" %%G IN (c:\temp\example.properties) DO (
echo.%%G|findstr "#" >nul 2>&1
if errorlevel 1 (
echo Setting %%G
setx /m example_%%G %%H
set example_%%G=%%H
)
)
echo Done
如果您使用 SETX
将 Windows 管理员密码解析到环境中,则可能存在安全隐患 - 但出于您的目的,如果您使用简单的 SET
,则该变量只会持续存在与现有 shell.