Download PDF
Download page エージェントの認証情報を暗号化する.
エージェントの認証情報を暗号化する
Related pages:
このページでは、AppDynamics のエージェントログイン情報の保護に関する概要について説明します。
AppDynamics エージェントでは、次のようないくつかのタイプの認証情報がディスクに保存されます。
- コントローラアカウントアクセスキー
- コントローラキーストア/エージェントトラストストアパスワード
- プロキシサーバーパスワード
Secure Credential Store
セキュリティポリシーがディスク上のセキュアなログイン情報を要求する環境では、Secure Credential Store を使用して、エージェント構成のログイン情報を暗号化することができます。
Secure Credential Store は 2 つのコンポーネントにより構成されています。
scs-tool.jar
:Secure Credential Store を作成し、ログイン情報を暗号化し、Credential Store パスワードを難読化するユーティリティ。- Secure Credential Keystore:秘密暗号鍵のキーストア。
Secure Credential Store は、システムの暗号管轄ポリシーに従って、最も強力な暗号でプレーンテキストを暗号化します。
.NET エージェントについては、「.NETエージェント構成の認証情報の暗号化」を参照してください。
Credential Keystore を設定したら、次の設定を指定する必要があります。
分析エージェントの場合:
ad.secure.credential.store.filename
ad.secure.credential.store.password
「Analytics Agent Rules」を参照してください。
Java、マシン、およびデータベースエージェントの場合:
<controller-ssl-enabled>
<controller-keystore-filename>
<controller-keystore-password>
「Java エージェント構成プロパティ」、「マシン エージェント プロパティ」、および「データベースエージェントのプロパティ」を参照してください。
Secure Credential Storeの初期化
パスワードを暗号化または難読化するには、Secure Credential Store ユーティリティを実行して秘密暗号鍵のキーストアを作成する必要があります。エージェント ディストリビューションの以下の場所に Secure Credential Store ユーティリティがあります。
- Java エージェント:
<javaagent_home>/verX.X.X.X/utils/scs/scs-tool.jar
- マシンエージェント:
<machine_agent_home>/lib/secure-credential-store-tool-1.3.0.0.jar
- データベースエージェント:
<database_agent_home>/lib/scs-tool.jar
- 分析エージェント:
<analytics_agent_home>/bin/tool/scs-tool.jar
Secure Credential Store ユーティリティの generate_ks
コマンドは、以下のパラメータを指定して実行します。
filename
:ユーティリティが Secure Credential Keystore を作成する絶対パス。エージェント構成の<credential-store-filename>
にこのパスを使用します。storepass
:Secure Credential Keystore パスワード。このパスワードの難読化バージョンをエージェント構成の<credential-store-password>
値として使用します。
例:
/<full path to application JRE>/bin/java -jar ./scs-tool.jar generate_ks -filename '/opt/appdynamics/secretKeyStore' -storepass 'MyCredentialStorePassword'
Secure Credential Store ユーティリティのキーストアが作成され初期化されたことを確認します。
Successfully created and initialized new KeyStore file: /opt/appdynamics/secretKeyStore
Verification - New KeyStore file: /opt/appdynamics/secretKeyStore is properly initialized.
パスワードの暗号化
Secure Credential Store ユーティリティを使用してパスワードを暗号化するには、以下のパラメータを指定して encrypt
コマンドを実行します。
filename
:Secure Credential Keystore ファイルへの絶対パス。storepass
:Secure Credential Keystore のパスワード。プレーンテキストのパスワードまたは次のセクションで説明するとおりに難読化されたパスワードを使用できます。plaintext
:暗号化するプレーンテキスト。たとえば、アカウントアクセスキーまたはパスワード
次の例では、Secure Credential Keystore のプレーンテキストパスワード(storepass
引数)を使用します。
/<full path to application JRE>/bin/java -jar ./scs-tool.jar encrypt -filename '/opt/appdynamics/secretKeyStore' -storepass 'MyCredentialStorePassword' -plaintext 'MyAccessKeyOrPassword'
難読化されたパスワードを使用する同じ例:
/<full path to application JRE>/bin/java -jar ./scs-tool.jar encrypt -filename '/opt/appdynamics/secretKeyStore' -storepass 's_gsnwR6+LDch8JBf1RamiBoWfMvjjipkrtJMZXAYEkw8=' -plaintext 'MyAccessKeyOrPassword'
Secure Credential Store ユーティリティが書き出す、エージェント構成ファイルで使用する暗号化パスワード。
r9iDWPzHRCNDM1B6KTag4A/cA5B4pouVPkv48ovRm6c=
Secure Credential Storeパスワードの難読化
Secure Credential Keystoreで秘密鍵にアクセスするには、エージェントに難読化されたCredential Storeパスワードが必要になります。
Secure Credential Store ユーティリティの obfuscate
コマンドは、以下のパラメータを指定して実行します。
plaintext
:プレーンテキストの Secure Credential Keystore パスワード
例:
/<full path to application JRE>/bin/java -jar /opt/appdynamics/scs-tool.jar obfuscate -plaintext 'MyCredentialStorePassword'
Secure Credential Store ユーティリティは、エージェント構成の <credential-store-password>
で使用する難読化パスワードを書き出します。
次に例を示します。
s_gsnwR6+LDch8JBf1RamiBoWfMvjjipkrtJMZXAYEkw8=
プレーンテキストプロパティの暗号化
Secure Credential Store パスワードを難読化した後、プレーンテキストプロパティを暗号化できます。
次の例は、分析エージェントのプロパティを暗号化する方法を示しています。
$ /<full path to application JRE>/bin/java -jar scs-tool.jar encrypt -filename /opt/appdynamics/secretKeyStore -storepass 'Welcome' -plaintext 'MyAccountAccessKey'
このプロパティは、暗号化されたログイン情報を生成します。
-001-24-pFoSE/xdPcinkBj9iiKvpQ==Rznx8Kt3sPZHQnKfYyubVuhorrBEbYFtDTPm8c/1kFO+Z2eR2WEHtBRg4vy1GyvJ
エージェント構成のサンプル
次の例は、Secure Credential Storeのエージェント構成プロパティを示しています。詳しくは、エージェント固有の構成プロパティドキュメントを参照してください。
Java エージェント構成
<?xml version="1.0" encoding="UTF-8"?>
<controller-info>
...
<!-- Encrypted account access key -->
<account-access-key>r9iDWPzHRCNDM1B6KTag4A/cA5B4pouVPkv48ovRm6c=</account-access-key>
<!-- Encrypted Controller keystore / agent trust store password -->
<controller-keystore-password>Tw49bd0hdCMBoQ5pfMMuYA/cA5B4pouVPkv48ovRm6c=</controller-keystore-password>
<!-- Enable the Secure Credential Store -->
<use-encrypted-credentials>true</use-encrypted-credentials>
<!-- Path to they secure credential keystore -->
<credential-store-filename>/opt/appdynamics/secretKeyStore</credential-store-filename>
<!-- Obfuscated secure credential keystore password -->
<credential-store-password>n/8GvAZsKk4gM3Z6g+XQ1w==</credential-store-password>
...
</controller-info>
分析エージェント構成
ad.credential.store.filename=/opt/appdynamics/secretKeyStore
ad.credential.store.password=s_gsnwR6+LDch8JBf1RamiBoWfMvjjipkrtJMZXAYEkw8=
分析エージェントでのデータの暗号化
secure://<your-encrypted-credentials>
を使用して、分析エージェントでデータを暗号化できます。分析エージェントのプロパティファイルまたはシステムプロパティでデータを暗号化できます。
次の例は、分析エージェントのプロパティファイルで http.event.accessKey
を暗号化する方法を示しています。
http.event.accessKey=secure://-001-24-Dr9FQGC179o4vPnuljnx8A==ZGVw/P4OONvpUidIhJ2u78FpRVVW8fbgr8J1HBHXwnE=
ad.secure.credential.store.filename=/opt/appdynamics/secretKeyStore
ad.secure.credential.store.password=s_gsnwR6+LDch8JBf1RamiBoWfMvjjipkrtJMZXAYEkw8=