セキュア ファイルの使用

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018

セキュア ファイルを使うと、パイプライン間で共有できるファイルを格納できます。 セキュア ファイル ライブラリを使って、次のようなファイルを格納します。

  • 署名証明書
  • Apple プロビジョニング プロファイル
  • Android キーストア ファイル
  • SSH キー

これらのファイルはサーバーに格納でき、リポジトリにコミットする必要はありません。

セキュア ファイルの内容は暗号化され、タスクから使うときにのみ使用できます。 セキュア ファイルは保護されたリソースです。 承認とチェックを追加し、パイプラインのアクセス許可を設定できます。 セキュア ファイルでは、ライブラリ セキュリティ モデルを使うこともできます。

各セキュア ファイルのサイズの上限は 10 MB です。

Note

Microsoft Visual Studio Team Foundation Server 2018 以前のバージョンでは、名前付けに次の違いがあります。

  • ビルドとリリースのためのパイプラインはビルドとリリースのためのパイプラインです。そしてそれらは定義と呼ばれます。
  • 実行ビルドと呼ばれます。
  • サービス接続サービスエンドポイントと呼ばれます。
  • ステージ環境と呼ばれます
  • ジョブは(フェーズと呼ばれます。

セキュア ファイルを追加する

  1. [パイプライン]>[ライブラリ]>[セキュア ファイル] に移動します。

    Select the Secure Files tab.

  2. [セキュア ファイル] を選んで、新しいセキュア ファイルをアップロードします。 参照してファイルをアップロードするかドラッグ アンド ドロップします。 このファイルは削除できますが、置き換えることはできません。

    Upload your file.

  3. ファイルにアクセス許可を追加します。

    1. [パイプライン]>[ライブラリ][セキュリティ] タブから、すべてのファイルにセキュリティ ロールの制限を適用します。
    2. 個々のファイルのアクセス許可を追加するには、ファイルの編集ビューで [パイプラインのアクセス許可] を選んで、パイプラインごとのアクセス許可を設定します。 または、[セキュリティ] を選択してセキュリティ ロールを設定します。
      • ファイルに [承認とチェック] を設定することもできます。 詳しくは、承認とチェックに関する記事をご覧ください。

    Set Pipeline security for secure files.

パイプラインでセキュア ファイルを使用する

パイプラインでセキュア ファイルを使うには、セキュア ファイルのダウンロード ユーティリティ タスクを使います。

次の YAML パイプラインの例では、セキュリティで保護された証明書ファイルをダウンロードして、Linux 環境にインストールします。

- task: DownloadSecureFile@1
  name: caCertificate
  displayName: 'Download CA certificate'
  inputs:
    secureFile: 'myCACertificate.pem'

- script: |
    echo Installing $(caCertificate.secureFilePath) to the trusted CA directory...
    sudo chown root:root $(caCertificate.secureFilePath)
    sudo chmod a+r $(caCertificate.secureFilePath)
    sudo ln -s -t /etc/ssl/certs/ $(caCertificate.secureFilePath)

よく寄せられる質問

Q: セキュア ファイルを使ってカスタム タスクを作成するにはどうすればよいですか?

A: task.jsonsecureFile 型の入力を使うことで、セキュア ファイルを使う独自のタスクをビルドします。 カスタム タスクをビルドする方法についてはこちらをご覧ください

Apple プロビジョニング プロファイルのインストール タスクは、セキュア ファイルを使うタスクの簡単な例です。 リファレンス ドキュメントソース コードをご覧ください。

ビルドまたはリリースの間のセキュア ファイルの処理については、こちらにある一般的なモジュールをご覧ください。

Q: 自分のタスクでセキュア ファイルにアクセスできません。 どうすればよいですか。

A: エージェントが 2.116.0 以降のバージョンを実行していることを確認します。 「エージェントのバージョンとアップグレード」をご覧ください。

Q: 特定のパイプラインで使うためにセキュア ファイルを承認するにはどうすればよいです?

A:

  1. Azure Pipelines で、[ライブラリ] タブを選びます。
  2. 上部にある [セキュア ファイル] タブを選びます。
  3. 承認するセキュア ファイルを選びます。
  4. [パイプラインのアクセス許可] ボタンを選びます。
  5. 利用できる各パイプラインのアクセス権を確認して変更します。

Q: Azure DevOps Server と TFS オンプレミスでセキュア ファイルをダウンロードするときに Invalid Resource エラーが表示されるのはなぜですか?

A: TFS または Azure DevOps Server で IIS 基本認証が無効になっていることを確認します。

Q: セキュア ファイルはどのようにセキュリティ保護されますか?

A: セキュア ファイル、変数グループ、サービス接続はすべて、Azure DevOps で同じ方法でセキュリティ保護されます。 これらはすべて保護されたリソースでもあります。

シークレットは暗号化されてデータベースに格納されます。 シークレットを解読するためのキーは、Azure Key Vault に格納されます。 キーは、スケール ユニットごとに固有です。 そのため、同じキーが 2 つのリージョンで共有されることはありません。 また、キーは、Azure DevOps のデプロイのたびにローテーションされます。

セキュリティ保護されたキーを取得するための権限は、Azure DevOps サービス プリンシパルと、(特別な場合に) 問題を診断するためにオンデマンドでのみ付与されます。 セキュリティ保護されたストレージにはどのような認定もありません。

Azure Key Vault は、機密情報をセキュリティで保護するための、もう 1 つのいっそう安全なオプションです。 Azure Key Vault を使う場合は、変数グループで使うことができます。