2016-04-04 11 views
0

AWSアプリケーションコードのデプロイメントの後のステップでは、Windowsローカルサービスとして何かをインストールしたいと思います。私はそうするためにnssmを使用していますが、ある時点でローカル管理者アカウントを使用してサービスをインストールする必要があります。 残念ながら、環境変数でWindowsパスワードを取得する方法や、コマンドラインを自動化する方法を見つけることができません。何か案が ?AWS:CodeDeployステップ中のEC2 Windowsパスワードへのアクセス

ありがとうございます! Emmanuel

答えて

1

S3のプロパティファイルをセキュリティで保護し、インスタンスの起動時に、または後でCodeDeployのライフサイクルでそのファイルをダウンロードして解析することで、インストール/自動化プロセスで使用するためのWindowsおよび関連アプリケーションの資格情報を保護するという問題を解決しました。二重フック。 S3バケットで例えば

S3と呼ばれる://credentials-example-com/example.properties

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 

あなたは環境にWindowsの管理者パスワードがSETXを使用して解析した場合、セキュリティ上の影響があるかもしれません - あなたは、単純なSET変数を使用する場合しかし、あなたの目的のために既存のシェルでのみ維持されます。

+0

いいですね!ヒントをありがとう! – CanardMoussant

+0

すごくうまくいくはずです。この方法ですべての外部資格情報を保存します。資格が変更された場合は、プロパティファイルを変更するだけです。それがあなたのために働くなら、あなたは親切に答えを受け入れることができますか?ありがとう –