All Products
Search
Document Center

Resource Access Management:Respons SAML untuk SSO berbasis peran

Last Updated:Jul 01, 2026

Mencantumkan elemen wajib dan opsional dalam respons dan pernyataan SAML untuk SSO berbasis peran.

Informasi latar belakang

Dalam alur SSO berbasis SAML 2.0, setelah pengguna perusahaan masuk ke IdP, IdP menghasilkan respons otentikasi yang berisi pernyataan SAML sesuai dengan binding HTTP-POST SAML 2.0. Browser atau aplikasi secara otomatis meneruskan respons ini ke Alibaba Cloud, yang kemudian memverifikasi status masuk pengguna dan mengekstrak subjek yang masuk berdasarkan pernyataan tersebut. Pernyataan tersebut harus mencakup semua elemen yang dipersyaratkan oleh Alibaba Cloud; jika tidak, SSO akan gagal.

Respons SAML

IdP Anda harus mengirim respons SAML ke Alibaba Cloud yang mencakup semua elemen wajib berikut. Jika salah satu elemen tidak tersedia, 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 pernyataan SAML

  • Standard SAML 2.0 elements

    Elemen-elemen ini mengikuti spesifikasi protokol SAML 2.0.

    Element

    Description

    Issuer

    Nilai Issuer harus sesuai dengan EntityID dalam file metadata IdP yang Anda unggah saat membuat entitas IdP di Alibaba Cloud.

    Signature

    Alibaba Cloud mengharuskan pernyataan SAML yang ditandatangani untuk mencegah manipulasi. Elemen Signature dan elemen anaknya harus berisi informasi seperti nilai signature dan algoritma penandatanganan.

    Subject

    Elemen Subject harus berisi elemen-elemen berikut:

    • Tepat satu elemen NameID. Tetapkan nilai NameID sesuai protokol SAML 2.0, biasanya ke identifier pengguna di IdP. Alibaba Cloud tidak menggunakan nilai ini untuk mengidentifikasi subjek yang masuk.

    • Tepat satu elemen SubjectConfirmation yang berisi elemen SubjectConfirmationData. Elemen SubjectConfirmationData memerlukan atribut-atribut berikut:

      • NotOnOrAfter: Menentukan waktu kedaluwarsa pernyataan SAML.

      • Recipient: Alibaba Cloud memeriksa nilai atribut ini untuk memverifikasi bahwa pernyataan tersebut ditujukan untuk Alibaba Cloud. Nilainya harus https://signin.alibabacloud.com/saml-role/sso.

      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 mencakup elemen AudienceRestriction dengan setidaknya satu elemen Audience. Salah satu elemen Audience harus memiliki nilai urn:alibaba:cloudcomputing:international.

    Catatan

    Jika Anda mengonfigurasi beberapa aplikasi SAML di IdP Anda yang mengarah ke RAM Alibaba Cloud dan menggunakan Entity ID dengan parameter (misalnya, urn:alibaba:cloudcomputing:international#abc.123), elemen Audience harus persis sesuai dengan Entity ID, termasuk sufiks parameternya.

    Contoh elemen Conditions:

    <Conditions>
      <AudienceRestriction>
        <Audience>urn:alibaba:cloudcomputing:international</Audience>
      </AudienceRestriction>
    </Conditions>           
  • Alibaba Cloud custom elements

    Elemen AttributeStatement harus mencakup elemen Attribute berikut yang spesifik untuk Alibaba Cloud:

    • Elemen Attribute dengan atribut Name bernilai https://www.aliyun.com/SAML-Role/Attributes/Role

      Elemen ini wajib dan mendukung beberapa nilai. Setiap AttributeValue menentukan peran yang dapat diasumsikan pengguna, diformat sebagai ARN peran RAM dan ARN IdP yang dipisahkan tanda koma (,). Dapatkan kedua ARN tersebut dari Konsol:

      • ARN peran RAM: Di halaman Roles, klik nama peran RAM, lalu temukan ARN di bagian Basic Information.

      • ARN IdP: Di halaman SSO, pada tab Role-based SSO, klik nama IdP, lalu temukan ARN di bagian Details.

      Catatan

      Jika diberikan beberapa nilai, pengguna yang masuk ke Konsol dapat memilih peran dari daftar yang ditampilkan.

      Contoh elemen 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

      $account_id adalah ID Akun Alibaba Cloud yang memiliki peran RAM dan IdP tersebut.

    • Elemen Attribute dengan atribut Name bernilai https://www.aliyun.com/SAML-Role/Attributes/RoleSessionName

      Elemen ini wajib dan hanya menerima satu nilai. AttributeValue muncul di informasi pengguna Konsol dan log ActionTrail. Gunakan RoleSessionName yang unik untuk setiap pengguna (misalnya ID karyawan atau email) agar dapat membedakan pengguna yang mengasumsikan peran yang sama.

      AttributeValue harus terdiri dari 2 hingga 64 karakter dan dapat berisi huruf, angka, serta karakter khusus berikut: -_.@=.

      Contoh elemen Attribute RoleSessionName:

      <Attribute Name="https://www.aliyun.com/SAML-Role/Attributes/RoleSessionName">
        <AttributeValue>user_id</AttributeValue>
      </Attribute>                     
    • Elemen Attribute dengan atribut Name bernilai https://www.aliyun.com/SAML-Role/Attributes/SessionDuration

      Elemen ini opsional dan menerima paling banyak satu nilai. AttributeValue harus berupa bilangan bulat yang merepresentasikan durasi sesi dalam detik. Nilai minimum adalah 900, dan nilai maksimum tidak boleh melebihi durasi sesi maksimum yang dikonfigurasi untuk peran RAM yang ditentukan dalam atribut Role.

      Contoh elemen Attribute SessionDuration:

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

    Untuk masuk ke Konsol, durasi sesi ditentukan berdasarkan nilai SessionDuration dalam pernyataan SAML. Jika elemen AuthnStatement juga menetapkan SessionNotOnOrAfter, maka durasi sesi yang berlaku adalah nilai yang lebih pendek antara SessionDuration dan SessionNotOnOrAfter. Jika keduanya tidak ditentukan, durasi sesi mengacu pada pengaturan Maximum Session Duration untuk peran tersebut, dengan batas maksimum sesuai pengaturan Login session duration. Kelola pengaturan keamanan pengguna RAM. Atur durasi sesi maksimum untuk peran RAM.

    Untuk masuk secara programatik, jika Anda menentukan DurationSeconds saat memanggil AssumeRoleWithSAML dan juga menentukan SessionNotOnOrAfter dalam elemen AuthnStatement, masa berlaku token STS adalah yang lebih pendek antara DurationSeconds dan SessionNotOnOrAfter. Jika keduanya tidak ditentukan, masa berlaku default adalah 3.600 detik.

Dokumen terkait

Bagaimana cara melihat respons SAML di browser?