通过角色SSO进行角色扮演
进行角色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。