Menggunakan Layanan Federasi AD untuk Memberi Otorisasi Pengguna AWS dengan Distribusi Hak

Terjemahan gratis artikel Jeff Wierer " Mengaktifkan Federasi untuk AWS Menggunakan Windows Active Directory, ADFS, dan SAML 2.0 " dengan tambahan dan klarifikasi.

1. Sumber data
2. Persiapan
3. konfigurasi AD
4. Instal ADFS
5. Mengkonfigurasi ADFS
6. Mengkonfigurasi AWS
7. Pengujian
8. Kesalahan yang diketahui dan solusinya



1. Sumber data

Mengangkat AD Windows 2016
Penulis menggunakan EC2 dari Windows 2008R2 di Amazon, saya memiliki mesin virtual di jaringan Windows 2016 lokal dengan akses Internet.
Akun AWS (yang akan membayar semuanya)
Lengan lurus
Tujuan: Untuk memungkinkan pengguna AD untuk masuk ke AWS dengan hak yang ditentukan (untuk mendapatkan peran) tergantung pada grup AD.

Skema:



1. Pengguna (akan menjadi Bob) membuka halaman (https://ADFS.domain.name/adfs/ls/IdpInitiatedSignOn.aspx)

2. Bob berwenang (ADFS meminta bidang yang diperlukan dalam AD)

3. Browser Bob menerima data yang diperlukan dalam format SAML dari ADFS

4. Browser mengirim data yang diterima ke layanan otorisasi SAML (https://signin.aws.amazon.com/saml)

5. Bob Browser Mendapat URL Login untuk Konsol AWS

2. Persiapan

2.1. Anda telah menaikkan AD dan pengguna mulai yang berada di grup yang berbeda.

2.2. Raised IIS ( Cara Meningkatkan Peran IIS )

2.3. Hasilkan sertifikat SSL yang ditandatangani sendiri. ( cara membuat sertifikat SSL yang ditandatangani sendiri ) segera instal untuk situs default.

3. konfigurasi AD

3.1. Anda perlu membuat dua grup AWS-Production dan AWS-Billing

3.2. Buat pengguna Bob (Perhatian !!! pengguna harus mengisi bidang email: bob@youdomain.com, jika tidak, Anda akan menerima kesalahan saat memasuki konsol AWS)

3.3. Tambahkan Bob ke Grup AWS-Production dan AWS-Billing Buatan

3.4. Buat pengguna ADFSSVC lain. Akun layanan khusus untuk menghubungkan ke AD.

4. Instal ADFS

Ada beberapa versi ADFS

  • ADFS 1.0 - Windows Server 2003 R2 (unduhan tambahan)
  • ADFS 1.1 - Windows Server 2008 dan Windows Server 2008 R2
  • ADFS 2.0 - Windows Server 2008 dan Windows Server 2008 R2 (unduh dari Microsoft.com)
  • ADFS 2.1 - Windows Server 2012
  • ADFS 3.0 - Windows Server 2012 R2 [5]

  • ADFS 4.0 - Windows Server 2016 - Pilihan Kami
  • ADFS 5.0 - Windows Server 2019

Penulis mengunduh ADFS v2 dan menginstalnya.
Kami akan meningkatkan peran ADFS
Tidak ada kesulitan di sana, tiga tangkapan layar akan membantu Anda mengklik tombol di sebelah>

Tangkapan layar
gambar
gambar
gambar
Saya sudah menginstalnya sehingga terlihat sedikit berbeda.
Selanjutnya, Selanjutnya, Instal ...

5. Mengkonfigurasi ADFS

Tautan ini memungkinkan Anda untuk memanggil konfigurator ADFS

gambar

gambar

gambar

Sambungkan ke AD dengan pengguna saat ini.

gambar

Di sini kita memerlukan sertifikat yang kita hasilkan di IIS (Bagian 2.3) dan nama ADFS masa depan kita (adfs.you-domain.com), baris tampilan adalah NAMA PERUSAHAAN ANDA

gambar

Kami memilih akun layanan ADFSSVC yang kami buat di bagian 3.4

gambar

Buat database baru

gambar

Memeriksa ...

gambar
Pemeriksaan pra-pemasangan ... Klik Konfigurasi

gambar

Selesai

Konsol dimulai dengan mencari "Manajemen AD" di istilah pencarian windows.

gambar

gambar

Selanjutnya, buka Trust Relationships dan pilih Relying Party Trusts

Tombol Kanan -> Tambahkan Relying Party Trust

gambar

Memilih Klaim dengan sadar

gambar

Pilih "Impor data pihak yang dipercaya diterbitkan secara online ..." dan masukkan baris https://signin.aws.amazon.com/static/saml-metadata.xml itu adalah sama untuk semua orang dan disediakan oleh AWS.

gambar

Kendarai nama " AWS GO " sesuai kebijakan Anda atau biarkan apa adanya.

gambar

Kami memilih "Izinkan semua pengguna ..." akses diizinkan untuk semua.

gambar

Periksa kembali dan Selesai.

gambar

Klik kanan pada relai kami dan pilih "Edit Kebijakan Penerbitan Klaim"

gambar

Kami mulai menambahkan aturan kami:

5.1 Memperoleh nama pengguna. Templat: Transformasikan Klaim Masuk lalu isi bidang:

a. Nama aturan klaim: NameId
b. Jenis klaim yang masuk: Nama Akun Windows
c. Jenis klaim keluar: ID Nama
d. Format ID nama keluar: Pengidentifikasi Persisten
e. Lewati semua nilai klaim: dicentang

gambar

Selesai

5.2 Memperoleh daftar peran untuk pengguna. Templat: Kirim Atribut LDAP sebagai Klaim ,

gambar

bidang:

a. Nama aturan klaim: RoleSessionName
b. Toko atribut: Direktori Aktif
c. Atribut LDAP: Alamat Email
d. Jenis Klaim Keluar:

 https://aws.amazon.com/SAML/Attributes/RoleSessionName 

gambar

Selesai

5.3 Catatan Penting: Dalam aturan ini, semua peran untuk pengguna akan diekstraksi dan dipetakan ke peran yang sama dalam IAM (yaitu, peran yang dimulai dengan AWS -...). Aturan ini mengambil semua keanggotaan AD. Templat: Kirim Klaim Menggunakan Aturan Kustom

gambar

bidang
a. Nama aturan klaim: Dapatkan Grup Iklan
b. Peran khusus:

 c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => add(store = "Active Directory", types = ("http://temp/variable"), query = ";tokenGroups;{0}", param = c.Value); 

gambar

untuk menambahkan aturan berikutnya, Anda harus kembali setelah langkah 6 (atau Anda dapat menambahkannya dan kemudian mengubah ID)

5.4 Tambahkan aturan lain seperti 5.3 maka akan menjadi seperti ini:

a. Nama aturan klaim: Roless
b. Peran khusus:

 c:[Type == "http://temp/variable", Value =~ "(?i)^AWS-"] => issue(Type = "https://aws.amazon.com/SAML/Attributes/Role", Value = RegExReplace(c.Value, "AWS-", "arn:aws:iam::123456789012:saml-provider/ADFS,arn:aws:iam::123456789012:role/ADFS-")); 

gambar

Di sini Anda perlu mengubah nilai 123456789012 ke milik Anda dari IAM AWS

gambar

Ini akan dijelaskan dalam ayat 6.

6. Mengkonfigurasi AWS

Semua tindakan terjadi di konsol AWS :)

6.1 Membuat Penyedia SAML

a. IAM -> Penyedia identitas -> Buat Penyedia
Jenis Penyedia - SAML
Nama Penyedia - ADFS
Dokumen Metadata - ubin ini harus diambil (diunduh) di server FS Anda di https: ///FederationMetadata/2007-06/FederationMetadata.xml
jika file tidak tersedia, lihat poin 8 - Kesalahan yang diketahui dan solusinya

gambar

b. Buat dua peran untuk pengguna kami.
IAM Peran Peran -> Buat Peran

gambar

Buat sketsa kebijakan yang diperlukan (misalnya, Tagihan (kebijakan default) untuk pengguna yang akan memantau uang, atau Anda dapat membuat kebijakan sebelumnya sendiri dan menetapkannya di sini)

gambar

tetapkan tag jika perlu ...

gambar

Beri nama: Nama setelah "-" harus cocok dengan nama dalam AD setelah "-" ASFS- Billing = AWS- Billing dalam hal ini pengguna Anda akan berada di grup yang benar.

Dan klik Buat peran

gambar

7. Pengujian

7.1 Di peramban favorit Anda, buka halaman server Anda https://localhost/adfs/ls/IdpInitiatedSignOn.aspx (sertifikat yang ditandatangani sendiri perlu dikonfirmasi)

Halaman dengan konten serupa akan terbuka.

gambar

Masukkan data AD pengguna kami

gambar

Dan kami diarahkan ke halaman AWS dengan proposal peran di mana pengguna akan bekerja di AWS

gambar

ini karena Bob kami ada dalam dua grup AD sekaligus (AWS-Production dan AWS-billing).

Kami memilih penagihan AWS dan melihat pengaturan yang diperlukan (kami dapat melihat dan mengedit anggaran tetapi tidak memiliki hak untuk membuat EC2 sesuai dengan peran yang kami tetapkan untuk itu)

gambar

8. Kesalahan yang diketahui dan solusinya

8.1 Portal tidak merespons atau tidak dapat menemukan halaman yang diperlukan. Sebagai contoh:

 https://localhost/adfs/ls/IdpInitiatedSignOn.aspx 

Solusi: Di server ADFS, Anda harus menjalankan perintah PowerShell

 Set-AdfsProperties -EnableIdPInitiatedSignonPage $true 

Anda dapat langsung memasang logo di halaman pembuka

 Set-AdfsWebTheme -TargetName default -Illustration @{path="C:\path\adfslogo.jpg"} 

8.2 Saat mengalihkan ke konsol AWS, Anda mendapatkan kesalahan dari formulir:

 RoleSessionName is required in AuthnResponse (Service: AWSSecurityTokenService; Status Code: 400; Error Code: InvalidIdentityToken; Request ID: e4ddf8cd-d7b7-11e9-8729-09c90d2561b0). Please try again 

Solusi: Kemungkinan besar pengguna Anda tidak memiliki bidang email dalam AD

gambar

Solusi 2: Mungkin ada kesalahan dalam menulis grup dalam AD dan peran dalam AWS

Source: https://habr.com/ru/post/id466859/


All Articles