Topik ini menjelaskan spesifikasi untuk mengonfigurasi nilai dalam pernyataan atribut SAML serta menyediakan contoh konfigurasinya.
Nilai pernyataan atribut
|
Type |
Value |
Description |
|
variable |
|
Username. |
|
|
Nama tampilan. |
|
|
|
Nomor ponsel, tidak termasuk kode negara (deprecated). |
|
|
|
Nomor ponsel, tidak termasuk kode negara. |
|
|
|
Alamat email. |
|
|
|
Status pengguna. Nilai yang valid:
|
|
|
|
ID unit organisasi utama pengguna. |
|
|
|
Unit organisasi tempat pengguna tergabung. Format: array string JSON. |
|
|
|
ID unit organisasi tempat pengguna tergabung. Format: string dipisahkan koma. |
|
|
|
Kelompok tempat akun tersebut tergabung. Format: string array JSON. |
|
|
|
ID kelompok tempat akun tersebut tergabung. Format: string dipisahkan koma. |
|
|
|
ID eksternal kelompok tempat akun tersebut tergabung. Format: string dipisahkan koma. |
|
|
|
Semua bidang kustom. Format: string array JSON. |
|
|
|
Nilai bidang kustom. Ganti |
|
|
|
Akun aplikasi. |
|
|
constant |
String tetap. Masukkan nilai di antara tanda kutip ganda (""). |
|
|
expression |
Fitur advanced yang memungkinkan Anda menggabungkan dan mentransformasi nilai secara fleksibel. Untuk informasi selengkapnya, lihat ekspresi bidang akun advanced. |
|
Contoh ekspresi SAML
Objek pengguna contoh
{
...
"customFieldMap": {
"place": {
"fieldName": "place",
"fieldValue": "beijing"
},
"age": {
"fieldName": "age",
"fieldValue": "18"
}
},
"identityProviderUserMap": {
"idp_m2gngriuenktdkxxxxxx": {
"identityProviderId": "idp_m2gngriuenktdkxxxxxx",
"identityProviderType": "ding_talk",
"identityProviderExternalId": "corp_1234xxxxxxx",
"identityProviderUserId": "b2ed5fc0xxxxx"
}
},
"organizationalUnits": [
{
"organizationalUnitId": "ou_sdfadtaaxxxxxx",
"organizationalUnitName": "AD",
"primary": false
},
{
"organizationalUnitId": "ou_werttxxxxxx",
"organizationalUnitName": "name_002",
"primary": true
}
],
"primaryOrganizationalUnitId": "ou_werttxxxxxx",
"customFields": [
{
"fieldName": "place",
"fieldValue": "beijing"
},
{
"fieldName": "age",
"fieldValue": "18"
}
],
"groups": [
{
"groupId": "group_jp6al4sn4n4wjgjxxxxxx",
"groupName": "group1",
"groupExternalId": "group_jp6al4sn4n4wjgjxxxxxx"
},
{
"groupId": "group_vavikcxewkf5h3oxxxxxx",
"groupName": "group2",
"groupExternalId": "group_vavikcxewkf5h3oxxxxxx"
}
],
...
}
Contoh konfigurasi Konsol SAML
Pada halaman konfigurasi aplikasi SAML, pilih SHA256 untuk Signing Algorithm (hanya RSA-SHA256 yang didukung). Di bagian Attribute Statements, konfigurasikan pemetaan atribut berikut: organizationalUnits → ObjectToJsonString(user.organizationalUnits), organizationalUnitIds → ArrayJoin(ArrayMap(user.organizationalUnits, __item.organizationalUnitId), ","), groups → ObjectToJsonString(user.groups), groupIds → ArrayJoin(ArrayMap(user.groups, __item.groupId), ","), groupExternalIds → ArrayJoin(ArrayMap(user.groups, __item.groupExternalId), ","), groupIdArray → SamlArray(ArrayMap(user.groups, __item.groupId)), customFields → ObjectToJsonString(user.customFields), dan age → user.customFieldMap.age.fieldValue. Konfigurasi ini mengembalikan bidang pengguna tambahan dalam respons SAML, yang kemudian dapat diurai oleh aplikasi. Untuk SSO initiator, pilih Support portal and application initiated agar pengguna dapat memulai SSO baik dari halaman portal Alibaba Cloud IDaaS maupun dari aplikasi.
Contoh hasil pernyataan SAML
-
Ekspresi
ObjectToJsonString(user.organizationalUnits)menghasilkan pernyataan SAML berikut:<saml2:Attribute Name="organizationalUnits" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string"> [{"organizationalUnitId":"ou_sdfadtaaxxxxxx","organizationalUnitName":"AD","primary":false},{"organizationalUnitId":"ou_werttxxxxxx","organizationalUnitName":"name_002","primary":true}] </saml2:AttributeValue> </saml2:Attribute> -
Ekspresi
ArrayJoin(ArrayMap(user.organizationalUnits, __item.organizationalUnitId), ",")menghasilkan pernyataan SAML berikut:<saml2:Attribute Name="organizationalUnitIds" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string"> ou_sdfadtaaxxxxxx,ou_werttxxxxxx </saml2:AttributeValue> </saml2:Attribute> -
Ekspresi
ObjectToJsonString(user.groups)menghasilkan pernyataan SAML berikut:<saml2:Attribute Name="groups" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string"> [{"groupId":"group_jp6al4sn4n4wjgjxxxxxx","groupName":"group1","groupExternalId":"group_jp6al4sn4n4wjgjxxxxxx"},{"groupId":"group_vavikcxewkf5h3oxxxxxx","groupName":"group2","groupExternalId":"group_vavikcxewkf5h3oxxxxxx"}] </saml2:AttributeValue> </saml2:Attribute> -
Ekspresi
ArrayJoin(ArrayMap(user.groups, __item.groupId), ",")menghasilkan pernyataan SAML berikut:<saml2:Attribute Name="groupIds" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string"> group_jp6al4sn4n4wjgjxxxxxx,group_vavikcxewkf5h3oxxxxxx </saml2:AttributeValue> </saml2:Attribute> -
Ekspresi
ArrayJoin(ArrayMap(user.groups, __item.groupExternalId), ",")menghasilkan pernyataan SAML berikut:<saml2:Attribute Name="groupExternalIds" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string"> group_jp6al4sn4n4wjgjxxxxxx,group_vavikcxewkf5h3oxxxxxx </saml2:AttributeValue> </saml2:Attribute> -
Ekspresi
SamlArray(ArrayMap(user.groups, __item.groupId))menghasilkan pernyataan SAML berikut:<saml2:Attribute Name="groupIdArray" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:type="xsd:string"> group_jp6al4sn4n4wjgjxxxxxx </saml2:AttributeValue> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string"> group_vavikcxewkf5h3oxxxxxx </saml2:AttributeValue> </saml2:Attribute> -
Ekspresi
ObjectToJsonString(user.customFields)menghasilkan pernyataan SAML berikut:<saml2:Attribute Name="customFields" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:type="xsd:string"> [{"fieldName":"place","fieldValue":"beijing"},{"fieldName":"age","fieldValue":"18"}] </saml2:AttributeValue> </saml2:Attribute> -
Ekspresi
user.customFieldMap.age.fieldValuemenghasilkan pernyataan SAML berikut:<saml2:Attribute Name="age" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string"> 18 </saml2:AttributeValue> </saml2:Attribute>