ベース64エンコード

このページの内容

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

暗号化を提供しないため、十分なデータ保護を保証できないため、シークレットを保護するために本番環境での Base64 エンコードはお勧めしません。

パスワードをプレーン テキストで保存したくないものの、パスワードをエンコードするために特定の要件を満たす必要がないユーザーにはこのタイプのエンコーディングがおすすめです。

パスワードをエンコードする

この方法では、機密データを簡単に難読化する方法である Base64 エンコーディングを使用します。

ステップ 1. パスワードをエンコードする

データベース パスワードをエンコードする際は、以下のテーブルに記載されているように、いくつかのオプションの引数を指定できます。

引数

説明

-c,--class <arg>

暗号の正規クラス名。初期設定を使用するには空のままにします: com.atlassian.secrets.store.base64.Base64SecretStore

-h,--help

これらのオプションの引数を表示するヘルプ メッセージを出力します。

-m,--mode <arg>

パスワードに対して暗号化(既定)または decrypt を使用します。

-p,--password <arg>

暗号化したいプレーンテキストのパスワード。このパラメーターを省略すると、コンソールからパスワードの入力を求められます。

-s,--silent

最低限の情報をログに出力します。

データベース パスワードをエンコードするには、以下の手順に従います。

データベース パスワードをエンコードするには、次の手順に従います。

  1. <Jira-installation-directory>/bin に移動します。
  2. 次のコマンドを実行してパスワードをエンコードします。上に示すオプションの引数も使用できます。 

    java -cp "./*" com.atlassian.secrets.cli.db.DbCipherTool

    このコマンドを実行すると、次のような出力が表示されます。

    2023-10-10 03:58:01,548 main INFO [com.atlassian.secrets.DefaultSecretStoreProvider] Initiating secret store class: com.atlassian.secrets.store.base64.Base64SecretStore
    2023-10-10 03:58:01,568 main DEBUG [secrets.store.base64.Base64SecretStore] Initiate Base64Cipher
    2023-10-10 03:58:01,583 main DEBUG [secrets.store.base64.Base64SecretStore] Encrypting data...
    2023-10-10 03:58:01,585 main DEBUG [secrets.store.base64.Base64SecretStore] Encryption done.
    Success!
    For Jira, set the following properties in dbconfig.xml:
    
    <atlassian-password-cipher-provider>com.atlassian.secrets.store.base64.Base64SecretStore</atlassian-password-cipher-provider>
    <password>c2VjcmV0</password>
    
    For Bitbucket, set the following properties in bitbucket.properties:
    
    jdbc.password.decrypter.classname=com.atlassian.secrets.store.base64.Base64SecretStore
    jdbc.password=c2VjcmV0
    
    For Bamboo, set the following properties in bamboo.cfg.xml:
    
    <property name="jdbc.password.decrypter.classname">com.atlassian.secrets.store.base64.Base64SecretStore</property>
    <property name="hibernate.connection.password">c2VjcmV0</property>
    
    For Confluence, set the following properties in confluence.cfg.xml:
    
    <property name="jdbc.password.decrypter.classname">com.atlassian.secrets.store.base64.Base64SecretStore</property>
    <property name="hibernate.connection.password">c2VjcmV0</property>

ステップ 2. エンコードしたパスワードを dbconfig.xml に追加する

エンコードされたパスワードを追加する方法。

  1. <home-directory>/dbconfig.xml ファイルをバックアップします。バックアップをインスタンスの外部の安全な場所に移動します。

  2. dbconfig.xml ファイルで、次の内容を含むように <atlassian-password-cipher-provider> プロパティを追加または変更します。

    com.atlassian.secrets.store.base64.Base64SecretStore
  3. dbconfig.xml ファイルで、<password> プロパティを追加または変更して、Base64 エンコードの値を含めます。

    c2VjcmV0
  4. 更新が完了したら、dbconfig.xml に次の内容が含まれていることを確認します。

    <atlassian-password-cipher-provider>com.atlassian.secrets.store.base64.Base64SecretStore</atlassian-password-cipher-provider>
    <password>c2VjcmV0</password>
  5. Jira を再起動します。

パスワードをデコードする

パスワードをデコードする方法。

  1. -m decrypt パラメーターでコマンドを拡張します。

    java -cp "./*" com.atlassian.secrets.cli.db.DbCipherTool -m decrypt
  2. パスワードを求められたら、dbconfig.xml ファイルから暗号化されたパスワードを指定します。

    2023-10-10 04:57:22,330 main INFO [com.atlassian.secrets.DefaultSecretStoreProvider] Initiating secret store class: com.atlassian.secrets.store.base64.Base64SecretStore
    2023-10-10 04:57:22,345 main DEBUG [secrets.store.base64.Base64SecretStore] Initiate Base64Cipher
    2023-10-10 04:57:22,360 main DEBUG [secrets.store.base64.Base64SecretStore] Decrypting data...
    2023-10-10 04:57:22,364 main DEBUG [secrets.store.base64.Base64SecretStore] Decryption done.
    Success! Decrypted password using cipher provider: com.atlassian.secrets.store.base64.Base64SecretStore decrypted password: secret

トラブルシューティング

変更を元に戻す場合...

変更を元に戻すには、dbconfig.xmlファイルから <atlassian-password-cipher-provider> タグを削除し、暗号化されたパスワードをプレーン テキストのパスワードに変更します。

Jira の再起動後にセットアップ画面が開く...

セットアップ画面が表示される場合、Jira はデータベースに接続して構成情報にアクセスすることができていません。これはほとんどの場合、パスワードの復号化時のエラーが原因です。

この問題を解決するには、<Jira_home_directory>/log/atlassian-jira.log を開いて、Reading database configuration from に続く行を確認します。

以下のメッセージが表示される場合があります。

[c.a.j.config.database.DatabaseConfigHandler] Trying to get encrypted password from xml and decrypt it
[c.a.s.store.base64.Base64SecretStore] Runtime Exception thrown when decrypting:

この場合、エラーや使用できる可能性がある解決策についての詳細がメッセージに含まれているため、メッセージの内容をご確認ください。エラーが java.lang.IllegalArgumentException の場合、パスワードを再度暗号化する必要があります。

Jira の再起動後に "Jira had problems starting up" メッセージが開く...

この問題を調べるには、<Jira_home_directory>/log/atlassian-jira.log を開き、Reading database configuration from に続く行を確認します。

以下のメッセージが表示される場合があります。

[c.a.j.config.database.DatabaseConfigHandler] Trying to get encrypted password from xml and decrypt it
[c.a.j.config.database.DatabaseConfigHandler] Database password decryption success!
[c.a.config.bootstrap.DefaultAtlassianBootstrapManager] Could not successfully test your database:

[c.a.jira.health.HealthChecks] JIRA couldn't connect to your database
[c.a.jira.health.HealthChecks] JIRA failed to establish a connection to your database.

これは、Jira がパスワードを正常に復号化したが、パスワード自体が正しくないことを意味します。これは次の手順で確認できます。

  1. dbconfig.xml ファイルを開き、暗号化されたパスワードをコピーします。
  2. パスワードを復号化します
  3. 復号化されたパスワードがバックアップの dbconfig.xml ファイルと同じかどうかを確認します。
最終更新日 2024 年 7 月 11 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.