Topik ini menjelaskan cara mengimplementasikan single sign-on (SSO) berbasis peran dari Active Directory Federation Services (AD FS) ke Alibaba Cloud. Dalam contoh ini, AD FS diimplementasikan pada instance Elastic Compute Service (ECS) yang menjalankan Windows Server 2012 R2. AD FS bertindak sebagai penyedia identitas (IdP), dan Alibaba Cloud sebagai penyedia layanan (SP).
Informasi Latar Belakang
Sebuah perusahaan menggunakan Active Directory (AD) untuk mengelola pengguna dan AD FS untuk mengonfigurasi aplikasi perusahaan seperti Alibaba Cloud. Setelah SSO berbasis peran dikonfigurasi, administrator AD dapat mengontrol akses pengguna ke sumber daya akun Alibaba Cloud berdasarkan grup pengguna. Dalam contoh ini, perusahaan memiliki dua akun Alibaba Cloud, Akun 1 dan Akun 2, serta dua grup pengguna AD, Aliyun-<account-id>-ADFS-Admin dan Aliyun-<account-id>-ADFS-Reader. Pengguna bernama Alice termasuk dalam kedua grup tersebut. Perusahaan ingin mengimplementasikan SSO berbasis peran dari AD FS ke Akun 1 dan Akun 2.
<account-id> menunjukkan ID dari Akun 1 atau Akun 2. Oleh karena itu, pengguna Alice termasuk dalam empat grup pengguna. Grup dengan nama yang mengandung Admin memiliki izin Admin pada Akun 1 atau Akun 2. Grup dengan nama yang mengandung Reader memiliki izin Reader pada Akun 1 atau Akun 2.
Konfigurasi Microsoft AD yang dijelaskan dalam topik ini hanya untuk referensi dan membantu Anda memahami prosedur konfigurasi log masuk SSO ke Alibaba Cloud. Alibaba Cloud tidak menyediakan layanan konsultasi untuk konfigurasi Microsoft AD. Untuk informasi lebih lanjut, lihat Membangun domain AD pada instance Windows.
Proses
Gambar berikut menunjukkan proses SSO berbasis peran.

Setelah administrator AD menyelesaikan konfigurasi SSO berbasis peran, pengguna Alice dapat masuk ke Konsol Manajemen Alibaba Cloud sesuai proses yang ditunjukkan pada gambar. Untuk informasi lebih lanjut, lihat Ikhtisar.
Proses ini menunjukkan bahwa pengguna dapat diautentikasi tanpa perlu memberikan nama pengguna atau kata sandi Alibaba Cloud selama proses masuk.
Langkah 1: Konfigurasikan AD FS sebagai IdP SAML tepercaya di Alibaba Cloud
Masuk ke Konsol Resource Access Management (RAM) Alibaba Cloud. Buat IdP bernama ADFS dan unggah file metadata. Anda dapat memperoleh file metadata AD FS dari
https://<ADFS-server>/federationmetadata/2007-06/federationmetadata.xml.Catatan<ADFS-server> menunjukkan nama domain atau alamat IP server AD FS Anda.
Untuk informasi lebih lanjut, lihat Konfigurasikan pengaturan SAML Alibaba Cloud untuk SSO berbasis peran.
CatatanJika ukuran file metadata IdP melebihi batas atas, Anda dapat menghapus konten di bagian
<fed:ClaimTypesRequested>dan<fed:ClaimTypesOffered>.Buat dua Peran RAM bernama ADFS-Admin dan ADFS-Reader untuk Akun 1. Saat membuat Peran RAM, pilih IdP sebagai jenis entitas tepercaya dan ADFS sebagai IdP tepercaya. Kemudian, lampirkan kebijakan
AdministratorAccesske peran ADFS-Admin dan kebijakanReadOnlyAccesske peran ADFS-Reader.Untuk informasi lebih lanjut, lihat Buat Peran RAM untuk IdP tepercaya.
Ulangi langkah-langkah sebelumnya untuk membuat IdP yang sama dan dua Peran RAM untuk Akun 2. Kemudian, lampirkan kebijakan
AdministratorAccesske peran ADFS-Admin dan kebijakanReadOnlyAccesske peran ADFS-Reader.
Setelah Anda menyelesaikan konfigurasi, Akun 1 dan Akun 2 mempercayai informasi tentang identitas pengguna dan peran. Informasi tersebut disertakan dalam permintaan Security Assertions Markup Language (SAML) yang dikirim dari server AD FS Anda.
Langkah 2: Konfigurasikan Alibaba Cloud sebagai SP SAML tepercaya di AD FS
Di AD FS, SP SAML adalah relying party. Untuk mengonfigurasi Alibaba Cloud sebagai SP SAML tepercaya di AD FS, lakukan langkah-langkah berikut:
Di bilah navigasi atas Server Manager, pilih Tools > AD FS Management.
Klik kanan Relying Parties dan pilih Add Relying Party Trust.

Konfigurasikan file metadata SP SAML Alibaba Cloud untuk pihak yang bergantung. Anda dapat memperoleh file metadata dari URL berikut:
https://signin.alibabacloud.com/saml-role/sp-metadata.xml.
Selesaikan panduan sesuai petunjuk.
Langkah 3: Konfigurasikan atribut asersi SAML untuk SP Alibaba Cloud
Aseri SAML yang dikeluarkan oleh AD FS harus berisi atribut NameID, Role, dan RoleSessionName. AD FS menyediakan atribut-atribut ini menggunakan aturan transformasi penerbitan.
NameIDLakukan langkah-langkah berikut untuk menetapkan atribut
NameIDdalam asersi SAML ke nama akun Windows pengguna di AD:Klik kanan nama tampilan pihak yang bergantung dan pilih Edit Claim Issuance Policy.
Klik Issuance Transform Rules untuk menambahkan aturan.
CatatanAturan transformasi penerbitan menunjukkan cara mentransformasi atribut pengguna yang diketahui dan menerbitkannya sebagai atribut dalam asersi SAML. Jika Anda ingin menerbitkan nama akun Windows pengguna di AD sebagai
NameID, Anda harus membuat aturan transformasi penerbitan.Tetapkan Claim rule template ke Transform an Incoming Claim.

Konfigurasikan parameter berikut dan klik Finish.
Tetapkan Claim rule name ke NameID.
Tetapkan Incoming claim type ke Windows account name.
Tetapkan Outgoing claim type ke Name ID.
Tetapkan Outgoing name ID format ke Persistent Identifier.
Pilih Pass through all claim values.

Setelah Anda menyelesaikan konfigurasi, AD FS mengirimkan atribut
NameIDdalam format yang diminta oleh Alibaba Cloud. Kode berikut menunjukkan contohnya:<NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"> YourDomain\rolessouser </NameID>
RoleSessionNameLakukan langkah-langkah berikut untuk menetapkan atribut
RoleSessionNamedalam asersi SAML ke User Principal Name (UPN) pengguna di AD:Di kotak dialog Issuance Transform Rules, klik Add Rule.
Tetapkan Claim rule template ke Send LDAP Attributes as Claims.

Konfigurasikan parameter berikut dan klik Finish.
Tetapkan Claim rule name ke RoleSessionName.
Tetapkan Attribute store ke Active Directory.
Pilih User-Principal-Name di kolom LDAP Attribute. Anda juga dapat menggunakan opsi lain, seperti Email, berdasarkan kebutuhan bisnis Anda.
Masukkan
https://www.aliyun.com/SAML-Role/Attributes/RoleSessionNamedi kolom Outgoing Claim Type.

Setelah Anda menyelesaikan konfigurasi, AD FS mengirimkan atribut
RoleSessionNamedalam format yang diminta oleh Alibaba Cloud. Kode berikut menunjukkan contohnya:<Attribute Name="https://www.aliyun.com/SAML-Role/Attributes/RoleSessionName"> <AttributeValue>rolessouser@example.com<AttributeValue> </Attribute>RoleLakukan langkah-langkah berikut untuk mengonfigurasi atribut kustom dan menetapkan nilainya ke nama Peran RAM Alibaba Cloud yang terkait dengan grup AD pengguna:
Di kotak dialog Issuance Transform Rules, klik Add Rule.
Tetapkan Claim rule template ke Send Claims Using a Custom Rule dan klik Next.

Konfigurasikan parameter berikut dan klik Finish.
Tetapkan Claim rule name ke Get AD Groups.
Di bidang Custom rule, masukkan informasi yang diperlukan. Tetapkan parameter ini berdasarkan contoh berikut:
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);
CatatanAturan ini digunakan untuk mendapatkan grup AD tempat pengguna termasuk. Aturan ini disimpan dalam variabel antara http://temp/variable.
Di kotak dialog Issuance Transform Rules, klik Add Rule.
Ulangi langkah-langkah sebelumnya dan klik Finish.
Tetapkan Claim rule name ke Role.
Di bidang Custom rule, masukkan informasi yang diperlukan. Tetapkan parameter ini berdasarkan contoh berikut:
c:[Type == "http://temp/variable", Value =~ "(?i)^Aliyun-([\d]+)"] => issue(Type = "https://www.aliyun.com/SAML-Role/Attributes/Role",Value = RegExReplace(c.Value, "Aliyun-([\d]+)-(.+)", "acs:ram::$1:role/$2,acs:ram::$1:saml-provider/<provider-name>"));CatatanTetapkan <provider-name> ke nama IdP yang dibuat di Langkah 1: Konfigurasikan AD FS sebagai IdP SAML tepercaya di Alibaba Cloud. Dalam contoh ini, tetapkan nama menjadi ADFS.

Jika pengguna termasuk dalam grup Aliyun-<account-id>-ADFS-Admin atau Aliyun-<account-id>-ADFS-Reader, atribut SAML dihasilkan dan dipetakan ke peran ADFS-Admin atau ADFS-Reader di Alibaba Cloud berdasarkan aturan ini.
Setelah Anda menyelesaikan konfigurasi, IdP Anda mengembalikan bagian yang diperlukan dari asersi SAML ke Alibaba Cloud. Kode berikut menunjukkan contohnya:
<Attribute Name="https://www.aliyun.com/SAML-Role/Attributes/Role"> <AttributeValue>acs:ram::<account-id>:role/ADFS-Admin,acs:ram::<account-id>:saml-provider/<provider-name></AttributeValue> </Attribute>
Verifikasi konfigurasi SSO berbasis peran
Masuk ke portal AD FS untuk SSO di
https://<ADFS-server>/adfs/ls/IdpInitiatedSignOn.aspx. Pilih aplikasi Alibaba Cloud dan masukkan nama pengguna dan kata sandi pengguna Anda.Catatan<ADFS-server> menunjukkan nama domain atau alamat IP server AD FS Anda. Jika URL tidak tersedia, jalankan perintah
Set-AdfsProperties -EnableIdpInitiatedSignonPage $Truedi PowerShell.
Di halaman SSO Berbasis Peran Alibaba Cloud, pilih Peran RAM yang ingin Anda gunakan dan klik Log On.
CatatanJika pengguna Anda termasuk hanya dalam satu grup AD, pengguna tersebut sesuai dengan hanya satu Peran RAM di Alibaba Cloud. Dalam kasus ini, Anda dapat masuk ke Konsol Manajemen Alibaba Cloud tanpa perlu memilih Peran RAM.
