独自の Cipher の作成

データベースのパスワードを保護する

このページの内容

お困りですか?

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

コミュニティに質問

独自の Cipher を作成することもできます。これは、特定の vault を使用してパスワードを保存する必要がある場合に特に便利です。

前提条件:

  • Maven の基本的な知識
  • Java の知識


ステップ 1: Maven プロジェクトを作成し、API 依存関係を取得

  1. "api" および “base" の依存関係を取得します。
    1. <Jira_installation_directory>/atlassian-jira/WEB-INF/lib に移動します。
    2. 以下の jar ファイルをコピーします。
      • password-cipher-api-<version>.jar: このファイルには API が含まれます。
      • (オプション) password-cipher-base-<version>.jar: このファイルにはサンプル実装が含まれます。 
  2. Maven プロジェクトを作成します。
  3. resources に進み、新しいフォルダ libs. を作成します。
  4. jar ファイルを libs フォルダにコピーします。
  5. その後、以下の pom を使用することができます。 

    <project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    
    <groupId><your_group_ID></groupId>
    <artifactId><your_artifact_ID></artifactId>
    <version><your_version></version>
    
    <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
    
    <repositories>
    <repository>
    <id>local-maven-repo</id>
    <url>file:///${project.basedir}/libs</url>
    </repository>
    </repositories>
    <build>
    <resources>
    <resource>
    <directory>src/main/resources/libs</directory>
    <excludes>
    <exclude>*</exclude>
    </excludes>
    <filtering>false</filtering>
    </resource>
    </resources>
    </build>
    
    <dependencies>
    <dependency>
    <groupId>com.atlassian.db.config</groupId>
    <artifactId>password-cipher-api</artifactId>
    <version><api_version></version>
    <scope>provided</scope>
    </dependency>
    <dependency>
    <groupId>com.atlassian.db.config</groupId>
    <artifactId>password-cipher-base</artifactId>
    <version><base_version></version>
    <scope>provided</scope>
    </dependency>
    </dependencies>
    
    </project>

ステップ 2: Cipher インターフェイスの実装

Cipher インターフェイスには、暗号化と復号化の 2 つのメソッドのみが含まれてます。復号化は Jira の起動中に呼び出されるため、長期実行タスクが起動時間に影響を与える可能性があります。暗号化は暗号化ツールでのみ使用されるため、Jira から呼び出されることはありません。

例として Base64Cipher や AlgorithmCipher を使用できます。 

ステップ 3: 実装のテスト

Base64 エンコーディング」および「AES 暗号化」で説明されている暗号化ツールでは、Jira と同じコードを使用してパスワードを復号化します。これを使用して実装をテストできます。

CLI で jar と同じフォルダにいるとします。

java -cp "./*" com.atlassian.db.config.password.tools.CipherTool -c your.package.here.ClassName

ステップ 4: lib を Jira から利用可能にする

Jira が lib にアクセスできる必要があります。クラスはリフレクションを使用して初期化されます。lib を以下のディレクトリに配置します。

<Jira_installation_directory>/atlassian-jira/WEB-INF/lib

Jira をアップグレードした後で、lib を Jira インストール ディレクトリに再度コピーする必要があります。

最終更新日 2019 年 5 月 20 日

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

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