Bu konu, SAML öznitelik ifadelerindeki değerlerin yapılandırılmasına ilişkin teknik özellikleri açıklar ve yapılandırma örnekleri sunar.
Öznitelik ifadesi değerleri
|
Tür |
Değer |
Açıklama |
|
değişken |
|
Kullanıcı adı. |
|
|
Görünen ad. |
|
|
|
Ülke kodu hariç cep telefonu numarası (kullanımdan kaldırıldı). |
|
|
|
Ülke kodu hariç cep telefonu numarası. |
|
|
|
E-posta adresi. |
|
|
|
Kullanıcı durumu. Geçerli değerler:
|
|
|
|
Kullanıcının birincil organizasyon biriminin ID değeri. |
|
|
|
Kullanıcının ait olduğu organizasyon birimleri. Biçim: JSON dizi dizisi. |
|
|
|
Kullanıcının ait olduğu organizasyon birimlerinin ID değerleri. Biçim: Virgülle ayrılmış dize. |
|
|
|
Hesabın ait olduğu gruplar. Biçim: JSON dizi dizisi. |
|
|
|
Hesabın ait olduğu grupların ID değerleri. Biçim: Virgülle ayrılmış dize. |
|
|
|
Hesabın ait olduğu grupların harici ID değerleri. Biçim: Virgülle ayrılmış dize. |
|
|
|
Tüm özel alanlar. Biçim: JSON dizi dizisi. |
|
|
|
Bir özel alanın değeri. |
|
|
|
Uygulama hesabı. |
|
|
sabıt |
Sabit bir dize. Değeri çift tırnak içine alın (""). |
|
|
ifade |
Değerleri esnek şekilde birleştirmenize ve dönüştürmenize olanak tanıyan gelişmiş bir özelliktir. Daha fazla bilgi için bkz. gelişmiş hesap alanı ifadeleri. |
|
SAML ifade örnekleri
Örnek kullanıcı nesnesi
{
...
"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"
}
],
...
}
Örnek SAML konsol yapılandırması
SAML uygulama yapılandırma sayfasında Signing Algorithm için SHA256 seçeneğini seçin (yalnızca RSA-SHA256 desteklenir). Attribute Statements bölümünde aşağıdaki öznitelik eşlemelerini yapılandırın: 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) ve age → user.customFieldMap.age.fieldValue. Bu yapılandırma, bu ek kullanıcı alanlarını SAML yanıtında döndürür; böylece uygulama bu verileri ayrıştırabilir. SSO initiator için Support portal and application initiated seçeneğini seçin. Bu ayar, kullanıcıların SSO işlemini hem Alibaba Cloud IDaaS portal sayfasından hem de uygulamadan başlatmasına olanak tanır.
Elde edilen SAML onaylama örnekleri
-
ObjectToJsonString(user.organizationalUnits)ifadesi aşağıdaki SAML onaylamasını oluşturur:<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> -
ArrayJoin(ArrayMap(user.organizationalUnits, __item.organizationalUnitId), ",")ifadesi aşağıdaki SAML onaylamasını oluşturur:<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> -
ObjectToJsonString(user.groups)ifadesi aşağıdaki SAML onaylamasını oluşturur:<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> -
ArrayJoin(ArrayMap(user.groups, __item.groupId), ",")ifadesi aşağıdaki SAML onaylamasını oluşturur:<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> -
ArrayJoin(ArrayMap(user.groups, __item.groupExternalId), ",")ifadesi aşağıdaki SAML onaylamasını oluşturur:<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> -
SamlArray(ArrayMap(user.groups, __item.groupId))ifadesi aşağıdaki SAML onaylamasını oluşturur:<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> -
ObjectToJsonString(user.customFields)ifadesi aşağıdaki SAML onaylamasını oluşturur:<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> -
user.customFieldMap.age.fieldValueifadesi aşağıdaki SAML onaylamasını oluşturur:<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>