Tüm Ürünler
Search
Belge Merkezi

Identity as a Service:Specifications for SAML attribute statement values

Son Güncelleme:Oct 06, 2026

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

user.username

Kullanıcı adı.

user.displayName

Görünen ad.

user.phone (kullanımdan kaldırıldı)

Ülke kodu hariç cep telefonu numarası (kullanımdan kaldırıldı).

user.phoneNumber

Ülke kodu hariç cep telefonu numarası.

user.email

E-posta adresi.

user.status

Kullanıcı durumu. Geçerli değerler:

  • enabled

  • disabled

user.primaryOrganizationalUnitId

Kullanıcının birincil organizasyon biriminin ID değeri.

ObjectToJsonString(user.organizationalUnits)

Kullanıcının ait olduğu organizasyon birimleri.

Biçim: JSON dizi dizisi.

ArrayJoin(ArrayMap(user.organizationalUnits, __item.organizationalUnitId), ",")

Kullanıcının ait olduğu organizasyon birimlerinin ID değerleri.

Biçim: Virgülle ayrılmış dize.

ObjectToJsonString(user.groups)

Hesabın ait olduğu gruplar.

Biçim: JSON dizi dizisi.

ArrayJoin(ArrayMap(user.groups, __item.groupId), ",")

Hesabın ait olduğu grupların ID değerleri.

Biçim: Virgülle ayrılmış dize.

ArrayJoin(ArrayMap(user.groups, __item.groupExternalId), ",")

Hesabın ait olduğu grupların harici ID değerleri.

Biçim: Virgülle ayrılmış dize.

ObjectToJsonString(user.customFields)

Tüm özel alanlar.

Biçim: JSON dizi dizisi.

user.customFieldMap.$fieldname$.fieldValue

Bir özel alanın değeri. $fieldname$ ifadesini alan adıyla değiştirin.

appUser.username

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

  1. 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>
  2. 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>
  3. 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>
  4. 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>
  5. 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>
  6. 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>
  7. 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>
  8. user.customFieldMap.age.fieldValue ifadesi 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>