DevOps および継続的インテグレーション/継続的デプロイメント (CI/CD) のための Azure セキュリティのベスト プラクティス

概要

DevOps と CI/CD は、ソフトウェア配信の速度、品質、信頼性の向上に役立ちます。 ただし、これらの実践では新たなセキュリティ リスクも生じます。 この記事では、Azure DevOps 環境を保護し、アプリケーションを攻撃から保護するのに役立つ、DevOps と CI/CD の Azure セキュリティのベスト プラクティスについて説明します。

継続的なテスト

CI/CD では、コードを配信するだけでなく、シフトレフト テストを使用し、継続的なテスト戦略を開発することもできます。 テストを作業に必要な手順にすることで、CI/CD パイプラインを使用して環境にリリースをデプロイする前にセキュリティを検証する方法を見つけることができます。

アクセス権限を制限する

ユーザーとアプリケーションには、ジョブを実行するために必要な最小限のアクセス許可のみを与えます。 権限の再設定には、API キーの非表示や、CI/CD ツールのロールとプロジェクトに基づいたセキュリティ認証情報の明確な定義が含まれます。 ロールベースのアクセス制御 (RBAC) を使用すると、Azure DevOps で誰が何にアクセスできるかを制御できる強力なツールになるため、これに役立ちます。 これにより、プロセスが簡素化され、Azure DevOps リソースへの不正アクセスのリスクが軽減されます。 

ネットワークを保護する

これには、特定の IP アドレスを制限する許可リストの設定、常に暗号化の使用、および証明書の検証が含まれます。 また、 Webアプリケーションファイアウォール(WAF) Azure DevOps との間で送受信される悪意のある Web ベースのトラフィックをフィルタリング、監視、ブロックします。 を実装することも非常に重要です。 インシデント管理プロセス.

導入資格情報を保護する

ハードコーディングされた資格情報とシークレットは、パイプラインまたはソース リポジトリに存在しないでください。 代わりに、Azure Key Vault などの安全な場所に保管する必要があります。 さらに、パイプラインは、独自のパスワードではなく、マネージド ID やサービス プリンシパルなどのヘッドレス セキュリティ プリンシパルを使用して操作する必要があります。

まとめ

結論として、この記事のベスト プラクティスに従うことで、ソフトウェアを早期かつ継続的に安全に配信できるようになります。 そうすることで、Azure DevOps 環境のセキュリティを強化できます。