Untuk single sign-on (SSO) berbasis role yang menggunakan Security Assertion Markup Language (SAML), panggil operasi AssumeRoleWithSAML guna memperoleh kredensial identitas sementara (token Security Token Service (STS)) untuk sebuah RAM role.
Deskripsi operasi
Prasyarat
Dapatkan respons SAML dari penyedia identitas eksternal (IdP).
Buat penyedia identitas SAML di Resource Access Management (RAM). Untuk informasi selengkapnya, lihat Create a SAML identity provider atau CreateSAMLProvider.
Buat RAM role untuk penyedia identitas SAML. Untuk informasi selengkapnya, lihat Create a RAM role for an identity provider atau CreateRole.
Coba sekarang
Test
RAM authorization
Parameter permintaan
|
Parameter |
Type |
Required |
Description |
Example |
| SAMLProviderArn |
string |
No |
Nama Sumber Daya Alibaba Cloud (ARN) dari SAML IdP yang dibuat di RAM. Format: Anda dapat melihat ARN IdP di Konsol RAM atau dengan memanggil operasi API:
|
acs:ram::123456789012****:saml-provider/company1 |
| RoleArn |
string |
No |
ARN dari RAM role yang akan diasumsikan. Entitas tepercaya dari RAM role tersebut adalah SAML IdP. Untuk informasi selengkapnya, lihat Create a RAM role for an identity provider atau CreateRole. Format: Anda dapat melihat ARN role tersebut di Konsol RAM atau dengan memanggil operasi API:
|
acs:ram::123456789012****:role/adminrole |
| SAMLAssertion |
string |
No |
Pernyataan SAML yang telah dienkripsi Base64. Panjang nilai harus antara 4 hingga 100.000 karakter. Catatan
Ambil respons SAML lengkap dari IdP. Jangan hanya menggunakan bidang pernyataan SAML saja. |
base64_encoded_saml_assertion |
| Policy |
string |
No |
Kebijakan akses untuk lebih membatasi izin token STS. Parameter ini bekerja sebagai berikut:
Panjang nilai harus antara 1 hingga 2.048 karakter. |
url_encoded_policy |
| DurationSeconds |
integer |
No |
Durasi masa berlaku token. Satuan: detik. Nilai minimum adalah 900 detik. Nilai maksimum adalah nilai parameter Anda dapat mengatur parameter |
3600 |
Karena operasi AssumeRoleWithSAML menggunakan pernyataan SAML untuk otentikasi identitas dan mengizinkan akses anonim, Anda tidak perlu menentukan parameter permintaan umum Signature, SignatureMethod, SignatureVersion, atau AccessKeyId. Untuk informasi selengkapnya tentang parameter permintaan umum, lihat Common request parameters.
Elemen respons
|
Element |
Type |
Description |
Example |
|
object |
Parameter respons. |
||
| RequestId |
string |
ID permintaan. |
6894B13B-6D71-4EF5-88FA-F32781734A7F |
| SAMLAssertionInfo |
object |
Informasi mengenai pernyataan SAML. |
|
| SubjectType |
string |
Format elemen NameID dalam pernyataan SAML. Jika awalannya adalah |
persistent |
| Subject |
string |
Nilai bidang |
alice@example.com |
| Issuer |
string |
Nilai bidang |
http://example.com/adfs/services/trust |
| Recipient |
string |
Nilai atribut |
https://signin.aliyun.com/saml-role/SSO |
| AssumedRoleUser |
object |
Identitas temporary dari role yang diasumsikan. |
|
| AssumedRoleId |
string |
ID identitas temporary. |
34458433936495****:alice |
| Arn |
string |
ARN identitas temporary. |
acs:sts::123456789012****:assumed-role/AdminRole/alice |
| Credentials |
object |
Kredensial akses. |
|
| SecurityToken |
string |
Token keamanan. Catatan
Panjang token keamanan bersifat variabel. Jangan menerapkan batas panjang maksimum pada token keamanan. |
******** |
| Expiration |
string |
Waktu kedaluwarsa token. Waktu dalam UTC. |
2015-04-09T11:52:19Z |
| AccessKeySecret |
string |
Rahasia AccessKey. |
wyLTSmsyPGP1ohvvw8xYgB29dlGI8KMiH2pK**** |
| AccessKeyId |
string |
ID AccessKey. |
STS.L4aBSCSJVMuKg5U1**** |
| SourceIdentity |
string |
Identitas sumber. Saat Anda mengasumsikan sebuah role, Anda dapat menentukan identitas sumber untuk pengguna role tersebut. Identitas sumber digunakan sebagai identitas awal sesi. Nilai identitas sumber tetap dipertahankan sepanjang sesi pengasumsian role berantai dan tidak dapat diubah. Hal ini menjamin ketertelusuran dan keamanan operasi. Parameter ini tidak dikembalikan jika Anda tidak menetapkan identitas sumber. |
Alice |
Contoh
Respons sukses
JSONformat
{
"RequestId": "6894B13B-6D71-4EF5-88FA-F32781734A7F",
"SAMLAssertionInfo": {
"SubjectType": "persistent",
"Subject": "alice@example.com",
"Issuer": "http://example.com/adfs/services/trust",
"Recipient": "https://signin.aliyun.com/saml-role/SSO"
},
"AssumedRoleUser": {
"AssumedRoleId": "34458433936495****:alice",
"Arn": "acs:sts::123456789012****:assumed-role/AdminRole/alice"
},
"Credentials": {
"SecurityToken": "********",
"Expiration": "2015-04-09T11:52:19Z",
"AccessKeySecret": "wyLTSmsyPGP1ohvvw8xYgB29dlGI8KMiH2pK****",
"AccessKeyId": "STS.L4aBSCSJVMuKg5U1****"
},
"SourceIdentity": "Alice"
}
Kode kesalahan
|
HTTP status code |
Error code |
Error message |
Description |
|---|---|---|---|
| 500 | InternalError | STS Server Internal Error happened, please send the RequestId to us. |
Lihat Error Codes untuk daftar lengkap.
Catatan rilis
Lihat Release Notes untuk daftar lengkap.