文档

通过角色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。