All Products
Search
Document Center

Resource Access Management:Respons SAML untuk SSO berbasis peran

Last Updated:Mar 06, 2026

Topik ini menjelaskan sintaks respons Security Assertion Markup Language (SAML) untuk single sign-on (SSO) berbasis peran serta elemen-elemen dalam pernyataan SAML yang terdapat pada respons tersebut.

Informasi latar belakang

Selama proses SSO berbasis SAML 2.0, setelah identitas pengguna diverifikasi, penyedia identitas (IdP) menghasilkan respons otentikasi dan mengirimkannya ke Alibaba Cloud melalui browser atau program. Respons ini berisi pernyataan SAML yang mematuhi spesifikasi HTTP POST binding dalam SAML 2.0. Alibaba Cloud menggunakan pernyataan SAML tersebut untuk menentukan status logon dan identitas pengguna. Oleh karena itu, pernyataan SAML harus mencakup elemen-elemen yang diperlukan oleh Alibaba Cloud; jika tidak, SSO akan gagal.

Respons SAML

Pastikan setiap respons SAML yang dikirim oleh IdP Anda ke Alibaba Cloud mencakup elemen-elemen berikut. Jika tidak, SSO akan gagal.

<saml2p:Response>
    <saml2:Issuer>...</saml2:Issuer>
    <saml2p:Status>
        ...
    </saml2p:Status>
    <saml2:Assertion>
        <saml2:Issuer>...</saml2:Issuer>
        <ds:Signature>
            ...
        </ds:Signature>
        <saml2:Subject>
            <saml2:NameID>${NameID}</saml2:NameID>
            <saml2:SubjectConfirmation>
                ...
            </saml2:SubjectConfirmation>
        </saml2:Subject>
        <saml2:Conditions>
            <saml2:AudienceRestriction>
                <saml2:Audience>${Audience}</saml2:Audience>
            </saml2:AudienceRestriction>
        </saml2:Conditions>
        <saml2:AuthnStatement>
            ...
        </saml2:AuthnStatement>
        <saml2:AttributeStatement>
            <saml2:Attribute Name="https://www.aliyun.com/SAML-Role/Attributes/RoleSessionName">
                ...
            </saml2:Attribute>
            <saml2:Attribute Name="https://www.aliyun.com/SAML-Role/Attributes/Role">
                ...
            </saml2:Attribute>
        </saml2:AttributeStatement>
    </saml2:Assertion>
</saml2p:Response>

Elemen dalam pernyataan SAML

  • Common elements in SAML 2.0

    Untuk informasi lebih lanjut tentang SAML 2.0, lihat SAML 2.0.

    Elemen

    Deskripsi

    Issuer

    Nilai elemen Issuer harus sesuai dengan EntityID dalam file metadata yang Anda unggah untuk IdP di Konsol Manajemen Alibaba Cloud.

    Signature

    Pernyataan SAML harus ditandatangani. Elemen Signature harus berisi informasi seperti nilai signature dan algoritma signature. Signature digunakan untuk memverifikasi bahwa pernyataan SAML yang ditandatangani tidak diubah setelah tanda tangan dibuat.

    Subject

    Elemen Subject harus berisi sub-elemen berikut:

    • Hanya satu sub-elemen NameID. Anda harus menentukan nilai NameID berdasarkan SAML 2.0. Namun, Alibaba Cloud tidak menentukan identitas logon berdasarkan nilai NameID.

    • Hanya satu sub-elemen SubjectConfirmation yang berisi sub-elemen SubjectConfirmationData. Sub-elemen SubjectConfirmationData harus berisi atribut berikut:

      • NotOnOrAfter: periode validitas pernyataan SAML.

      • Recipient: penerima pernyataan SAML. Alibaba Cloud memeriksa penerima pernyataan SAML berdasarkan nilai atribut ini. Oleh karena itu, Anda harus mengatur atribut ini ke https://signin.alibabacloud.com/saml-role/sso.

      Skrip berikut memberikan contoh elemen Subject:

      <Subject>
        <NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">administrator</NameID>        
        <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">   
          <SubjectConfirmationData NotOnOrAfter="2019-01-01T00:01:00.000Z" Recipient="https://signin.alibabacloud.com/saml-role/sso"/>    
        </SubjectConfirmation>
      </Subject>

    Conditions

    Elemen Conditions harus berisi sub-elemen AudienceRestriction. Sub-elemen AudienceRestriction dapat berisi satu atau beberapa sub-elemen Audience. Nilai sub-elemen Audience harus berupa urn:alibaba:cloudcomputing:international.

    Skrip berikut memberikan contoh elemen Conditions:

    <Conditions>
      <AudienceRestriction>
        <Audience>urn:alibaba:cloudcomputing:international</Audience>
      </AudienceRestriction>
    </Conditions>           
  • Custom elements required by Alibaba Cloud

    Alibaba Cloud mengharuskan elemen AttributeStatement dalam pernyataan SAML berisi sub-elemen Attribute berikut:

    • Atribut Role: elemen Attribute dengan atribut Name diatur ke https://www.aliyun.com/SAML-Role/Attributes/Role.

      Sub-elemen ini wajib dan berisi satu atau beberapa sub-elemen AttributeValue. AttributeValue mencantumkan role yang dapat diasumsikan oleh pengguna di IdP Anda. Nilai sub-elemen AttributeValue adalah pasangan ARN (Alibaba Cloud Resource Name) role dan ARN IdP yang dipisahkan koma. Anda dapat melihat ARN role dan ARN IdP di konsol RAM.

      • Untuk melihat ARN role, buka halaman Roles dan klik nama Peran RAM. Di halaman yang muncul, Anda dapat melihat ARN role di bagian Basic Information.

      • Untuk melihat ARN IdP, buka halaman SSO. Di tab Role-based SSO, klik nama IdP. Anda dapat melihat ARN IdP di bagian IdP Information.

      Catatan

      Jika atribut role berisi beberapa sub-elemen AttributeValue, pengguna harus memilih role yang akan diasumsikan saat login ke Konsol Manajemen Alibaba Cloud.

      Skrip berikut memberikan contoh atribut Role attribute:

      <Attribute Name="https://www.aliyun.com/SAML-Role/Attributes/Role">      
        <AttributeValue>acs:ram::$account_id:role/role1,acs:ram::$account_id:saml-provider/provider1</AttributeValue>
        <AttributeValue>acs:ram::$account_id:role/role2,acs:ram::$account_id:saml-provider/provider1</AttributeValue>
      </Attribute>               
      Catatan

      Nilai $account_id adalah ID Akun Alibaba Cloud yang mendefinisikan Peran RAM dan IdP.

    • Atribut peran adalah elemen Attribute yang memiliki atribut Name bernilai https://www.aliyun.com/SAML-Role/Attributes/RoleSessionName.

      Sub-elemen ini wajib dan hanya berisi satu sub-elemen AttributeValue yang menentukan informasi pengguna yang akan ditampilkan di konsol RAM dan log ActionTrail. Jika beberapa pengguna mengasumsikan role yang sama, tentukan nilai RoleSessionName yang berbeda untuk setiap pengguna agar setiap nilai secara unik mengidentifikasi pengguna tersebut. Misalnya, Anda dapat menggunakan ID karyawan atau alamat email.

      Nilai dalam sub-elemen AttributeValue harus terdiri dari 2 hingga 64 karakter dan hanya boleh berisi huruf, angka, serta karakter khusus berikut: - _ . @ =.

      Skrip berikut memberikan contoh atribut RoleSessionName attribute:

      <Attribute Name="https://www.aliyun.com/SAML-Role/Attributes/RoleSessionName">
        <AttributeValue>user_id</AttributeValue>
      </Attribute>                     
    • Atribut SessionDuration: sub-elemen Attribute dengan atribut Name diatur ke https://www.aliyun.com/SAML-Role/Attributes/SessionDuration.

      Elemen ini opsional dan hanya berisi satu sub-elemen AttributeValue yang menentukan durasi maksimum setiap sesi. Nilai sub-elemen ini adalah bilangan bulat dalam satuan detik, dengan nilai minimum 900 detik dan tidak boleh melebihi durasi sesi maksimum yang ditentukan untuk atribut Role.

      Skrip berikut memberikan contoh atribut SessionDuration attribute:

      <Attribute Name="https://www.aliyun.com/SAML-Role/Attributes/SessionDuration">
        <AttributeValue>1800</AttributeValue>
      </Attribute>                  
  • Maximum role session duration

    Jika Anda menggunakan konsol untuk mengasumsikan role, durasi sesi maksimum ditentukan oleh nilai atribut SessionDuration dalam pernyataan SAML. Jika atribut SessionNotOnOrAfter pada elemen AuthnStatement juga ditentukan, durasi sesi maksimum adalah nilai yang lebih kecil antara SessionDuration dan SessionNotOnOrAfter. Jika baik SessionDuration maupun SessionNotOnOrAfter tidak ditentukan, durasi sesi maksimum adalah nilai yang lebih kecil antara parameter Maximum Session Duration role dan parameter Logon Session Valid For. Untuk informasi lebih lanjut, lihat Mengelola pengaturan keamanan Pengguna RAM dan Menentukan durasi sesi maksimum untuk Peran RAM.

    Jika Anda telah menentukan parameter DurationSeconds saat memanggil operasi AssumeRoleWithSAML dan telah menentukan atribut SessionNotOnOrAfter dalam elemen AuthnStatement, durasi sesi maksimum adalah nilai yang lebih kecil antara DurationSeconds dan SessionNotOnOrAfter. Untuk informasi lebih lanjut, lihat AssumeRoleWithSAML. Jika baik SessionDuration maupun SessionNotOnOrAfter tidak ditentukan, durasi sesi maksimum secara default adalah 3.600 detik.

Referensi

Bagaimana cara melihat respons SAML di Google Chrome?