All Products
Search
Document Center

Identity as a Service:Spesifikasi nilai pernyataan atribut SAML

Last Updated:Jun 21, 2026

Topik ini menjelaskan spesifikasi untuk mengonfigurasi nilai dalam pernyataan atribut SAML serta menyediakan contoh konfigurasinya.

Nilai pernyataan atribut

Type

Value

Description

variable

user.username

Username.

user.displayName

Nama tampilan.

user.phone (deprecated)

Nomor ponsel, tidak termasuk kode negara (deprecated).

user.phoneNumber

Nomor ponsel, tidak termasuk kode negara.

user.email

Alamat email.

user.status

Status pengguna. Nilai yang valid:

  • enabled

  • disabled

user.primaryOrganizationalUnitId

ID unit organisasi utama pengguna.

ObjectToJsonString(user.organizationalUnits)

Unit organisasi tempat pengguna tergabung.

Format: array string JSON.

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

ID unit organisasi tempat pengguna tergabung.

Format: string dipisahkan koma.

ObjectToJsonString(user.groups)

Kelompok tempat akun tersebut tergabung.

Format: string array JSON.

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

ID kelompok tempat akun tersebut tergabung.

Format: string dipisahkan koma.

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

ID eksternal kelompok tempat akun tersebut tergabung.

Format: string dipisahkan koma.

ObjectToJsonString(user.customFields)

Semua bidang kustom.

Format: string array JSON.

user.customFieldMap.$fieldname$.fieldValue

Nilai bidang kustom. Ganti $fieldname$ dengan nama bidang.

appUser.username

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: organizationalUnitsObjectToJsonString(user.organizationalUnits), organizationalUnitIdsArrayJoin(ArrayMap(user.organizationalUnits, __item.organizationalUnitId), ","), groupsObjectToJsonString(user.groups), groupIdsArrayJoin(ArrayMap(user.groups, __item.groupId), ","), groupExternalIdsArrayJoin(ArrayMap(user.groups, __item.groupExternalId), ","), groupIdArraySamlArray(ArrayMap(user.groups, __item.groupId)), customFieldsObjectToJsonString(user.customFields), dan ageuser.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

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