

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

# Menyiapkan Otentikasi Penyedia Identitas Eksternal (IDP)
<a name="aws-devops-agent-security-setting-up-external-identity-provider-idp-authentication"></a>

Autentikasi penyedia identitas eksternal (iDP) memungkinkan organisasi Anda menggunakan penyedia identitas yang kompatibel dengan OIDC yang ada, seperti Okta atau Microsoft Entra ID, untuk mengelola akses pengguna ke aplikasi web Agent Space. AWS DevOps Pengguna masuk dengan kredensi perusahaan mereka langsung melalui IDP Anda, tanpa memerlukan AWS Pusat Identitas IAM.

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

Sebelum menyiapkan otentikasi iDP eksternal, pastikan Anda memiliki:
+ Penyedia identitas yang kompatibel dengan OIDC (Okta atau Microsoft Entra ID)
+ Akses administrator ke penyedia identitas Anda
+ Izin administrator untuk mengakses konsol AWS DevOps Agen
+ Ruang Agen yang dikonfigurasi atau siap dibuat

## Cara kerjanya
<a name="how-it-works"></a>

Saat Anda mengonfigurasi otentikasi iDP eksternal:
+ Pengguna menavigasi ke URL aplikasi web Agent Space
+ Mereka diarahkan ke halaman login penyedia identitas Anda
+ Setelah mengautentikasi dengan kredensi perusahaan mereka, mereka diarahkan kembali ke aplikasi web
+ Aplikasi web menukar token otentikasi dengan AWS kredensil berumur pendek yang dicakup ke Ruang Agen

Sesi berlaku hingga 8 jam. Kredensil secara otomatis disegarkan menggunakan token penyegaran OIDC tanpa mengharuskan pengguna untuk mengautentikasi ulang.

## Mengkonfigurasi otentikasi iDP eksternal
<a name="configuring-external-idp-authentication"></a>

### Langkah 1: Daftarkan aplikasi di penyedia identitas Anda
<a name="step-1-register-an-application-in-your-identity-provider"></a>

Pilih penyedia identitas Anda dan ikuti petunjuk penyiapan yang sesuai.

#### Opsi A: Okta
<a name="option-a-okta"></a>

1. Di Konsol Admin Okta, navigasikan ke **Applications > **Applications**** dan pilih **Create App Integration**

1. Pilih **OIDC - OpenID Connect** sebagai metode login dan **Aplikasi Web sebagai jenis aplikasi**. Pilih **Berikutnya**

1. Tetapkan nama deskriptif untuk aplikasi (misalnya,`AWS DevOps Agent`)

1. Di bawah **jenis Hibah**, pastikan hal-hal berikut diperiksa:
   + **Kode Otorisasi** (default)
   + **Refresh Token** — Ini diperlukan untuk penyegaran sesi. Jika tidak diaktifkan, pengguna tidak akan dapat mempertahankan sesi.

**catatan**  
**Okta tidak mengaktifkan jenis hibah Refresh Token secara default. Anda harus mengaktifkannya secara eksplisit.

1. Biarkan **pengalihan Masuk URIs** sebagai nilai default untuk saat ini - Anda akan memperbaruinya setelah mengonfigurasi Ruang Agen

1. Di bawah **Penugasan**, tetapkan pengguna atau grup yang seharusnya memiliki akses

1. Pilih **Simpan**.

1. Pada tab **Umum** aplikasi, perhatikan nilai-nilai berikut:
   + **ID Klien**
   + **Rahasia klien** - Pilih **Salin** untuk menyimpan nilai ini dengan aman

1. Perhatikan **domain Okta** Anda — ini adalah URL Penerbit Anda (misalnya,`https://dev-12345678.okta.com`).

**catatan**  
**Pada** **tab Masuk, verifikasi** Penerbit **diatur ke** URL Okta ** (bukan Dinamis). Ini memastikan URL penerbit yang stabil.

**catatan**  
**Jangan menambahkan** ** klaim grup ke token ID di tab Klaim server otorisasi Anda. AWS DevOps Agen tidak menggunakan keanggotaan grup dari IDP Anda.

#### Opsi B: Microsoft Entra ID
<a name="option-b-microsoft-entra-id"></a>

1. **Di portal Azure, navigasikan ke **Microsoft Entra ID** > **Pendaftaran aplikasi > Pendaftaran baru****

1. Tetapkan nama deskriptif (misalnya,`AWS DevOps Agent`)

1. Di bawah **Jenis akun yang didukung**, pilih opsi yang sesuai untuk organisasi Anda (biasanya **hanya Akun di direktori organisasi ini**)

1. Biarkan **URI Redirect** kosong untuk saat ini. Pilih **Daftar**

1. Pada halaman **Ikhtisar** aplikasi, perhatikan nilai-nilai berikut:
   + **ID Aplikasi (klien)** — digunakan sebagai ID Klien saat mengonfigurasi Ruang Agen
   + **ID Direktori (penyewa)** - digunakan untuk membangun URL Penerbit

1. Arahkan ke **Sertifikat & rahasia> Rahasia** **klien baru**
   + Tetapkan deskripsi dan periode kedaluwarsa
   + Pilih **Tambah** dan salin **Nilai** rahasia segera - itu tidak akan ditampilkan lagi

1. URL Penerbit untuk ID Entra mengikuti format ini. Ganti `{tenant-id}` dengan ID Direktori (penyewa) Anda dari langkah 5:
   + `https://login.microsoftonline.com/{tenant-id}/v2.0`

**catatan**  
**Jangan aktifkan** **klaim opsional grup dalam** konfigurasi Token**. AWS DevOps Agen tidak menggunakan keanggotaan grup dari IDP Anda.

### Langkah 2: Aktifkan Aplikasi Operator dengan otentikasi IDP
<a name="step-2-enable-the-operator-app-with-idp-authentication"></a>

1. Di konsol AWS DevOps Agen, pilih Ruang Agen

1. Buka tab **Access**

1. Di bawah **Akses pengguna**, pilih **Penyedia identitas eksternal**

1. Dalam formulir konfigurasi, konfigurasikan yang berikut ini:
   + **Penyedia Identitas** — Pilih penyedia identitas Anda (Okta atau Microsoft Entra ID)
   + URL **Penerbit — URL** penerbit OIDC dari penyedia identitas Anda
   + **ID Klien** — ID klien dari aplikasi OIDC yang Anda buat
   + **Rahasia Klien** - Rahasia klien dari aplikasi OIDC Anda

1. Di bawah **Nama Peran Aplikasi Penyedia Identitas**, pilih salah satu dari tiga opsi:
   + **Buat peran DevOps Agen baru secara otomatis** (disarankan) - Membuat peran layanan baru dengan izin yang sesuai
   + **Menetapkan peran yang ada — Gunakan peran** IAM yang sudah ada yang telah Anda buat
   + **Membuat peran DevOps Agen baru menggunakan templat kebijakan** — Gunakan detail yang disediakan untuk membuat peran Anda sendiri di Konsol IAM

1. Tinjau peringatan peringatan **URL Callback** yang ditampilkan di bagian bawah formulir. Salin URL ini — Anda harus menambahkannya ke pengalihan yang diizinkan penyedia identitas Anda URIs sebelum pengguna dapat masuk.

1. Pilih **Connect**

Setelah memilih **Connect**, konsol menampilkan **Konfigurasi Penyedia Identitas Eksternal** dengan detail berikut:
+ **Penyedia** — Penyedia identitas yang Anda pilih
+ URL **Penerbit - URL** penerbit OIDC yang dikonfigurasi
+ **ID Klien - ID** klien yang dikonfigurasi
+ **IAM Role ARN** — Peran IAM yang digunakan untuk akses pengguna
+ **URL Callback** - Konfigurasikan URL ini di penyedia identitas Anda sebagai URI pengalihan yang diizinkan
+ **Login URL** — Gunakan URL ini untuk mengakses aplikasi web melalui penyedia identitas Anda

### Langkah 3: Tambahkan URL callback ke penyedia identitas Anda
<a name="step-3-add-the-callback-url-to-your-identity-provider"></a>

#### Okta
<a name="okta"></a>

1. Di Konsol Admin Okta, arahkan ke tab **Umum** aplikasi Anda

1. Di bawah **Login**, pilih **Edit**

1. Tambahkan URL callback sebagai URI **pengalihan Masuk**:
   + `https://{agentSpaceId}.aidevops.global.app.aws/authorizer/idp/callback`

1. (Opsional) Atur **URI Inisiate login** untuk mengaktifkan login yang dimulai IDP dari dasbor Okta:
   + `https://{agentSpaceId}.aidevops.global.app.aws/authorizer/idp/login`

1. (Disarankan) Tambahkan **URI pengalihan Keluar untuk mengarahkan** pengguna kembali ke aplikasi web setelah logout. Tanpa ini, pengguna mungkin melihat halaman kesalahan saat keluar:
   + `https://{agentSpaceId}.aidevops.global.app.aws/authorizer/welcome`

1. Pilih **Simpan**.

#### ID Microsoft Entra
<a name="microsoft-entra-id"></a>

1. Di portal Azure, navigasikan ke halaman **Otentikasi** aplikasi Anda

1. **Di bawah **Konfigurasi Platform**, pilih **Tambahkan platform** > Web**

1. Masukkan URL callback sebagai URI **Redirect**:
   + `https://{agentSpaceId}.aidevops.global.app.aws/authorizer/idp/callback`

1. (Opsional) Tambahkan URI pengalihan keluar untuk mengarahkan pengguna kembali ke aplikasi web setelah logout:
   + `https://{agentSpaceId}.aidevops.global.app.aws/authorizer/welcome`

1. Pilih **Konfigurasi**

### Langkah 4: Verifikasi konfigurasi
<a name="step-4-verify-the-configuration"></a>

1. Arahkan ke **URL Login** yang ditampilkan di konsol:
   + `https://{agentSpaceId}.aidevops.global.app.aws/authorizer/idp/login`

1. Anda harus diarahkan ke halaman login penyedia identitas Anda

1. Masuk dengan kredensi perusahaan Anda

1. Setelah otentikasi berhasil, Anda diarahkan kembali ke aplikasi web Agent Space

## Memperbarui konfigurasi iDP
<a name="updating-idp-configuration"></a>

Anda dapat memutar rahasia klien tanpa memutuskan sambungan:

1. Di konsol AWS DevOps Agen, pilih Ruang Agen

1. Buka tab **Access**

1. Di bawah **Konfigurasi Penyedia Identitas Eksternal**, pilih **Putar rahasia klien**

1. Masukkan **Rahasia Klien** baru

1. Pilih **Simpan**.

Untuk mengubah bidang konfigurasi iDP lainnya (seperti URL Penerbit, ID Klien, atau penyedia identitas), Anda harus memutuskan sambungan iDP yang ada dan mengonfigurasi yang baru.

## Cara pengguna mengakses aplikasi web Agent Space
<a name="how-users-access-the-agent-space-web-app"></a>

Setelah mengkonfigurasi otentikasi iDP eksternal:
+ Bagikan URL aplikasi web Agent Space dengan pengguna yang berwenang
+ Saat pengguna menavigasi ke URL, mereka diarahkan ke halaman login penyedia identitas Anda
+ Setelah memasukkan kredensialnya (dan menyelesaikan MFA jika dikonfigurasi oleh IDP Anda), mereka dialihkan kembali ke aplikasi web Agent Space
+ Sesi disegarkan secara otomatis - lihat [Manajemen sesi](#session-management) untuk detailnya

## Manajemen sesi
<a name="session-management"></a>

Sesi IDP eksternal untuk aplikasi web Agent Space memiliki karakteristik sebagai berikut:
+ **Durasi sesi** - Sesi browser berlangsung hingga 8 jam. Ini tidak dapat dikonfigurasi di AWS DevOps Agen. Jika masa pakai sesi IDP Anda melebihi 8 jam, pengguna dapat diautentikasi ulang secara otomatis pada kunjungan berikutnya tanpa memasukkan kredensialnya. Konfigurasikan sesi IDP dan masa pakai token Anda sesuai dengan persyaratan keamanan organisasi Anda.
+ **Penyegaran kredenal** - Sesi disegarkan secara otomatis menggunakan token penyegaran OIDC tanpa mengharuskan pengguna untuk mengautentikasi ulang
+ **Otentikasi multi-faktor** — Didukung saat dikonfigurasi di penyedia identitas Anda. IDP menangani MFA selama login — tidak ada konfigurasi tambahan yang diperlukan di Agen AWS DevOps 

### Perilaku logout
<a name="logout-behavior"></a>

Saat pengguna mengklik **Logout** di aplikasi web:

1. Semua cookie sesi segera dihapus

1. Pengguna dialihkan ke titik akhir logout OIDC penyedia identitas untuk mengakhiri sesi SSO

1. Jika URI pengalihan keluar dikonfigurasi, pengguna akan diarahkan kembali ke halaman selamat datang aplikasi web

### Mencabut akses pengguna
<a name="revoking-user-access"></a>

Untuk segera mencabut akses pengguna, Anda dapat mencabut sesi mereka secara langsung di portal admin penyedia identitas Anda:
+ **Okta** - Di Konsol Admin Okta, arahkan ke **Direktori** > **Orang**, pilih pengguna, pilih **Tindakan Lainnya** > **Hapus** Sesi Pengguna
+ **Microsoft Entra ID** **- Di portal Azure, navigasikan ke **Pengguna**, pilih pengguna, dan pilih Cabut sesi**

## Pertimbangan keamanan
<a name="security-considerations"></a>

**Penyimpanan rahasia klien** - Rahasia klien yang Anda berikan selama penyiapan dienkripsi menggunakan kunci KMS yang dikelola pelanggan jika Anda menyediakannya saat membuat Ruang Agen, atau kunci milik layanan sebaliknya. Itu tidak pernah dikembalikan dalam respons API atau ditampilkan di konsol setelah konfigurasi awal.

**Rotasi rahasia klien** - Rahasia klien Entra memiliki kedaluwarsa yang dapat dikonfigurasi. Tetapkan pengingat untuk memutar rahasia sebelum kedaluwarsa menggunakan opsi **Rotate client secret** di konsol AWS DevOps Agen. Jika rahasia kedaluwarsa, pengguna tidak akan dapat masuk sampai diputar.

**Manajemen seumur hidup token** — Masa pakai token (token akses, token penyegaran) yang dikeluarkan oleh penyedia identitas Anda dikendalikan oleh konfigurasi IDP Anda. Kami merekomendasikan untuk mengonfigurasi masa pakai token yang sesuai di IDP Anda:
+ **Okta** **— Konfigurasikan masa pakai token di bawah **Keamanan** > **API** > **Server Otorisasi** > Kebijakan Akses**
+ **Microsoft Entra ID** — Konfigurasikan masa pakai token menggunakan kebijakan seumur hidup [token](https://learn.microsoft.com/en-us/entra/identity-platform/configurable-token-lifetimes)

**Klaim grup** — Jangan aktifkan klaim grup dalam konfigurasi token penyedia identitas Anda. AWS DevOps Agen saat ini tidak menggunakan keanggotaan grup dari IDP Anda.

**Pengenal pengguna** — AWS DevOps Agen menggunakan klaim khusus penyedia untuk mengidentifikasi pengguna secara unik:
+ **Okta** — Menggunakan `sub` klaim dari token ID
+ **Microsoft Entra ID** — Menggunakan klaim `oid` (pengenal objek) dari token ID

Pengidentifikasi ini tidak dapat diubah dan muncul di CloudTrail log untuk tujuan audit.

## Memutuskan sambungan iDP eksternal
<a name="disconnecting-external-idp"></a>

1. Di konsol AWS DevOps Agen, pilih Ruang Agen

1. Buka tab **Access**

1. Di bawah **Akses pengguna**, pilih Putuskan **sambungan**

1. Tinjau dampak yang tercantum dalam dialog konfirmasi dan konfirmasi

Memutuskan sambungan akan:
+ Hapus konfigurasi iDP dari Ruang Agen
+ Mencegah pengguna masuk melalui penyedia identitas eksternal
+ Hapus obrolan individual dan riwayat artefak yang terkait dengan akun pengguna iDP

Sesi pengguna aktif akan berlanjut hingga kedaluwarsa atau penyegaran kredenal berikutnya gagal.

## Pemecahan masalah
<a name="troubleshooting"></a>
+ **Pengalihan ke IDP** gagal — Verifikasi URL Penerbit cocok dengan titik akhir penemuan OIDC IDP Anda. Untuk Okta, pastikan **Penerbit** diatur ke **URL Okta** (bukan **Dinamis**) pada tab **Masuk**. Untuk Entra, gunakan `https://login.microsoftonline.com/{tenant-id}/v2.0` formatnya.
+ **Akses ditolak atau kesalahan kebijakan (Okta)** - Verifikasi pengguna atau grup mereka ditetapkan ke aplikasi di bawah **Penugasan**. Periksa **Masuk** **> Aturan Kebijakan** Masuk.
+ **Kesalahan konfigurasi IDP setelah login** — Penyedia identitas Anda tidak mengembalikan token penyegaran. Pastikan `offline_access` cakupan dan jenis hibah token refresh diaktifkan:
  + **Okta** **— Buka tab **Umum** aplikasi Anda dan aktifkan kotak centang **Refresh Token** di bawah Jenis Grant**
  + **Entra** - Buka izin **API dan pastikan terdaftar di bawah izin** `offline_access` yang didelegasikan
+ **Otentikasi berhasil tetapi aplikasi web menunjukkan kesalahan** — Verifikasi URI pengalihan di iDP Anda sama persis dengan **URL Callback** yang ditampilkan di konsol Agen. AWS DevOps 
+ **Kegagalan otentikasi** — Jika klaim opsional **grup** diaktifkan di IDP Anda, nonaktifkan. AWS DevOps Agen tidak menggunakan klaim grup.
+ **Login gagal setelah otentikasi IDP** **- Untuk Entra, verifikasi tidak `requestedAccessTokenVersion` diatur ke `null` dalam Manifest aplikasi.** Untuk Okta, verifikasi **URL Penerbit** sudah benar.
+ **Halaman kesalahan setelah mengklik Keluar (Okta)** **- Jika Anda melihat `post_logout_redirect_uri` kesalahan setelah keluar, tambahkan `https://{agentSpaceId}.aidevops.global.app.aws/authorizer/welcome` sebagai **URI pengalihan Keluar** di tab Umum aplikasi Okta Anda.**
+ **Pengguna tetap berada di halaman penyedia identitas setelah logout (Entra)** **— Untuk mengarahkan pengguna kembali ke aplikasi web setelah logout, tambahkan `https://{agentSpaceId}.aidevops.global.app.aws/authorizer/welcome` sebagai **URI Pengalihan** di halaman Otentikasi aplikasi Entra Anda.**