Azure での安全な開発のベスト プラクティスSecure development best practices on Azure

この一連の記事では、クラウド向けのアプリケーションを開発するときに考慮すべきセキュリティ アクティビティと制御について説明します。This series of articles presents security activities and controls to consider when you develop applications for the cloud. Microsoft セキュリティ開発ライフサイクル (SDL) と、ライフサイクルの各フェーズで考慮すべきセキュリティの質問と概念について説明します。The phases of the Microsoft Security Development Lifecycle (SDL) and security questions and concepts to consider during each phase of the lifecycle are covered. 目標は、ライフサイクルの各フェーズでより安全なアプリケーションの設計、開発、デプロイに使用できるアクティビティと Azure サービスの定義を手助けすることです。The goal is to help you define activities and Azure services that you can use in each phase of the lifecycle to design, develop, and deploy a more secure application.

この記事に記載されている推奨事項は、Azure のセキュリティに関する Microsoft の経験とお客様の経験に基づいています。The recommendations in the articles come from our experience with Azure security and from the experiences of our customers. これらの記事は、開発プロジェクトの特定のフェーズで考慮すべきことの参考として使用できますが、すべての記事を少なくとも一度は最初から最後まで読み終えることをお勧めします。You can use these articles as a reference for what you should consider during a specific phase of your development project, but we suggest that you also read through all of the articles from beginning to end at least once. すべての記事を読むことで、プロジェクトの早い段階で見逃していた可能性のある概念が取り入れられます。Reading all articles introduces you to concepts that you might have missed in earlier phases of your project. 製品をリリースする前にこのような概念を実装すると、安全なソフトウェアを構築し、セキュリティ コンプライアンス要件に対処し、開発コストを削減するために役立ちます。Implementing these concepts before you release your product can help you build secure software, address security compliance requirements, and reduce development costs.

これらの記事は、セキュリティで保護された Azure アプリケーションをビルドしてデプロイするすべてのレベルのソフトウェア設計者、開発者、およびテスター向けのリソースです。These articles are intended to be a resource for software designers, developers, and testers at all levels who build and deploy secure Azure applications.

概要Overview

セキュリティはあらゆるアプリケーションの最も重要な側面の 1 つであり、正しく理解するのは簡単なことではありません。Security is one of the most important aspects of any application, and it’s not a simple thing to get right. さいわいなことに、Azure には、クラウド内のアプリケーションをセキュリティで保護するのに役立つ多くのサービスがあります。Fortunately, Azure provides many services that can help you secure your application in the cloud. これらの記事では、より安全なコードの開発とより安全なアプリケーションのクラウドへのデプロイを支援する、ソフトウェア開発ライフサイクルの各段階で実装できるアクティビティと Azure サービスについて説明しています。These articles address activities and Azure services you can implement at each stage of your software development lifecycle to help you develop more secure code and deploy a more secure application in the cloud.

セキュリティ開発ライフサイクルSecurity development lifecycle

安全なソフトウェア開発のためのベスト プラクティスに従うには、プロジェクトの方法論 (ウォーターフォールアジャイル、または DevOps) に関係なく、要件分析からメンテナンスまでのソフトウェア開発ライフサイクルの各フェーズにセキュリティを組み込む必要があります。Following best practices for secure software development requires integrating security into each phase of the software development lifecycle, from requirement analysis to maintenance, regardless of the project methodology (waterfall, agile, or DevOps). 注目を浴びるデータ侵害や運用上のセキュリティの欠陥の悪用があった今、開発プロセス全体を通してセキュリティに対処する必要があることを理解している開発者が増えています。In the wake of high-profile data breaches and the exploitation of operational security flaws, more developers are understanding that security needs to be addressed throughout the development process.

開発ライフサイクルでの問題の解決が遅くなるほど、その修正にかかるコストが増えます。The later you fix a problem in your development lifecycle, the more that fix will cost you. セキュリティの問題も例外ではありません。Security issues are no exception. ソフトウェア開発の初期フェーズでセキュリティの問題を無視すると、前のフェーズの脆弱性がその後の各フェーズに継承される可能性があります。If you disregard security issues in the early phases of your software development, each phase that follows might inherit the vulnerabilities of the preceding phase. さまざまなセキュリティの問題と侵害の可能性が、最終製品に累積されることになります。Your final product will have accumulated multiple security issues and the possibility of a breach. 開発ライフサイクルの各フェーズにセキュリティを組み込むことで、問題を早い段階でキャッチでき、開発コストを削減することができます。Building security into each phase of the development lifecycle helps you catch issues early, and it helps you reduce your development costs.

ライフサイクルの各フェーズで安全なソフトウェア開発のプラクティスの実現に使用できるアクティビティと Azure サービスを、Microsoft セキュリティ開発ライフサイクル (SDL) のフェーズに従って紹介します。We follow the phases of the Microsoft Security Development Lifecycle (SDL) to introduce activities and Azure services that you can use to fulfill secure software development practices in each phase of the lifecycle.

SDL フェーズは次のとおりです。The SDL phases are:

  • トレーニングTraining
  • 必要条件Requirements
  • デザインDesign
  • 実装Implementation
  • 検証Verification
  • ReleaseRelease
  • ResponseResponse

セキュリティ開発ライフサイクル

これらの記事では、SDL フェーズを設計、開発、デプロイにグループ分けしています。In these articles we group the SDL phases into design, develop, and deploy.

組織のセキュリティ チームに参加させるEngage your organization’s security team

組織には、開発ライフ サイクルの最初から最後までのセキュリティ アクティビティを支援する正式なアプリケーション セキュリティ プログラムがある場合があります。Your organization might have a formal application security program that assists you with security activities from start to finish during the development lifecycle. 組織にセキュリティとコンプライアンスのチームがある場合は、アプリケーションの開発を開始する前に必ずそれらのチームに参加させてください。If your organization has security and compliance teams, be sure to engage them before you begin developing your application. SDL の各フェーズで、見逃したタスクがないかどうかをチームに確認してください。Ask them at each phase of the SDL whether there are any tasks you missed.

多くの読者には参加させるセキュリティまたはコンプライアンスのチームがない可能性があることは理解しています。We understand that many readers might not have a security or compliance team to engage. これらの記事は、SDL の各フェーズで考慮する必要のあるセキュリティの質問と決定の際のガイダンスとして役立ちます。These articles can help guide you in the security questions and decisions you need to consider at each phase of the SDL.

リソースResources

次のリソースを使用すると、セキュリティで保護されたアプリケーションの開発の詳細を確認でき、Azure 上のアプリケーションを保護することができます。Use the following resources to learn more about developing secure applications and to help secure your applications on Azure:

Microsoft セキュリティ開発ライフサイクル (SDL) – SDL は、Microsoft が提供するソフトウェア開発プロセスであり、開発者がより安全なソフトウェアを構築するのに役立ちます。Microsoft Security Development Lifecycle (SDL) – The SDL is a software development process from Microsoft that helps developers build more secure software. これにより、開発コストを削減しながら、セキュリティ コンプライアンス要件に対応することができます。It helps you address security compliance requirements while reducing development costs.

Open Web Application Security Project (OWASP) – OWASP は、自由に利用できる Web アプリケーションのセキュリティの分野の記事、方法論、ドキュメント、ツール、およびテクノロジを作り出しているオンライン コミュニティです。Open Web Application Security Project (OWASP) – OWASP is an online community that produces freely available articles, methodologies, documentation, tools, and technologies in the field of web application security.

Pushing Left, Like a Boss – 開発者がより安全なコードを作成するために実行する必要のあるさまざまな種類のアプリケーションのセキュリティ アクティビティの概要を説明する、一連のオンライン記事です。Pushing Left, Like a Boss – A series of online articles that outlines different types of application security activities that developers should complete to create more secure code.

Microsoft ID プラットフォーム – Microsoft ID プラットフォームは、Azure ADD サービスおよび開発者プラットフォームの進化版です。Microsoft identity platform – The Microsoft identity platform is an evolution of the Azure AD identity service and developer platform. これは多彩な機能を備えたプラットフォームであり、認証サービス、オープン ソース ライブラリ、アプリケーションの登録と構成、完全な開発者向けドキュメント、サンプル コード、およびその他の開発者向けコンテンツによって構成されています。It’s a full-featured platform that consists of an authentication service, open-source libraries, application registration and configuration, full developer documentation, code samples, and other developer content. Microsoft ID プラットフォームでは、OAuth 2.0 や OpenID Connect など業界標準のプロトコルがサポートされています。The Microsoft identity platform supports industry-standard protocols like OAuth 2.0 and OpenID Connect.

Azure ソリューションのセキュリティに関するベスト プラクティス – Azure を利用してクラウド ソリューションを設計、デプロイ、管理するときに使用するセキュリティのベスト プラクティスのコレクション。Security best practices for Azure solutions – A collection of security best practices to use when you design, deploy, and manage cloud solutions by using Azure. このドキュメントは、IT プロフェッショナル向けに用意されています。This paper is intended to be a resource for IT pros. これには、セキュリティで保護された Azure ソリューションの構築とデプロイを行う設計者、アーキテクト、開発者、テスト担当者が含まれます。This might include designers, architects, developers, and testers who build and deploy secure Azure solutions.

Azure のセキュリティとコンプライアンスのブループリント – Azure のセキュリティとコンプライアンスのブループリントは、厳重な規制と基準に準拠するクラウドの機能を活用したアプリケーションの構築と起動に役立ちます。Security and Compliance Blueprints on Azure – Azure Security and Compliance Blueprints are resources that can help you build and launch cloud-powered applications that comply with stringent regulations and standards.

次のステップNext steps

次の記事では、セキュリティで保護されたアプリケーションを設計、開発、およびデプロイするのに役立つセキュリティ制御とアクティビティが推奨されています。In the following articles, we recommend security controls and activities that can help you design, develop, and deploy secure applications.