はじめに
インフラストラクチャをコードとしてデプロイすると、デプロイを自動化し、デプロイに対する信頼度を向上させ、チームの作業効率を向上させることができます。 ただし、これらの利点は、あなたとあなたのチームが熱心であり、環境に手動で変更を加えない場合にのみ適用されます。
このモジュールでは、Azure 環境とパイプラインに構成とガバナンスを適用して、予期しない変更や制御されていない変更を回避する方法について学習します。
Note
パイプラインを表す GitHub Actions の用語は、ワークフローです。 わかりやすくするために、Azure Pipelines のパイプラインと GitHub Actions のワークフローの両方を参照する場合、このモジュールでは全体を通してパイプラインを使用することにします。
シナリオ例
あなたの仕事は、玩具会社の Azure 管理者だとします。 過去数か月間、あなたとあなたのチームは、Bicep を使用するように、ご利用の Azure デプロイを変換してきました。 パイプラインを使用して該当するデプロイ プロセスを自動化しました。 しかし、チームには、すべての変更をコードとしてデプロイするという考え方をまだ採用していないメンバーがいます。
最近、さまざまなプロセスを使用してユーザーが Azure にデプロイされるという状況がいくつかありました。
- 誰かが Azure portal を使用して、Web サイトの構成に直接変更を加えました。
- 誰かが独自のコンピューターから新しい Bicep ファイルを直接デプロイしました。
- 誰かがパイプラインのサービス プリンシパルの資格情報をコピーし、それらを、Azure CLI による運用環境へのアクセスのために使用しました。
- 誰かが、pull request レビューをバイパスして、リポジトリの main ブランチに直接 Bicep ファイルの変更をコミットしました。
- 誰かがプル要求を使用して Bicep ファイルを更新しました。 変更は検証され、テストされ、適切な一連の環境全体にデプロイされました。
これらの手順を次の図に示します。
これらすべての変更のうち、あなたが採用した自動化ツールとあなたのチームが合意したプロセスを通じて導入されたのは 5 つ目の変更のみです。 他のどの変更によってもダメージが生じることはありませんでしたが、欲張りたくはありません。 あなたのチームは、自動化への投資から最大限のメリットを得ることができるように、あなたのプロセスを強制することにしました。 あなたとチームは Azure 環境へのデプロイ機能を終了することを同意しました。ただし、承認されたプロセスを介する場合は例外です。
学習内容
このモジュールでは、Azure インフラストラクチャのデプロイをコードとして適用する方法について学習します。 各環境に適用する必要がある制御を検討し、Azure リソースを保護するためにガバナンスとセキュリティ ポリシーを適用します。 また、Azure 構成のすべての側面が推奨および強化されたプロセスに確実に従うようにすることで、パイプラインとリポジトリをセキュリティで保護するという方法についても学習します。
ヒント
このモジュールでは、多くのセキュリティ機能について説明します。 概要ユニットには、各機能の詳細情報へのリンクが含まれています。
主な目標
このモジュールを終了すると、Azure 環境、リポジトリ、およびパイプラインに適用する必要のあるセキュリティ制御とガバナンスを特定できるようになります。これにより、すべてのインフラストラクチャをコードとしてデプロイできます。
前提条件
次の使用方法について理解している必要があります。
- コードとしてのインフラストラクチャとその利点、および Bicep や Terraform などのテクノロジ。
- Azure (Azure portal、サブスクリプション、リソース グループ、リソースなど)。
- Git を使用して、ブランチやプル要求など、コードを管理します。
- GitHub Actions または Azure Pipelines によるデプロイの自動化。