【问题标题】:AWS: access EC2 Windows password during CodeDeploy stepsAWS:在 CodeDeploy 步骤期间访问 EC2 Windows 密码
【发布时间】:2016-04-15 04:23:36
【问题描述】:

在 AWS 应用程序代码部署的安装后步骤中,我想安装一些东西作为 Windows 本地服务。我正在使用 nssm 来执行此操作,但有时我需要使用本地管理员帐户安装该服务。 不幸的是,我找不到在环境变量中获取 Windows 密码或以自动方式使用命令行的方法。有什么想法吗?

谢谢! 伊曼纽尔

【问题讨论】:

    标签: windows amazon-web-services amazon-ec2 aws-code-deploy


    【解决方案1】:

    我们通过保护 S3 上的属性文件,然后在实例启动时或稍后在 CodeDeploy 生命周期挂钩中下载和解析该文件,解决了保护 Windows 和相关应用程序凭据以用于安装/自动化过程的问题.

    例如在名为 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 保持一致。

    【讨论】:

    • 应该很好用。我们以这种方式存储所有外部凭据。好处是,如果凭据发生更改,那么您只需更改属性文件。如果它对你有用,你能接受答案吗?谢谢
    猜你喜欢
    • 2019-07-22
    • 2019-08-03
    • 2020-01-31
    • 2017-03-15
    • 2019-01-15
    • 2017-10-09
    • 1970-01-01
    • 1970-01-01
    • 2019-04-22
    相关资源
    最近更新 更多