データベース パスワードを保護する
セキュリティを強化するために、Jira がデータベースへのアクセスに使用するデータベース パスワードを保護できます。このパスワードは設定ファイルに保存されています。基本的なものから高度なものまで、さまざまな暗号化方法が用意されています。さらに、SecretStore インターフェイスに基づいて独自の暗号も作成できます。
以下に概説するソリューションは、データベース値を暗号化するためのある程度の保護を可能にしますが、完全なセキュリティは提供しません。設定ファイルには、値を復号化するために必要なデータが含まれたままになります。つまり、これらのファイルにアクセスできる攻撃者は、プロパティ値を復号化できる可能性があります。
これらのアプローチは、機密データの偶発的な漏洩に対する保護を強化することを目的としていますが、包括的なセキュリティ ソリューションとして使用することは推奨されていません。
Jira とデータベースが存在するサーバーを保護することをおすすめします。
ベース64エンコード
暗号化を提供しないため、十分なデータ保護を保証できないため、シークレットを保護するために本番環境での Base64 エンコードはお勧めしません。
AES 暗号化
この方法では、パスワードを暗号化するためのアルゴリズムを選択できます。暗号化されたパスワードを設定ファイル内に保存する必要がないため、不正な第三者による検索や復号化を防いで、セキュリティを強化します。
AWS Secrets Manager
AWS Secrets Manager は、データベースの認証情報を高レベルで安全に保管するオプションを提供します。このサービスは、ランタイム コールを通じて認証情報を取得し、キーやトークンなどのハードコードされた認証情報を完全に削除します。
AWS Secrets Manager での暗号化の詳細をご覧ください。
HashiCorp Vault
HashiCorp Vault は、パスワード、トークン、キーなどの機密データの保護、保存、アクセス制御のためのツールです。デジタル空間上の金庫のように機能し、権限のないユーザーから秘密を守りながら、適切な権限を持つサービスでいつでも利用できます。
暗号化に HashiCorp Vault を使用する方法についてはこちらをご覧ください。
カスタム実装
暗号化に追加の要件がある場合は、アトラシアンの実装や例に基づいて独自の SecretStore の実装を作成できます。これを実行するには、Java の知識と Maven の基本的な知識が必要です。