セキュア ファイルの使用

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

この記事では、セキュリティで保護されたファイルと、それらを Azure Pipelines で使用する方法について説明します。 セキュリティで保護されたファイルは、リポジトリにコミットせずにパイプラインで使用できるファイルを保存する方法です。

セキュア ファイル ライブラリを使って、次のようなファイルを格納します。

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

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

セキュリティで保護されたファイルは暗号化された形式でサーバーに保存され、パイプライン タスクからのみ使用できます。 セキュア ファイルは保護されたリソースです。 承認、チェック、パイプラインのアクセス許可を使用して、ファイルへのアクセスを制限できます。 セキュリティで保護されたファイルでは、ライブラリ セキュリティ モデル ロールを使うこともできます。

前提条件

  • パイプラインを作成し、ライブラリ項目を追加するアクセス許可を持つ Azure DevOps プロジェクト。
  • パイプラインで安全に使用する証明書、キーストア、またはプロビジョニング ファイル。

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

  1. Azure DevOps プロジェクトで、[パイプライン]>[ライブラリ] に移動し、[セキュリティで保護された ] タブを選択します。

    [セキュリティで保護されたファイル] タブを選択しているスクリーンショット。

  2. セキュリティで保護されたファイルをアップロードするには、[ + セキュリティで保護されたファイル] を選択し、ファイルを参照してアップロードまたはドラッグ アンド ドロップします。

    ファイルをアップロードしているスクリーンショット。

  3. [OK] を選択します。 ファイルをアップロードすると、ファイルを削除することはできますが、置き換えることはできません。

セキュリティ、ロール、アクセス許可を定義する

ライブラリ内のすべての項目、または個々の項目に対して、セキュリティ ロールの制限とアクセス許可を定義できます。

  • ライブラリ内のすべての項目にセキュリティ ロールを割り当てるには、[ライブラリ] ページで [セキュリティ] を選択します。

  • 個々のファイルのアクセス許可を定義するには:

    1. [セキュリティで保護されたファイル] の一覧からファイルを選択します。
    2. [セキュリティで保護されたファイル] ページの上部で、次を選択します。
      • [セキュリティ] で、ファイルにアクセスできるユーザーとセキュリティ ロールを設定します。
      • [パイプラインのアクセス許可] で、ファイルにアクセスできる YAML パイプラインを選択します。
      • [承認とチェック] で、ファイルを使用するための承認者やその他のチェックを設定します。 詳しくは、承認とチェックに関する記事をご覧ください。

    セキュリティで保護されたファイルのパイプライン セキュリティを設定します。

セキュリティで保護されたファイルを使用するように YAML パイプラインを承認する

YAML パイプラインでセキュリティで保護されたファイルを使用するには、ファイルを使用するパイプラインを承認する必要があります。 すべてのクラシック パイプラインは、セキュリティで保護されたファイルにアクセスできます。

パイプラインまたはすべてのパイプラインにセキュリティで保護されたの使用を承認するには:

  1. セキュリティで保護されたファイルのページの上部にある [パイプラインのアクセス許可] を選択します。
  2. [パイプラインのアクセス許可] 画面で、+ を選択してから、承認するプロジェクト パイプラインを選択します。 または、ファイルを使用するすべてのパイプラインを承認するには、[その他のアクション] アイコンを選択し、[アクセスを開く] を選択して、もう一度 [アクセスを開く] を選択して確認します。

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

パイプラインでセキュリティで保護されたファイルを使用するには、[セキュリティで保護されたファイルのダウンロード] ユーティリティ タスクを使用します。 パイプライン エージェントは、バージョン 2.182.1 以降を実行している必要があります。 詳細については、「エージェントのバージョンとアップグレード」をご覧ください。

次の 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)

Note

オンプレミスの Azure DevOps Server を使用してセキュリティで保護されたファイルをダウンロードするときに Invalid Resource エラーが表示される場合は、[IIS 基本認証] がサーバーで無効になっていることを確認します。