

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Azure DevOps の接続
<a name="connecting-azure-connecting-azure-devops"></a>

Azure DevOps 統合により、 AWS DevOps エージェントは Azure DevOps 組織のリポジトリとパイプライン実行履歴にアクセスできます。エージェントは、コードの変更とデプロイを運用上のインシデントと関連付けて、潜在的な根本原因を特定するのに役立ちます。

**注:** Azure DevOps パイプラインは、Azure Repos、GitHub、または Bitbucket のソースコードを使用できます。Azure DevOps 統合は、ソースプロバイダーに関係なく、パイプライン実行履歴へのアクセスを提供します。ただし、調査中に実際のソースコードにアクセスするには、 などのサポートされている統合を通じてリポジトリを個別に接続する必要があります[GitHub の接続](connecting-to-cicd-pipelines-connecting-github.md)。Bitbucket のソースコードは、この統合を通じて直接アクセスすることはできません。

この統合は、 AWS アカウントレベルで Azure DevOps を登録し、特定のプロジェクトを個々のエージェントスペースに関連付けるという 2 つのステップのプロセスに従います。

## 前提条件
<a name="prerequisites"></a>

Azure DevOps を接続する前に、以下を確認してください。
+  AWS DevOps エージェントコンソールへのアクセス
+ リポジトリとパイプライン履歴を含むプロジェクトが少なくとも 1 つある Azure DevOps 組織
+ Azure DevOps 組織にユーザーを追加するアクセス許可
+ 管理者の同意方法: Microsoft Entra ID で管理者の同意を実行するアクセス許可を持つアカウント
+ アプリ登録方法の場合: フェデレーティッド ID 認証情報を設定するアクセス許可を持ち、 AWS アカウントで[アウトバウンド ID フェデレーション](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-federation.html)が有効になっている Entra アプリケーション

**注:** エージェントスペース内から登録を開始することもできます。**Pipelines** セクションに移動し、**追加**をクリックして **Azure DevOps **を選択します。Azure DevOps がまだ登録されていない場合は、コンソールが最初に登録を案内します。

## 管理者の同意による Azure DevOps の登録
<a name="registering-azure-devops-via-admin-consent"></a>

管理者同意の方法では、 AWS DevOps エージェントマネージドアプリケーションで同意ベースのフローを使用します。

### ステップ 1: 登録を開始する
<a name="step-1-start-the-registration"></a>

1.  AWS マネジメントコンソールにサインインし、 AWS DevOps エージェントコンソールに移動します。

1. **機能プロバイダーページ**に移動する

1. **Azure DevOps **セクションを見つけ、**登録**をクリックします。

1. プロンプトが表示されたら**、Azure DevOps 組織名**を入力します。

### ステップ 2: 管理者の同意を完了する
<a name="step-2-complete-admin-consent"></a>

1. クリックして続行 - Microsoft Entra 管理者の同意ページにリダイレクトされます

1. 管理者の同意を実行するアクセス許可を持つユーザープリンシパルアカウントでサインインする

1.  AWS DevOps Agent アプリケーションを確認して同意する

### ステップ 3: ユーザー認可を完了する
<a name="step-3-complete-user-authorization"></a>

1. 管理者の同意後、承認されたテナントのメンバーとして ID を検証するユーザー認可を求められます。

1. 同じ Azure テナントに属するアカウントでサインインする

1. 認可後、成功ステータスで AWS DevOps エージェントコンソールにリダイレクトされます。

### ステップ 4: Azure DevOps でアクセス権を付与する
<a name="step-4-grant-access-in-azure-devops"></a>

以下の [Azure DevOps でのアクセス権の付与](#granting-access-in-azure-devops)を参照してください。ユーザーを追加するときに **AWS DevOps エージェント**を検索します。

## アプリ登録による Azure DevOps の登録
<a name="registering-azure-devops-via-app-registration"></a>

アプリ登録は、Azure リソースと Azure DevOps の間で共有されます。Azure リソースのアプリ登録をすでに完了している場合は、[「Azure DevOps でのアクセス権の付与](#granting-access-in-azure-devops)」に進むことができます。

### ステップ 1: ADO アプリの登録を開始する
<a name="step-1-start-the-ado-app-registration"></a>

1.  AWS DevOps エージェントコンソールで、**機能プロバイダー**ページに移動します。

1. **Azure Cloud** セクションを見つけて **Register** をクリックします。

1. **アプリ登録**方法を選択する

### ステップ 2: Entra アプリケーションを作成して設定する
<a name="step-2-create-and-configure-your-entra-application"></a>

コンソールに表示される手順に従って、次の操作を行います。

1.  AWS アカウントでアウトバウンド ID フェデレーションを有効にする (IAM コンソールで、**アカウント設定** → **アウトバウンド ID フェデレーション**に移動)

1. Microsoft Entra ID で Entra アプリケーションを作成するか、既存のアプリケーションを使用します。

1. アプリケーションでフェデレーション ID 認証情報を設定する

### ステップ 3: 登録の詳細を入力する
<a name="step-3-provide-registration-details"></a>

登録フォームに以下を入力します。
+ **テナント ID** – Azure テナント識別子
+ **テナント名** – テナントの表示名
+ **クライアント ID** – Entra アプリケーションのアプリケーション (クライアント) ID
+ **対象者** – フェデレーティッド認証情報の対象者識別子

### ステップ 4: IAM ロールを作成する
<a name="step-4-create-the-iam-role"></a>

コンソールから登録を送信すると、IAM ロールが自動的に作成されます。これにより、 AWS DevOps エージェントは認証情報を引き受け、 を呼び出すことができます`sts:GetWebIdentityToken`。

### ステップ 5: 登録を完了する
<a name="step-5-complete-the-registration"></a>

1.  AWS DevOps エージェントコンソールで設定を確認する

1. **送信**をクリックして登録を完了します

### ステップ 6: Azure DevOps でアクセス権を付与する
<a name="step-6-grant-access-in-azure-devops"></a>

以下の[「Azure DevOps でのアクセス権の付与](#granting-access-in-azure-devops)」を参照してください。ユーザーを追加するときに、アプリ登録中に作成した Entra アプリケーションを検索します。

## Azure DevOps でのアクセス権の付与
<a name="granting-access-in-azure-devops"></a>

登録後、アプリケーションに Azure DevOps 組織へのアクセス権を付与します。このステップは、管理者の同意方法とアプリ登録方法の両方で同じです。

1. Azure DevOps で、**組織設定** > **ユーザー** > **ユーザーの追加** に移動します。

1. アプリケーション (管理者の同意のための **AWS DevOps エージェント**、またはアプリ登録のための独自の Entra アプリケーション) を検索します。

1. アクセスレベルを **Basic** に設定する

1. **プロジェクトに追加**で、エージェントがアクセスするプロジェクトを選択します。

1. **Azure DevOps グループ**で、**プロジェクトリーダー**を選択します。

1. **追加**をクリックして完了します

**セキュリティ要件:** **Project Readers** グループのみを割り当てます。読み取り専用アクセスは、エージェントを読み取り専用オペレーションに制限し、間接的なプロンプトインジェクション攻撃の影響を制限するセキュリティ境界として機能します。書き込みまたはアクションのアクセス許可を持つグループを割り当てると、プロンプトインジェクションのブラスト半径が大幅に増加し、Azure DevOps リソースが侵害される可能性があります。

## プロジェクトとエージェントスペースの関連付け
<a name="associating-a-project-with-an-agent-space"></a>

アカウントレベルで Azure DevOps を登録したら、特定のプロジェクトをエージェントスペースに関連付けます。

1.  AWS DevOps エージェントコンソールで、エージェントスペースを選択します。

1. **機能**タブに移動する

1. **「パイプライン**」セクションで、**「追加**」をクリックします。

1. 利用可能なプロバイダーのリストから **Azure DevOps** を選択する

1. 利用可能なプロジェクトのドロップダウンからプロジェクトを選択する

1. **追加**をクリックして関連付けを完了します

## Azure DevOps 接続の管理
<a name="managing-azure-devops-connections"></a>
+ **接続されたプロジェクトの表示** – **機能**タブの**パイプライン**セクションには、接続されたすべての Azure DevOps プロジェクトが一覧表示されます。
+ **プロジェクトの削除** – エージェントスペースからプロジェクトを切断するには、**パイプライン**セクションでプロジェクトを選択し、**削除**をクリックします。
+ **登録の削除** – Azure DevOps 登録を完全に削除するには、**「機能プロバイダー**」ページに移動し、登録を削除します。最初にすべてのエージェントスペースの関連付けを削除する必要があります。