View a markdown version of this page

Azure リソースの接続 - AWS DevOps エージェント

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

Azure リソースの接続

Azure リソースの統合により、 AWS DevOps Agent はインシデント調査中に Azure サブスクリプション内のリソースを検出して調査できます。エージェントは、リソース検出に Azure リソースグラフを使用し、Azure 環境全体のメトリクス、ログ、および設定データにアクセスできます。

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

前提条件

Azure リソースを接続する前に、以下を確認してください。

  • AWS DevOps エージェントコンソールへのアクセス

  • ターゲットサブスクリプションにアクセスできる Azure アカウント

  • 管理者の同意方法: Microsoft Entra ID で管理者の同意を実行するアクセス許可を持つアカウント

  • アプリ登録方法の場合: フェデレーティッド ID 認証情報を設定するアクセス許可を持ち、 AWS アカウントでアウトバウンド ID フェデレーションが有効になっている Entra アプリケーション

管理者同意メソッドは、 AWS DevOps Agent マネージドアプリケーションで同意ベースのフローを使用します。

ステップ 1: 登録を開始する

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

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

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

  4. 管理者の同意登録方法を選択する

  1. リクエストされているアクセス許可を確認する

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

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

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

ステップ 3: ユーザー認可を完了する

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

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

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

ステップ 4: ロールを割り当てる

以下の Azure ロールの割り当てを参照してください。メンバーを選択するときに AWS DevOps エージェントを検索します。

アプリ登録による Azure リソースの登録

アプリ登録メソッドは、フェデレーティッド ID 認証情報を使用して独自の Entra アプリケーションを使用します。

ステップ 1: 登録を開始する

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

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

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

ステップ 2: Entra アプリケーションを作成して設定する

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

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

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

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

ステップ 3: 登録の詳細を入力する

登録フォームに以下を入力します。

  • テナント ID – Azure テナント識別子

  • テナント名 – テナントの表示名

  • クライアント ID – 作成した Entra アプリケーションのアプリケーション (クライアント) ID

  • 対象者 – フェデレーティッド認証情報の対象者識別子

ステップ 4: IAM ロールを作成する

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

ステップ 5: ロールを割り当てる

以下の「Azure ロールの割り当て」を参照してください。メンバーの選択時に作成した Entra アプリケーションを検索します。

ステップ 6: 登録を完了する

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

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

Azure ロールの割り当て

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

  1. Azure Portal で、ターゲットサブスクリプションに移動します。

  2. アクセスコントロール (IAM) に移動する

  3. Add > Add role assignment をクリックします。

  4. リーダーロールを選択し、次へ をクリックします。

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

  6. アプリケーションを選択し、レビュー + 割り当て をクリックします。

  7. (オプション) エージェントが Azure Kubernetes Service (AKS) クラスターにアクセスできるようにするには、次の AKS アクセス設定を完了します。

AKS アクセス設定 (オプション)

ステップ 1: Azure Resource Manager (ARM) レベルのアクセス

Azure Kubernetes Service Cluster ユーザーロールをアプリケーションに割り当てます。

Azure ポータルで、サブスクリプション → サブスクリプションの選択 → アクセスコントロール (IAM)ロールの割り当ての追加Azure Kubernetes サービスクラスターユーザーロールの選択 → アプリケーション (管理者同意用の AWS DevOps エージェント、またはアプリ登録用の独自の Entra アプリケーション) への割り当てに移動します。

これは、サブスクリプション内のすべての AKS クラスターを対象としています。特定のクラスターに限定するには、代わりにリソースグループまたは個々のクラスターレベルで を割り当てます。

ステップ 2: Kubernetes API アクセス

クラスターの認証設定に基づいて 1 つのオプションを選択します。

オプション A: Azure Role-Based Access Control (RBAC) for Kubernetes (推奨)

  1. まだ有効になっていない場合は、クラスターで Azure RBAC を有効にする: Azure Portal → AKS クラスター → 設定セキュリティ設定認証と認可Azure RBAC を選択する

  2. 読み取り専用ロールの割り当て: Azure Portal → サブスクリプション → サブスクリプションの選択 → アクセスコントロール (IAM)ロールの割り当ての追加Azure Kubernetes Service RBAC Reader の選択 → アプリケーションへの割り当て

これは、サブスクリプション内のすべての AKS クラスターを対象としています。

オプション B: Azure Active Directory (Azure AD) + Kubernetes RBAC

クラスターが既にデフォルトの Azure AD 認証設定を使用していて、Azure RBAC を有効にしない場合は、これを使用します。これには、クラスターごとのkubectlセットアップが必要です。

  1. 次のマニフェストを として保存しますdevops-agent-reader.yaml

apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: devops-agent-reader rules: - apiGroups: [""] resources: ["namespaces", "pods", "pods/log", "services", "events", "nodes"] verbs: ["get", "list"] - apiGroups: ["apps"] resources: ["deployments", "replicasets", "statefulsets", "daemonsets"] verbs: ["get", "list"] - apiGroups: ["metrics.k8s.io"] resources: ["pods", "nodes"] verbs: ["get", "list"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: devops-agent-reader-binding subjects: - kind: User name: "<SERVICE_PRINCIPAL_OBJECT_ID>" apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name: devops-agent-reader apiGroup: rbac.authorization.k8s.io
  1. をサービスプリンシパルのオブジェクト ID <SERVICE_PRINCIPAL_OBJECT_ID>に置き換えます。これを見つけるには: Azure Portal → Entra ID → Enterprise Applications → search for the application name (AWS DevOps Agent for Admin consent, or your own Entra application for App Registration)。

  2. を各クラスターに適用します。

az aks get-credentials --resource-group <rg> --name <cluster-name> kubectl apply -f devops-agent-reader.yaml

最小特権のカスタムロール (オプション)

アクセスコントロールを強化するには、広範なリーダーロールではなく、 AWS DevOps Agent が使用するリソースプロバイダーのみを対象とするカスタム Azure ロールを作成できます。

{ "Name": "AWS DevOps Agent - Azure Reader", "Description": "Least-privilege read-only access for AWS DevOps Agent incident investigations.", "Actions": [ "Microsoft.AlertsManagement/*/read", "Microsoft.Compute/*/read", "Microsoft.ContainerRegistry/*/read", "Microsoft.ContainerService/*/read", "Microsoft.ContainerService/managedClusters/commandResults/read", "Microsoft.DocumentDB/*/read", "Microsoft.Insights/*/read", "Microsoft.KeyVault/vaults/read", "Microsoft.ManagedIdentity/*/read", "Microsoft.Monitor/*/read", "Microsoft.Network/*/read", "Microsoft.OperationalInsights/*/read", "Microsoft.ResourceGraph/resources/read", "Microsoft.ResourceHealth/*/read", "Microsoft.Resources/*/read", "Microsoft.Sql/*/read", "Microsoft.Storage/*/read", "Microsoft.Web/*/read" ], "NotActions": [], "DataActions": [], "NotDataActions": [], "AssignableScopes": [ "/subscriptions/{your-subscription-id}" ] }

サブスクリプションとエージェントスペースの関連付け

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

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

  2. 機能タブに移動する

  3. 「セカンダリソース」セクションで、「追加」をクリックします。

  4. Azure を選択する

  5. 関連付ける Azure サブスクリプションのサブスクリプション ID を指定します。

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

複数のサブスクリプションを同じエージェントスペースに関連付けることで、Azure 環境全体でエージェントを可視化できます。

Azure リソース接続の管理

  • 接続されたサブスクリプションの表示機能タブのセカンダリソースセクションには、接続されたすべての Azure サブスクリプションが一覧表示されます。

  • サブスクリプションの削除 – エージェントスペースからサブスクリプションを切断するには、セカンダリソースリストでサブスクリプションを選択し、削除をクリックします。これはアカウントレベルの登録には影響しません。

  • 登録の削除 – Azure Cloud 登録を完全に削除するには、「機能プロバイダー」ページに移動し、登録を削除します。最初にすべてのエージェントスペースの関連付けを削除する必要があります。