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 dataMengangkat 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. Persiapan2.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 AD3.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 ADFSAda 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


Saya sudah menginstalnya sehingga terlihat sedikit berbeda.
Selanjutnya, Selanjutnya, Instal ...
5. Mengkonfigurasi ADFSTautan ini memungkinkan Anda untuk memanggil konfigurator ADFS



Sambungkan ke AD dengan pengguna saat ini.

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

Kami memilih akun layanan
ADFSSVC yang kami buat di
bagian 3.4

Buat database baru

Memeriksa ...

Pemeriksaan pra-pemasangan ... Klik Konfigurasi

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


Selanjutnya, buka
Trust Relationships dan pilih
Relying Party TrustsTombol Kanan ->
Tambahkan Relying Party Trust
Memilih
Klaim dengan sadar
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.

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

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

Periksa kembali dan Selesai.

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

Kami mulai menambahkan aturan kami:
5.1 Memperoleh nama pengguna. Templat:
Transformasikan Klaim Masuk lalu isi bidang:
a. Nama aturan klaim:
NameIdb. Jenis klaim yang masuk:
Nama Akun Windowsc. Jenis klaim keluar:
ID Namad. Format ID nama keluar:
Pengidentifikasi Persistene. Lewati semua nilai klaim:
dicentang
Selesai
5.2 Memperoleh daftar peran untuk pengguna. Templat:
Kirim Atribut LDAP sebagai Klaim ,

bidang:
a. Nama aturan klaim:
RoleSessionNameb. Toko atribut:
Direktori Aktifc. Atribut LDAP:
Alamat Emaild. Jenis Klaim Keluar:
https://aws.amazon.com/SAML/Attributes/RoleSessionName

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
bidang
a. Nama aturan klaim:
Dapatkan Grup Iklanb. 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);

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:
Rolessb. 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-"));

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

Ini akan dijelaskan dalam ayat 6.
6. Mengkonfigurasi AWSSemua tindakan terjadi di konsol AWS :)
6.1 Membuat Penyedia SAML
a.
IAM -> Penyedia identitas -> Buat Penyedia
Jenis Penyedia - SAML
Nama Penyedia -
ADFSDokumen Metadata - ubin ini harus diambil (diunduh) di server FS Anda di
https: ///FederationMetadata/2007-06/FederationMetadata.xmljika file tidak tersedia, lihat poin 8 - Kesalahan yang diketahui dan solusinya

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

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)

tetapkan tag jika perlu ...

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
7. Pengujian7.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.

Masukkan data AD pengguna kami

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

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)
8. Kesalahan yang diketahui dan solusinya8.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
Solusi 2: Mungkin ada kesalahan dalam menulis grup dalam AD dan peran dalam AWS