Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022
リソースは、パイプラインの外部に存在するパイプラインによって使用されるあらゆるものです。
リソースには、次の利点があります。
- セキュリティで保護されたファイルやパスワードなどをパイプライン間で 共有 する方法。
- リソースを共有に使用する例としては、変数グループ、セキュリティで保護されたファイル、サービス接続があります。 いずれの場合も、パイプラインが何かにアクセスして使用するための方法としてリソースを使用しています。
- アクセス チェックやその他の制限を使用して セキュリティ を強化するためのツール。
- たとえば、サービス接続を 1 つのパイプラインでのみ実行するように制限できます。 また、手動承認チェックの後にのみ、パイプラインからリポジトリにアクセスできるようにすることもできます。
- パイプラインの 追跡可能性 を向上させ、 環境のトラブルシューティングを容易にする方法。
- たとえば、 環境にデプロイされた最後の実行の数を確認できます。
パイプライン間でリソースを共有する
パイプライン UI 内でリソースを構成して、パイプライン間でリソースを共有します。 次に、タスク内のリソースを参照します。
resources YAML パイプライン構文を使用して、一部の共有リソースにアクセスすることもできます。
パイプライン UI とリソースを共有する例としては、 セキュリティで保護されたファイル、 変数グループ、 サービス接続などがあります。
resources構文では、パイプライン自体、リポジトリ、パッケージへのアクセスが例として挙げられます。
パイプラインでリソースを使用する方法は、パイプラインの種類とリソースの種類によって異なります。
YAML パイプラインの場合:
- サービス接続とセキュリティで保護されたファイルは、タスクへの入力として直接使用され、事前に宣言する必要はありません。
- 変数グループでは、
group構文が使用されます。 - パイプラインとリポジトリでは、
resources構文が使用されます。
たとえば、パイプラインで変数グループを使用するには、 Pipelines>Library に変数を追加します。 その後、 variables 構文を使用して、YAML パイプライン内の変数グループを参照できます。
variables:
- group: my-variable-group
resources構文を使用してパイプラインから 2 番目のパイプラインを呼び出すには、pipelinesを参照します。
resources:
pipelines:
- pipeline: SmartHotel-resource # identifier for the resource (used in pipeline resource variables)
source: SmartHotel-CI # name of the pipeline that produces an artifact
リソースを使用してセキュリティを強化する
リソースを使用する方法と、承認されていないアクセスを防ぐ方法を特定することで、リソースを使用してパイプラインのセキュリティを強化できます。
YAML パイプラインの場合のみ、リソースを 保護済みまたはオープンとして設定します。 リソースが保護されている場合は、承認とチェックを適用して、特定のユーザーと YAML パイプラインへのアクセスを制限できます。 保護されたリソースには、サービス接続、エージェント プール、環境、リポジトリ、変数グループ、セキュリティで保護されたファイルが含まれます。
| リソース | どのように使用されますか? | 意図しないパイプラインでこれを使用できないようにするにはどうすればよいですか? |
|---|---|---|
| サービス接続 | サービス接続を入力として使用する YAML ファイル内のタスクによって消費されます。 | チェックやパイプライン権限で保護されています。 チェックとパイプラインのアクセス許可は、サービス接続ユーザーによって制御されます。 リソース所有者は、サービス接続にアクセスできるパイプラインを制御できます。 また、パイプラインのアクセス許可を使用して、特定の YAML パイプラインとすべてのクラシック パイプラインへのアクセスを制限することもできます。 |
| 変数グループ内のシークレット変数 | パイプラインまたはジョブで変数グループを使用するための特別な構文が存在します。 変数グループは、サービス接続のように追加されます。 | チェックやパイプライン権限で保護されています。 チェックとパイプラインのアクセス許可は、変数グループ ユーザーによって制御されます。 リソース所有者は、変数グループにアクセスできるパイプラインを制御できます。 また、パイプラインのアクセス許可を使用して、特定の YAML パイプラインとすべてのクラシック パイプラインへのアクセスを制限することもできます。 |
| ファイルをセキュリティで保護する | セキュリティで保護されたファイルは、タスクによって使用されます (例: セキュリティで保護されたファイルのダウンロード タスク)。 | チェックやパイプライン権限で保護されています。 チェックとパイプラインのアクセス許可は、セキュリティで保護されたファイル ユーザーによって制御されます。 リソース所有者は、セキュリティで保護されたファイルにアクセスできるパイプラインを制御できます。 また、パイプラインのアクセス許可を使用して、特定の YAML パイプラインとすべてのクラシック パイプラインへのアクセスを制限することもできます。 |
| エージェント プール | エージェント プールを使用してジョブを実行するための特別な構文があります。 | チェックやパイプライン権限で保護されています。 チェックとパイプラインのアクセス許可は、エージェント プール ユーザーによって制御されます。 リソース所有者は、エージェント プールにアクセスできるパイプラインを制御できます。 また、パイプラインのアクセス許可を使用して、特定の YAML パイプラインとすべてのクラシック パイプラインへのアクセスを制限することもできます。 |
| 環境 | YAML で環境を使用するための特別な構文があります。 | 環境ユーザーによって制御されるチェックとパイプラインのアクセス許可で保護されます。 パイプラインのアクセス許可を使用して、特定の環境へのアクセスを制限することもできます。 |
| リポジトリ | ジョブ アクセス トークンがリポジトリにアクセスできる場合、スクリプトはリポジトリを複製できます。 | リポジトリの共同作成者によって制御されるチェックとパイプラインのアクセス許可で保護されます。 リポジトリ所有者は所有権を制限できます。 |
| アーティファクト, 作業項目, パイプライン | パイプライン成果物 はリソースですが、 Azure Artifacts はリソースではありません。 ジョブ アクセス トークンがフィードにアクセスできる場合、スクリプトは成果物をダウンロードできます。 パイプライン成果物は、リソース セクションでリソースとして宣言できます。これは、主に、新しい成果物が使用可能になったときにパイプラインをトリガーする目的、またはパイプラインでその成果物を使用するためです。 | 成果物と作業項目には、独自のアクセス許可コントロールがあります。 フィードに対するチェックやパイプラインのアクセス許可はサポートされていません。 |
| コンテナー、 パッケージ、 webhook | これらは Azure DevOps エコシステムの外部に住んでおり、アクセスはサービス接続によって制御されます。 YAML パイプラインで 3 つの型すべてを使用するための特別な構文があります。 | サービス接続ユーザーによって制御されるチェックとパイプラインのアクセス許可で保護されます。 |
追跡可能性のためにリソースを使用する
環境では、次のリソースの種類がサポートされています。
次のステップ
パイプライン にリソースを追加する
関連記事
- 変数の定義
- 変数グループの追加と使用
- セキュリティで保護されたファイル を使用する
- Azure Pipelines 用ライブラリ