

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menghubungkan Sumber Daya Azure
<a name="connecting-azure-connecting-azure-resources"></a>

Integrasi Azure Resources memungkinkan AWS DevOps Agen menemukan dan menyelidiki sumber daya dalam langganan Azure Anda selama penyelidikan insiden. Agen menggunakan Azure Resource Graph untuk penemuan sumber daya dan dapat mengakses metrik, log, dan data konfigurasi di seluruh lingkungan Azure Anda.

Integrasi ini mengikuti proses dua langkah: daftarkan Azure di tingkat AWS akun, lalu kaitkan langganan Azure tertentu dengan Ruang Agen individual.

## Prasyarat
<a name="prerequisites"></a>

Sebelum menghubungkan Azure Resources, pastikan Anda memiliki:
+ Akses ke konsol AWS DevOps Agen
+ Akun Azure dengan akses ke langganan target
+ Untuk metode Persetujuan Admin: akun dengan izin untuk melakukan persetujuan admin di Microsoft Entra ID
+ Untuk metode Pendaftaran Aplikasi: aplikasi Entra dengan izin untuk mengonfigurasi kredensi identitas federasi, dan Federasi Identitas [Keluar](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-federation.html) diaktifkan di akun Anda AWS 

**Catatan:** Anda juga dapat memulai pendaftaran dari dalam Ruang Agen. Arahkan ke **Sumber sekunder**, klik **Tambah**, dan pilih **Azure**. Jika Azure Cloud belum terdaftar, konsol memandu Anda melalui pendaftaran terlebih dahulu.

## Mendaftarkan Azure Resources melalui Persetujuan Admin
<a name="registering-azure-resources-via-admin-consent"></a>

Metode Persetujuan Admin menggunakan alur berbasis persetujuan dengan aplikasi yang dikelola AWS DevOps Agen.

### Langkah 1: Mulai pendaftaran
<a name="step-1-start-the-registration"></a>

1. Masuk ke Konsol AWS Manajemen dan arahkan ke konsol AWS DevOps Agen

1. Buka halaman **Penyedia Kemampuan**

1. **Temukan bagian **Azure Cloud** dan klik Daftar**

1. Pilih metode pendaftaran **Persetujuan Admin**

### Langkah 2: Selesaikan Persetujuan Admin
<a name="step-2-complete-admin-consent"></a>

1. Tinjau izin yang diminta

1. Klik untuk melanjutkan — Anda diarahkan ke halaman persetujuan admin Microsoft Entra

1. Masuk dengan akun utama pengguna yang memiliki izin untuk melakukan persetujuan admin

1. Meninjau dan memberikan persetujuan untuk aplikasi AWS DevOps Agen

### Langkah 3: Otorisasi pengguna lengkap
<a name="step-3-complete-user-authorization"></a>

1. Setelah persetujuan admin, Anda diminta untuk otorisasi pengguna untuk memverifikasi identitas Anda sebagai anggota penyewa yang berwenang

1. Masuk dengan akun milik penyewa Azure yang sama

1. Setelah otorisasi, Anda diarahkan kembali ke konsol AWS DevOps Agen dengan status sukses

### Langkah 4: Tetapkan peran
<a name="step-4-assign-roles"></a>

Lihat [Menetapkan peran Azure](#assigning-azure-roles) di bawah ini. Cari **AWS DevOps Agen** saat memilih anggota.

## Mendaftarkan Azure Resources melalui Pendaftaran Aplikasi
<a name="registering-azure-resources-via-app-registration"></a>

Metode Pendaftaran Aplikasi menggunakan aplikasi Entra Anda sendiri dengan kredensi identitas federasi.

### Langkah 1: Mulai pendaftaran
<a name="step-1-start-the-registration"></a>

1. Di konsol AWS DevOps Agen, buka halaman **Penyedia Kemampuan**

1. **Temukan bagian **Azure Cloud** dan klik Daftar**

1. Pilih metode **Pendaftaran Aplikasi**

### Langkah 2: Buat dan konfigurasikan aplikasi Entra Anda
<a name="step-2-create-and-configure-your-entra-application"></a>

Ikuti petunjuk yang ditampilkan di konsol untuk:

1. Aktifkan Federasi Identitas Keluar di AWS akun Anda (di konsol IAM, buka **Pengaturan akun** → Federasi Identitas **Keluar**)

1. Buat aplikasi Entra di Microsoft Entra ID Anda, atau gunakan yang sudah ada

1. Konfigurasikan kredenal identitas federasi pada aplikasi

### Langkah 3: Berikan detail pendaftaran
<a name="step-3-provide-registration-details"></a>

Isi formulir pendaftaran dengan:
+ **ID Penyewa** - Pengenal penyewa Azure Anda
+ **Nama Penyewa** - Nama tampilan untuk penyewa
+ **ID Klien — ID** aplikasi (klien) dari aplikasi Entra yang Anda buat
+ **Audiens** - Pengidentifikasi audiens untuk kredensi federasi

### Langkah 4: Buat peran IAM
<a name="step-4-create-the-iam-role"></a>

Peran IAM akan dibuat secara otomatis saat Anda mengirimkan pendaftaran melalui konsol. Ini memungkinkan AWS DevOps Agen untuk mengambil kredensi dan memanggil. `sts:GetWebIdentityToken`

### Langkah 5: Tetapkan peran
<a name="step-5-assign-roles"></a>

Lihat [Menetapkan peran Azure](#assigning-azure-roles) di bawah ini. Cari aplikasi Entra yang Anda buat saat memilih anggota.

### Langkah 6: Lengkapi pendaftaran
<a name="step-6-complete-the-registration"></a>

1. Konfirmasikan konfigurasi di konsol AWS DevOps Agen

1. Klik **Submit** untuk menyelesaikan pendaftaran

## Menetapkan peran Azure
<a name="assigning-azure-roles"></a>

Setelah pendaftaran, berikan akses baca aplikasi ke langganan Azure Anda. Langkah ini sama untuk metode Persetujuan Admin dan Pendaftaran Aplikasi.

1. Di Portal Azure, navigasikan ke langganan target Anda

1. Pergi ke **Access Control (IAM**)

1. Klik **Menambahkan** > **Tambahkan tugas peran**

1. Pilih peran **Pembaca** dan klik **Berikutnya**

1. Klik **Pilih anggota**, cari aplikasi (baik **AWS DevOps Agen** untuk Persetujuan Admin, atau aplikasi Entra Anda sendiri untuk Pendaftaran Aplikasi)

1. Pilih aplikasi dan klik **Review \$1 assign**

1. (Opsional) Untuk mengaktifkan agen mengakses kluster Azure Kubernetes Service (AKS), selesaikan pengaturan akses AKS berikut.

**Persyaratan Keamanan:** Prinsipal layanan harus ditetapkan hanya peran **Pembaca** (dan secara opsional peran hanya-baca AKS yang tercantum di bawah). Peran Reader berfungsi sebagai batas keamanan yang membatasi agen untuk operasi read-only dan membatasi dampak serangan injeksi prompt tidak langsung. Menetapkan peran dengan izin tulis atau tindakan secara signifikan meningkatkan radius ledakan injeksi cepat dan dapat mengakibatkan kompromi sumber daya Azure. AWS DevOps Agen hanya melakukan operasi baca. Agen tidak memodifikasi, membuat, atau menghapus sumber daya Azure.

### Pengaturan akses AKS (opsional)
<a name="aks-access-setup-optional"></a>

#### Langkah 1: Akses tingkat Azure Resource Manager (ARM)
<a name="step-1-azure-resource-manager-arm-level-access"></a>

Tetapkan **Azure Kubernetes Service Cluster User** Role ke aplikasi.

Di Portal Azure, buka Langganan → pilih **langganan** → **Kontrol Akses (IAM)** → **Tambahkan penetapan peran** → pilih Peran **Pengguna Cluster Layanan Azure Kubernetes** → tetapkan ke aplikasi (baik **AWS DevOps Agen** untuk Persetujuan Admin, atau aplikasi Entra Anda sendiri untuk Pendaftaran Aplikasi).

Ini mencakup semua kluster AKS dalam langganan. Untuk cakupan ke cluster tertentu, tetapkan pada kelompok sumber daya atau tingkat cluster individu sebagai gantinya.

#### Langkah 2: Akses API Kubernetes
<a name="step-2-kubernetes-api-access"></a>

Pilih satu opsi berdasarkan konfigurasi otentikasi klaster Anda:

**Opsi A: Kontrol Akses Berbasis Peran Azure (RBAC) untuk Kubernetes (disarankan)**

1. **Aktifkan Azure RBAC di cluster jika belum diaktifkan: Azure Portal → Kluster AKS → **Pengaturan** → **Konfigurasi keamanan** → **Otentikasi dan** otorisasi → pilih Azure RBAC**

1. Tetapkan peran hanya-baca: Azure Portal → **Langganan → pilih langganan → **Kontrol Akses (IAM)** → Tambahkan penetapan** **peran → pilih **Azure Kubernetes** Service RBAC Reader** → tetapkan ke aplikasi

Ini mencakup semua kluster AKS dalam langganan.

**Opsi B: Direktori Aktif Azure (Azure AD) \$1Kubernetes RBAC**

Gunakan ini jika klaster Anda sudah menggunakan konfigurasi autentikasi Azure AD default dan Anda memilih untuk tidak mengaktifkan Azure RBAC. Ini membutuhkan pengaturan per cluster`kubectl`.

1. Simpan manifes berikut sebagai`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. Ganti `<SERVICE_PRINCIPAL_OBJECT_ID>` dengan Object ID kepala layanan Anda. Untuk menemukannya: Azure Portal → Entra ID → Aplikasi Perusahaan → cari nama aplikasi (baik **AWS DevOps Agen** untuk Persetujuan Admin, atau aplikasi Entra Anda sendiri untuk Pendaftaran Aplikasi).

1. Terapkan untuk setiap cluster:

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

**Catatan:** Cluster yang menggunakan akun lokal saja (tanpa Azure AD) tidak didukung. Sebaiknya aktifkan integrasi Azure AD di klaster Anda untuk menggunakan fitur ini.

### Peran kustom yang paling tidak memiliki hak istimewa (opsional)
<a name="least-privileged-custom-role-optional"></a>

Untuk kontrol akses yang lebih ketat, Anda dapat membuat peran Azure kustom yang hanya digunakan oleh penyedia sumber daya yang digunakan AWS DevOps Agen, alih-alih peran Pembaca yang luas:

```
{
  "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}"
  ]
}
```

## Mengaitkan langganan dengan Agent Space
<a name="associating-a-subscription-with-an-agent-space"></a>

Setelah mendaftarkan Azure di tingkat akun, kaitkan langganan tertentu dengan Ruang Agen Anda:

1. Di konsol AWS DevOps Agen, pilih Ruang Agen

1. Buka tab **Kemampuan**

1. Di bagian **Sumber sekunder**, klik **Tambah**

1. Pilih **Azure**

1. Berikan **ID Langganan** untuk langganan Azure yang ingin Anda kaitkan

1. Klik **Tambah** untuk menyelesaikan asosiasi

Anda dapat mengaitkan beberapa langganan dengan Ruang Agen yang sama untuk memberikan visibilitas agen di seluruh lingkungan Azure Anda.

## Mengelola koneksi Azure Resources
<a name="managing-azure-resources-connections"></a>
+ **Melihat langganan yang terhubung** — Di tab **Kemampuan**, bagian **Sumber sekunder** mencantumkan semua langganan Azure yang terhubung.
+ **Menghapus langganan** — Untuk memutuskan sambungan langganan dari Ruang Agen, pilih langganan tersebut di daftar **Sumber sekunder** dan klik **Hapus**. Ini tidak mempengaruhi pendaftaran tingkat akun.
+ **Menghapus pendaftaran** — Untuk menghapus pendaftaran Azure Cloud sepenuhnya, buka halaman **Penyedia Kemampuan** dan hapus pendaftaran. Semua asosiasi Ruang Agen harus dihapus terlebih dahulu.