进行角色SSO时,通过调用AssumeRoleWithSAML接口,可以获取一个扮演该角色的临时身份。本文为您介绍通过角色SSO进行角色扮演的事件示例及含义。
示例
以下示例表示名为Alice@example.com的企业自有身份的用户,在北京时间2021年08月02日14:05:20使用阿里云账号159498693826****下的testrole角色进行了角色SSO。
{
"apiVersion": "2015-04-01",
"requestId": "3462D6AF-4434-4690-8CAD-E54A",
"eventType": "ApiCall",
"userIdentity": {
"accountId": "159498693826****",
"type": "saml-user",
"userName": "Alice@example.com"
},
"acsRegion": "cn-shanghai",
"eventName": "AssumeRoleWithSAML",
"requestParameters": {
"AcsHost": "sts.aliyuncs.com",
"SAMLAssertion": "****",
"AcsProduct": "Sts",
"RequestId": "3462D6AF-4434-4690-8CAD-E54A",
"DurationSeconds": 3600,
"HostId": "sts.aliyuncs.com",
"SAMLProviderArn": "acs:ram::159498693826****:saml-provider/test",
"RoleArn": "acs:ram::159498693826****:role/testrole"
},
"eventSource": "sts.aliyuncs.com",
"serviceName": "Sts",
"eventTime": "2021-08-02T06:05:20Z",
"referencedResources": {
"ACS::RAM::AccessKey": [
"STS.NUQNP4PiGyckMsNiGELCs****"
]
},
"userAgent": "Jakarta Commons-HttpClient/3.1",
"eventId": "3462D6AF-4434-4690-8CAD-****",
"additionalEventData": {
"Scheme": "https"
},
"responseElements": {
"RequestId": "3462D6AF-4434-4690-8CAD-E54A",
"SAMLAssertionInfo": {
"SubjectType": "persis****",
"Issuer": "https://sts.windows.net/d1ee1acd9a83906adg****/",
"Recipient": "https://signin.aliyun.com/saml-role/sso",
"Subject": "Alice@example.com"
},
"AssumedRoleUser": {
"Arn": "acs:ram::159498693826****:role/testrole/Alice",
"AssumedRoleId": "179432153826****:Alice"
},
"Credentials": {
"AccessKeyId": "STS.NUQNP4PiGyckMsNiGELCs****",
"AccessKeySecret": "Ss7sq2j0ZoJujZnmVgXcu6QT9e****",
"Expiration": "2021-08-02T07:05:20Z"
}
},
"errorCode": "",
"errorMessage": "",
"eventVersion": "1",
"sourceIpAddress": "192.168.XX.XX"
}示例中关键字段含义如下:
userIdentity.accountId:扮演角色所属的阿里云账号ID。取值为159498693826****,表示RAM角色所属的阿里云账号。userIdentity.type:请求者的身份类型。取值为saml-user,表示企业自有身份的用户。userIdentity.userName:请求者的用户名。取值为Alice@example.com,表示当前进行角色SSO的用户名。eventName:事件名称。取值为AssumeRoleWithSAML,表示获取一个扮演该角色的临时身份。SAMLProviderArn:RAM中创建的身份提供商的ARN。格式为acs:ram::<account_ID>:saml-provider/<saml_provider_ID>,account_ID表示阿里云账号ID,saml_provider_ID表示身份提供商名称。取值为acs:ram::159498693826****:saml-provider/test,表示阿里云账号ID为159498693826****,身份提供商名称为test。RoleArn:要扮演的角色的ARN。格式为acs:ram::<accountID>:role/<roleName>,account_ID表示阿里云账号ID,roleName表示要扮演的角色名称。取值为acs:ram::159498693826****:role/testrole,表示阿里云账号ID为159498693826****,要扮演的角色名称为testrole。AssumedRoleUser:角色扮演临时身份。取值为{"Arn": "acs:ram::159498693826****:role/testrole/Alice","AssumedRoleId": "179432153826****:Alice"},表示临时身份的ARN为acs:ram::159498693826****:role/testrole/Alice、临时身份的ID为179432153826****:Alice。Credentials:访问凭证。取值为{"AccessKeyId": "STS.NUQNP4PiGyckMsNiGELCs****","AccessKeySecret": "Ss7sq2j0ZoJujZnmVgXcu6QT9e****","Expiration": "2021-08-02T07:05:20Z"},表示访问密钥ID为STS.NUQNP4PiGyckMsNiGELCs****、访问密钥为Ss7sq2j0ZoJujZnmVgXcu6QT9e****、失效时间为2021-08-02T07:05:20Z。referencedResources:事件影响的资源列表。取值为{ "ACS::RAM::AccessKey": [ "STS.NUQNP4PiGyckMsNiGELCs****"]},表示本次角色扮演获取的临时凭证。eventTime:事件的发生时间(UTC格式)。取值为2021-08-02T06:05:20Z,表示北京时间2021年08月02日14:05:20。