web-dev-qa-db-ja.com

PowerShell資格情報(creds)ファイルを暗号化する

PowerCLIをいじり始めたので、vCenterに接続するときに使用する資格情報ファイルを作成しました。これの目的は、 vCheck daily script の実行など、スケジュールされたタスクを実行することです。おそらくこのためのサービスアカウントを設定します。これはvCenterサーバーのローカル管理者になるため、このファイルにパスワードが含まれているのではないかと心配しています。

ファイルを表示するだけでは、パスワードは暗号化されているように見えます。

AQAAANCMnd8BFdERjHoAwE/Cl + sBAAAAF6urzz6JcEKjSIAFn/FxnQAAAAACAAAAAAADZgAAwAAAABAAAACtzPSK0kUeCGX71HGYFXhBAAAAAASAAACgAAAAEAAAAECR1XvUy3U2YgSMrr1bQ

資格情報を変数($ creds)に関連付けたら、変数を表示してパスワードを確認できます。

$ creds | fl *

ホスト:テストユーザー:テストPassword:ここに実際にパスワードを表示しますFile:credsファイル

このファイル全体を暗号化したり、このパスワードの表示を停止したりする方法はありますか?

3
Chadddada

パスワードの表示を停止する(簡単な)方法はありませんが、見た目ほど悪くはありません。復号化は、次の状況でのみ機能します。

  1. 暗号化されたファイルは、それを作成したのと同じユーザーが開く必要があります。

  2. 暗号化されたファイルは、作成されたのと同じコンピューターで開く必要があります。

資格情報を読み取る必要があるユーザーアカウントに強力なパスワードを使用している限り、資格情報ファイルを使用するために保存する必要があります。

多くのスケジュールされたタスク(非対話型シェル)に資格情報ファイルを使用しています。スケジュールされたタスクが終了し、$ cred変数が削除されると、シェルは自動的に閉じられます。

インタラクティブシェルでは、ユーザー名とパスワードを手動で指定できるため、資格情報ファイルは使用しません。

お役に立てれば。ごきげんよう。

ご挨拶

グラブ

1
grub

グラブは素晴らしい答えを出しました。これを追加したいのですが、ローカル管理者アカウントを作成する代わりに、通常のドメインアカウントを作成してから、このユーザーに、vCenter内から必要な特定の読み取り専用ユーザーのみのアクセス許可を付与します。このようにして、アカウントが侵害された場合でも、最小限の損害しか与えることができません。

1
jftuga