Share via


コンポーネント、用語、および主要な概念

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

Azure DevOps Serverを効果的にデプロイおよび管理するには、そのしくみを理解し、他のデプロイ コンポーネントと通信する必要があります。 Azure DevOps 管理者は、Windows 認証、ネットワーク プロトコルとトラフィック、および Azure DevOps がインストールされているビジネス ネットワークの構造について理解している必要があります。 また、Azure DevOps グループとアクセス許可についても理解している必要があります。

また、SQL Server、SQL Server Reporting Services、SharePoint 製品の理解が役立つ場合もあります。

この記事で説明されているコンポーネントと用語を理解していれば、Azure DevOps Serverの計画、デプロイ、管理をより適切に行えます。

Analytics サービス

Analytics サービスは、Azure DevOps の将来のレポート プラットフォームです。 現在、Azure DevOps Servicesで使用でき、Azure DevOps Serverの Azure DevOps Marketplace からインストールできます。 詳細については、「Analytics サービスとは」を参照してください。

アプリケーション層、データ層、およびクライアント層

Azure DevOps Serverを構成する論理層。 これらの層は、同じ物理コンピューターに展開されることも、複数のコンピューターにインストールされることもあります。 詳細については、「Azure DevOps Serverのアーキテクチャの概要」を参照してください。

プロジェクト コレクション

Azure DevOps Server内のすべてのデータのプライマリ組織単位。 コレクションは、追加されたプロジェクトで使用できるリソースを決定します。 これらのリソースには、SQL Server Reporting Services、コード Search、Marketplace 拡張機能などが含まれる場合があります。 詳細については、「 プロジェクト コレクションの管理」を参照してください。

Project

特定のソフトウェア テクノロジまたは製品を開発するために必要なチーム アクティビティをチームが共有するための中心的なポイント。 プロジェクトはプロジェクト コレクションに編成されます。 詳細については、「プロジェクトとorganizationのスケーリングについて」を参照してください

Azure DevOps Server管理コンソール

Azure DevOps Server管理者がリソースを構成および管理するための一元管理ツール。 詳細については、「 管理タスクのクイック リファレンス」を参照してください

サービス アカウント

Web サービスとアプリケーションが Azure DevOps によって実行するアカウントまたはアカウント。 Azure DevOps Serverには、サーバーと Web サービス間で操作を実行するサービス アカウントが必要です。 これらのサービス アカウントには、特定の要件があります。 詳細については、「Azure DevOps Serverのサービス アカウントと依存関係」を参照してください。

SharePoint 製品

プロジェクト ポータルとダッシュボードのサポートを提供するソフトウェア。 Azure DevOps Serverの展開の一部として、1 つ以上の SharePoint Web アプリケーションを含めることができます。 これらのアプリケーションのいずれかを含めるには、SharePoint 製品のAzure DevOps Server拡張機能をインストールして構成する必要があります。また、展開全体でアクセス許可を構成する必要があります。 詳細については、「 プロジェクト ポータルを使用して情報を共有する」を参照してください。 SharePoint 製品との統合は、TFS 2018 以降のバージョンでは非推奨となりました。

SQL ServerとSQL Server Reporting Services

データ ウェアハウス用のデータベース プラットフォームと、データ統合、分析、およびレポート ソリューション用のビジネス インテリジェンス プラットフォームを提供するソフトウェア。 Azure DevOps Serverは、そのデータをSQL Serverデータベースに格納します。 必要に応じて、SQL Server Reporting Servicesを実行し、プロジェクトのレポートを自動的に生成するサーバーを含めることもできます。 詳細については、「 レポート、データ ウェアハウス、および Analysis Services キューブの管理」を参照してください。

セキュリティの概念

Azure DevOps Serverのセキュリティを最適化するには、次の概念を理解する必要があります。

  • トポロジ。これには、Azure DevOps のコンポーネントを実行しているサーバーのデプロイ場所と方法、Azure DevOps Server と Azure DevOps クライアントの間を通過するネットワーク トラフィック、Azure DevOps Serverで実行する必要があるサービスが含まれます。
  • 認証。これには、Azure DevOps Serverでのユーザー、グループ、サービスの有効性の決定が含まれます。
  • 承認。これには、Azure DevOps Serverの有効なユーザー、グループ、およびサービスに、特定のアクションを実行するための適切なアクセス許可があるかどうかを判断することが含まれます。

また、Azure DevOps Serverが依存するその他のコンポーネントとサービスも考慮する必要があります。

Azure DevOps Serverのセキュリティを検討するときは、認証と承認の違いを理解する必要があります。 認証とは、クライアント、サーバー、またはプロセスから接続を試みる場合の資格情報の検証のことです。 承認は、接続を試行している ID が、オブジェクトやメソッドにアクセスするためのアクセス許可を持っているかどうかの検証です。 承認は、認証が成功した後にのみ発生します。 接続が認証されていない場合、承認のチェックが実行される前に失敗します。 接続の認証が成功した場合に、ユーザーまたはグループにその操作の実行が承認されていないために、特定のアクションが禁止されたままのことがあります。

トポロジ、ポート、サービス

Azure DevOps Serverのデプロイとセキュリティの最初の要素は、デプロイのコンポーネントが相互に接続して通信できるかどうかです。 目標は、Azure DevOps クライアントとAzure DevOps Server間の接続を有効にし、他の接続試行を制限または防止することです。

Azure DevOps Serverは、機能できるように、特定のポートとサービスに依存します。 ビジネスのセキュリティ ニーズを満たすために、これらのポートを保護および監視することができます。 azure DevOps クライアント、アプリケーション層とデータ層の論理コンポーネントをホストするサーバー、Team Foundation Build 用のコンピューター、Azure DevOps プロキシ サーバーを使用しているリモート クライアントの間で、Azure DevOps Serverのネットワーク トラフィックを渡す許可を許可する必要があります。 既定では、Azure DevOps Serverは Web サービスに HTTP を使用するように構成されています。 Azure DevOps Serverが使用するポートとサービスの完全な一覧と、そのアーキテクチャ内でのポートとサービスの使用方法については、「Azure DevOps Server アーキテクチャ」を参照してください。

Azure DevOps Serverは、Active Directory ドメインまたはワークグループに展開できます。 Active Directory は、ワークグループよりも多くの組み込みのセキュリティ機能を提供します。 Active Directory の機能を使用して、Azure DevOps Serverの展開をセキュリティで保護できます。 たとえば、悪意のあるユーザーが、Azure DevOps Serverを実行している不正なサーバーでコンピューター名をスプーフィングできないように、コンピューター名が重複しないように Active Directory を構成できます。 ワークグループ内の同じ種類の脅威を緩和するには、コンピューターの証明書を構成する必要があります。

ワークグループまたはドメインにAzure DevOps Serverを展開する場合でも、Azure DevOps Server自体の要件によって課される特定の制約に準拠する必要があります。 Azure DevOps Serverのトポロジの詳細については、「単純なAzure DevOps Server トポロジ」、「中Azure DevOps Server トポロジ」、「複雑なAzure DevOps Server トポロジ」、「理解」を参照してください。Windows SharePoint Services、およびSQL ServerとSQL Server Reporting Servicesについて。

認証

Azure DevOps Serverのセキュリティはと統合されており、Windows 統合認証と Windows オペレーティング システムのセキュリティ機能に依存しています。 Windows 統合認証を使用すると、Azure DevOps クライアントとAzure DevOps Server間の接続、論理アプリケーションとデータ層をホストするサーバー上の Web サービス、およびアプリケーション層とデータ層サーバー自体の間の接続に対してアカウントを認証できます。

注意

Azure DevOps Serverを構成して、Azure DevOps Serverのインストール後にクライアントとサーバーの両方の相互認証を行うために Kerberos をサポートできます。

Azure DevOps Serverと SharePoint 製品の間のSQL Server データベース接続は、Windows 認証ほど安全ではないので、SQL Server認証を使用するように構成しないでください。 データベースに接続すると、データベース管理者アカウントのユーザー名とパスワードが暗号化されていない形式で送信されます。 Windows 統合認証では、ユーザー名とパスワードは送信されません。 代わりに、Windows 統合認証セキュリティ プロトコルを使用して、ホスト インターネット インフォメーション サービス (IIS) アプリケーション プールに関連付けられているサービス アカウント ID 情報をSQL Serverに転送します。

承認

Azure DevOps Server承認は、Azure DevOps のユーザーとグループ、それらのユーザーとグループの両方に直接割り当てられるアクセス許可、およびそれらのユーザーとグループがAzure DevOps Serverの他のグループに属することによって継承するアクセス許可に基づいています。 Azure DevOps のユーザーとグループには、ローカル ユーザーまたはグループ、Active Directory ユーザーまたはグループ、またはその両方を使用できます。

Azure DevOps Serverは、サーバー、コレクション、およびプロジェクト レベルの既定のグループで事前構成されています。 個々のユーザーを追加することで、これらのグループを設定できます。 ただし、Active Directory セキュリティ グループを使用してこれらのグループを設定する方が、管理が容易なことがあります。 この方法を使用すると、SharePoint 製品やSQL Serverなど、複数のコンピューターまたはアプリケーション間でより効率的にグループ メンバーシップとアクセス許可を管理できます。

特定の展開では、複数のコンピューター上といくつかのアプリケーション内で、ユーザー、グループ、およびアクセス許可を構成しなければならないことがあります。 たとえば、レポートとプロジェクト ポータルを展開の一部として含める場合は、Reporting Services、SharePoint 製品、Azure DevOps Serverのユーザーとグループのアクセス許可を構成する必要があります。 Azure DevOps Serverでは、各プロジェクト、各コレクション、およびデプロイ全体 (サーバー レベル) にアクセス許可を設定できます。 さらに、特定のアクセス許可は既定で、Azure DevOps Serverに追加するすべてのユーザーまたはグループに付与されます。これは、そのユーザーまたはグループが Azure DevOps の有効なユーザーに自動的に追加されるためです。 詳細については、「 ユーザーまたはグループの管理」を参照してください。

Azure DevOps Serverで承認のアクセス許可を構成するための追加では、バージョン管理と作業項目内での承認が必要になる場合があります。 これらのアクセス許可はコマンド プロンプトで個別に管理しますが、Team エクスプローラー のインターフェイスの一部として統合されます。