秘密
シークレットは特定のタイプの環境変数です。それらはbitrise.ymlに表示されず、その値はビルドログに公開されません。
シークレットは特定のタイプの環境変数です。シークレットは暗号化された形式で情報を非表示にし、その値はビルドログに公開されません。それらはに表示されません bitrise.yml
構成のいずれか。パスワードやAPIキーなどの機密情報をシークレットとして保存できます。
環境変数と同様に、シークレットはステップ入力の値として使用できます。 ステップ入力でのEnv変数の使用
敏感な入力
としてマークされた入力フィールド センシティブ シークレットのみを入力として受け入れます。通常、これらの入力の値を変更することはお勧めしません。
秘密を設定する
すべてのEnvVar値は文字列です
環境変数またはシークレットの値は文字列のみにすることができます。数値(たとえば7)を設定しても、文字列として渡されます。
$文字を使用する
あなたは使用することができます $
Env VarまたはSecretの値(パスワードなど)に文字が含まれていますが、その場合は常に 入力の変数を置き換えますか? 非アクティブに切り替えます。変数のキーを入力の値に置き換えると、Bitrise CLIはその値を別の環境変数として扱います。これは、 $
キャラクター。
ワークフローエディタのグラフィカルUIで新しいシークレットを作成する方法は2つあります。最初の手順では、[シークレット]タブを使用しています。
-
でアプリを開きます ビットライズ。
-
クリック ワークフロー メインページのボタン。
-
[ワークフローとパイプライン] ページでは、次のことができます。
-
クリック bitrise.yml を編集する にアクセスするためのボタン ビットライズ.yml ワークフローエディターのタブ。
-
クリック
ワークフロー名の横にある ボタンをクリックして、ワークフロー エディターでワークフローを開きます。
-
-
に移動します 秘密 タブ。
-
クリック 新しく追加する ボタン。
-
EnvVarキーをに入力します 鍵 入力フィールドと値を 価値 入力フィールド。
リクエストをプルするためのシークレットの公開
値の下に、 プルリクエストを公開しますか? トグル。デフォルトでは、シークレットはプルリクエストに公開されていません。しないことを強くお勧めします シークレットをプルリクエストに公開する ほとんどの場合。
入力の変数を置き換える
すべての環境変数には、
is_expand
財産。 UI では、これは次のように表されます。 入力内の変数を置き換えますか? トグル。そうでない限り、これを有効にすることはお勧めしません。 環境変数またはシークレットの値が別の環境変数またはシークレットです。このオプションを切り替えると、Env Varのキーの代わりに、EnvVarの値がビルドに渡されます。通常、これは必要ありません。
新しい環境変数を直接追加する場合は、
bitrise.yml
ファイルを設定しないでください。is_expand
プロパティのデフォルト値は次のようになりますtrue
。明示的に設定することをお勧めしますis_expand
この場合:envs: - opts: is_expand: false KEY: VALUE
-
シークレットの下の右側で、 保存する ボタン。
もう1つの方法は、ステップ入力値を変更するときにシークレットを作成することです。これは、ステップ入力が次のようにマークされている場合にのみ実行できます。 センシティブ。機密性の高い入力はシークレットのみを受け入れるため、リストから既存のシークレットを選択するか、新しいシークレットを作成できます。
-
でアプリを開きます ビットライズ。
-
クリック ワークフロー メインページのボタン。
-
[ワークフローとパイプライン] ページでは、次のことができます。
-
クリック bitrise.yml を編集する にアクセスするためのボタン ビットライズ.yml ワークフローエディターのタブ。
-
クリック
ワークフロー名の横にある ボタンをクリックして、ワークフロー エディターでワークフローを開きます。
-
-
ワークフローを選択し、構成するステップを見つけます。
-
変更する機密入力を見つけます。
-
入力フィールドをクリックします。
-
下 新しいシークレット環境変数を作成する ラベルを付けて、新しいシークレットのキーと値を指定します。
リクエストをプルするためのシークレットの公開
値の下に、 プルリクエストを公開しますか? トグル。デフォルトでは、シークレットはプルリクエストに公開されていません。しないことを強くお勧めします シークレットをプルリクエストに公開する ほとんどの場合。
入力の変数を置き換える
すべての環境変数には、
is_expand
財産。 UI では、これは次のように表されます。 入力内の変数を置き換えますか? トグル。そうでない限り、これを有効にすることはお勧めしません。 環境変数またはシークレットの値が別の環境変数またはシークレットです。このオプションを切り替えると、Env Varのキーの代わりに、EnvVarの値がビルドに渡されます。通常、これは必要ありません。
新しい環境変数を直接追加する場合は、
bitrise.yml
ファイルを設定しないでください。is_expand
プロパティのデフォルト値は次のようになりますtrue
。明示的に設定することをお勧めしますis_expand
この場合:envs: - opts: is_expand: false KEY: VALUE
-
クリック 新しく追加する ボタン。
既存のシークレットの編集
新しいシークレットEnvVarを追加したら 秘密 タブをクリックすると、いつでも戻ってきたり、コンテンツを変更したり、好奇心旺盛な目から保護したりできます。
-
でアプリを開きます ビットライズ。
-
クリック ワークフロー メインページのボタン。
-
[ワークフローとパイプライン] ページでは、次のことができます。
-
クリック bitrise.yml を編集する にアクセスするためのボタン ビットライズ.yml ワークフローエディターのタブ。
-
クリック
ワークフロー名の横にある ボタンをクリックして、ワークフロー エディターでワークフローを開きます。
-
-
に移動します 秘密 タブ。
-
クリック 編集 あなたの秘密の価値の隣。
-
必要に応じてコンテンツを変更します。
-
シークレットの下の右側で、 保存する ボタン。
秘密の価値を守る
通常、あなたはすることができます 見せる と 隠れる をクリックしてシークレットの値 目 アイコン。この機能は、秘密のenv変数のリストが長い場合に便利です。 秘密 そして、他の値を非表示にしたまま、1つのシークレットの値のみをチェックしたいとします。値が非表示の場合、その値は 消した目 アイコン。
ただし、シークレットを保護することで、シークレットの値を永続的に非表示にすることができます。そうすると、自分自身を含め、誰も値を変更したり、値を再度表示したりすることができなくなります。
シークレットの保護は元に戻せません
シークレットを保護することは元に戻せません。値を変更する必要がある場合は、シークレットを削除して新しいシークレットを作成する必要があります。
-
でアプリを開きます ビットライズ。
-
クリック ワークフロー メインページのボタン。
-
[ワークフローとパイプライン] ページでは、次のことができます。
-
クリック bitrise.yml を編集する にアクセスするためのボタン ビットライズ.yml ワークフローエディターのタブ。
-
クリック
ワークフロー名の横にある ボタンをクリックして、ワークフロー エディターでワークフローを開きます。
-
-
に移動します 秘密 タブ。
-
クリック 編集 あなたの秘密の価値の隣。
-
クリック 保護する。
-
ポップアップウィンドウは、プロセスが元に戻せないことを警告します。クリック 保護する。
それでおしまい。シークレットの価値を表示することはできなくなりました。
リクエストをプルするためのシークレットの公開
デフォルトでは、プルリクエストはシークレットの値にアクセスできません。これは、リポジトリのフォークから開かれたプルリクエストがビルドをトリガーした場合、そのビルドはアプリのシークレットを使用できないことを意味します。
プルリクエストビルドに特定のシークレットへのアクセスを許可する必要がある場合は、そのシークレットをプルリクエストに公開できます。ただし、公開されている場合でも、その値はログに表示されません。[編集済み]として表示されます。
保護された秘密は公開できません
秘密がされたら 保護された、プルリクエストビルドに公開することはできません。
公開アプリ
アプリが公開アプリの場合、アプリのシークレットをプルリクエストビルドに公開することはできません。
-
でアプリを開きます ビットライズ。
-
クリック ワークフロー メインページのボタン。
-
[ワークフローとパイプライン] ページでは、次のことができます。
-
クリック bitrise.yml を編集する にアクセスするためのボタン ビットライズ.yml ワークフローエディターのタブ。
-
クリック
ワークフロー名の横にある ボタンをクリックして、ワークフロー エディターでワークフローを開きます。
-
-
に移動します 秘密 タブ。
-
クリック 編集 あなたの秘密の価値の隣。
-
トグル プルリクエストを公開しますか? トグル。
シークレットが公開されると、プルリクエストビルドがシークレットにアクセスできるようになります。
中央の場所からの秘密の管理
デフォルトでは、すべてのシークレットはアプリレベルで処理されます。対応する値がアプリごとに異なる場合でも、複数のBitriseアプリでシークレットキーを再利用できます。
ただし、すべてのアプリに同じ値を保持するシークレットを設定し、そのシークレットを1つの場所から管理することは可能です。たとえば、すべてのアプリが同じAPIにアクセスする必要がある場合、APIキーを含むシークレットを中央の場所に保存することは理にかなっています。 APIキーが変更された場合は、その1つの場所で変更するだけで、変更はすべてのBitriseアプリに適用されます。
このようなシークレット(または複数のシークレット)を設定するには、次の2つのことが必要です。
-
シークレットを保存するための中央のボールトまたはデータベース(HashiCorpやDopplerなど)。 CLI経由でアクセスできる必要があります。
-
NS 脚本 中央のボールト/データベースにアクセスする手順を実行し、シークレットをプルして、Bitriseで機密に設定します。
新しいシークレットを作成し、ビルド中に中央の場所に保存するには:
-
シークレットを保存するボールトまたはデータベースに、キーと値のペアとして追加します。
-
追加する 脚本 シークレットを使用するすべてのワークフローに進みます。
-
ボールトにアクセスしてシークレットをプルするために必要なコマンドを追加します。正確なコマンドは、使用しているサービスによって異なります。
-
使用
envman
シークレットを機密としてマークするツール。 envmanツールの構文は次のとおりです。envman add --key KEY --value value --sensitive
。 -
ステップでビルドログにシークレットの値が表示されていないことを確認してください。これを行うには、削除します
set -x
ステップからcontent
。
秘密の編集
シークレットの編集をオフにしている場合、シークレットは編集されないため、その値は引き続きログに表示されることに注意してください。
あなたが持っているとしましょう HashiCorp Vault と呼ばれるインスタンス secret/hello
。このボールトインスタンスには2つのシークレットがあります。 foo
値で world
と foo2
値で world2
。 Bitriseビルドでこれらのシークレットを使用するには、次のことを行う必要があります。
-
Vaultインスタンスからそれらをエクスポートします。
-
それらを繰り返し処理し、両方を機密としてマークします。
このスクリプトを使用して、次の両方を実現できます。
# Exporting the Secrets vault kv get --format=json secret/hello | jq -r '.data.data | to_entries[] | [.key, .value] | @tsv' | # Iterating over the Secrets and marking them as sensitive while IFS=$'\t' read -r key value; do envman add --key "$key" --value "$value" --sensitive done
秘密の編集
Bitrise CLIは、Secret EnvVarsを自動的に編集して印刷します [REDACTED]
キーの後に改行を入れて、ビルドログにシークレット環境変数が表示されないようにします。これは、プライベートアプリとパブリックアプリの両方に適用されます。
シークレットをログに表示する必要がある場合でも、いつでもこれをオフにすることができます。
警告
これは潜在的なセキュリティリスクです。シークレット編集をオフにしないことを強くお勧めします。
-
でアプリを開きます ビットライズ。
-
クリック ワークフロー メインページのボタン。
-
[ワークフローとパイプライン] ページでは、次のことができます。
-
クリック bitrise.yml を編集する にアクセスするためのボタン ビットライズ.yml ワークフローエディターのタブ。
-
クリック
ワークフロー名の横にある ボタンをクリックして、ワークフロー エディターでワークフローを開きます。
-
-
に移動します 秘密 タブ。
-
クリック 新しく追加する 登録するには
BITRISE_SECRET_FILTERING
偽の値を持つ秘密の環境変数。 -
クリック 保存する 右上隅にあります。