Obtém um token do Security Token Service (STS) para assumir uma função RAM durante o SSO de função baseado em OIDC chamando a operação AssumeRoleWithOIDC.
Descrição da operação
Antes de começar
Certifique-se de ter obtido um token OIDC de um provedor de identidade (IdP) externo.
Certifique-se de ter criado um IdP OIDC no RAM. Para mais informações, consulte Criar um IdP OIDC ou CreateOIDCProvider.
Certifique-se de ter criado uma função RAM cuja entidade confiável seja o IdP OIDC. Para mais informações, consulte Criar uma função RAM para um IdP confiável ou CreateRole.
Experimente agora
Testar
Autorização RAM
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| OIDCProviderArn |
string |
Não |
O Alibaba Cloud Resource Name (ARN) do IdP OIDC. Você pode visualizar o ARN do IdP OIDC no console do Resource Access Management (RAM) ou chamando uma operação de API:
|
acs:ram::113511544585****:oidc-provider/TestOidcIdp |
| RoleArn |
string |
Não |
O ARN da função RAM a ser assumida. Você pode visualizar o ARN da função no console do Resource Access Management (RAM) ou chamando uma operação de API:
|
acs:ram::113511544585****:role/testoidc |
| OIDCToken |
string |
Não |
O token OIDC emitido pelo IdP externo. Comprimento: 4 a 20.000 caracteres. Nota
Forneça o token OIDC original sem decodificação Base64. |
eyJraWQiOiJKQzl3eHpyaHFKMGd0**** |
| Policy |
string |
Não |
Uma política de permissão adicional anexada ao token STS para restringir ainda mais suas permissões:
Comprimento: 1 a 2.048 caracteres. |
{"Statement": [{"Action": ["*"],"Effect": "Allow","Resource": ["*"]}],"Version":"1"} |
| DurationSeconds |
integer |
Não |
O período de validade do token. Unidade: segundos. Valor padrão: 3600. Valor mínimo: 900. Valor máximo: o valor especificado por Para definir a duração máxima da sessão |
3600 |
| RoleSessionName |
string |
Sim |
O nome da sessão da função. Este é um parâmetro definido pelo usuário. Defina este parâmetro como a identidade do chamador da API, como um nome de usuário. Nos logs do ActionTrail, você pode usar diferentes valores de RoleSessionName para distinguir os operadores reais mesmo quando a mesma função RAM é usada, permitindo auditoria de acesso no nível do usuário. Formato: O valor pode conter letras, dígitos, pontos (.), arrobas (@), hifens (-) e sublinhados (_). Comprimento: 2 a 64 caracteres. |
TestOidcAssumedRoleSession |
Como a operação AssumeRoleWithOIDC usa um token OIDC para autenticação e suporta acesso anônimo, você não precisa fornecer os parâmetros de solicitação comuns Signature, SignatureMethod, SignatureVersion ou AccessKeyId. Para mais informações sobre parâmetros de solicitação comuns, consulte Parâmetros de solicitação comuns.
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
object |
Os parâmetros de resposta. |
||
| RequestId |
string |
O ID da solicitação. |
3D57EAD2-8723-1F26-B69C-F8707D8B565D |
| OIDCTokenInfo |
object |
As informações analisadas do token OIDC. |
|
| Subject |
string |
O assunto OIDC. Isso corresponde ao campo |
KryrkIdjylZb7agUgCEf**** |
| Issuer |
string |
A URL do emissor OIDC. Isso corresponde ao campo |
https://dev-xxxxxx.okta.com |
| ClientIds |
string |
O público-alvo OIDC. Vários valores são separados por vírgulas (,). Isso corresponde ao campo |
496271242565057**** |
| ExpirationTime |
string |
O horário de expiração do token OIDC (UTC). |
2021-10-20T04:27:09Z |
| IssuanceTime |
string |
O horário de emissão do token OIDC (UTC). |
2021-10-20T03:27:09Z |
| VerificationInfo |
string |
As informações de verificação do token OIDC. Para mais informações, consulte Gerenciar um IdP OIDC. |
Success |
| AssumedRoleUser |
object |
A identidade temporária para assunção de função. |
|
| AssumedRoleId |
string |
O ID da identidade temporária. |
33157794895460**** |
| Arn |
string |
O ARN da identidade temporária. |
acs:ram::113511544585****:role/testoidc/TestOidcAssumedRoleSession |
| Credentials |
object |
As credenciais de acesso temporárias (token STS). |
|
| SecurityToken |
string |
O token de segurança. Nota
O comprimento do token de segurança não é fixo. Não imponha nenhum limite de comprimento máximo ao token de segurança. |
CAIShwJ1q6Ft5B2yfSjIr5bSEsj4g7BihPWGWHz**** |
| Expiration |
string |
O horário em que o token expira (UTC). |
2021-10-20T04:27:09Z |
| AccessKeySecret |
string |
O segredo da AccessKey. |
CVwjCkNzTMupZ8NbTCxCBRq3K16jtcWFTJAyBEv2**** |
| AccessKeyId |
string |
O ID da AccessKey. |
STS.NUgYrLnoC37mZZCNnAbez**** |
| SourceIdentity |
string |
As informações de identidade de origem. Ao assumir uma função, você pode especificar uma identidade de origem (SourceIdentity) como a identidade inicial da sessão. O valor da identidade de origem persiste ao longo das sessões encadeadas de assunção de função e não pode ser alterado, garantindo a rastreabilidade e a segurança das operações. Se nenhuma identidade de origem for especificada, este campo não será retornado. |
Alice |
Exemplos
Resposta de sucesso
JSON formato
{
"RequestId": "3D57EAD2-8723-1F26-B69C-F8707D8B565D",
"OIDCTokenInfo": {
"Subject": "KryrkIdjylZb7agUgCEf****",
"Issuer": "https://dev-xxxxxx.okta.com",
"ClientIds": "496271242565057****",
"ExpirationTime": "2021-10-20T04:27:09Z",
"IssuanceTime": "2021-10-20T03:27:09Z",
"VerificationInfo": "Success"
},
"AssumedRoleUser": {
"AssumedRoleId": "33157794895460****",
"Arn": "acs:ram::113511544585****:role/testoidc/TestOidcAssumedRoleSession"
},
"Credentials": {
"SecurityToken": "CAIShwJ1q6Ft5B2yfSjIr5bSEsj4g7BihPWGWHz****",
"Expiration": "2021-10-20T04:27:09Z",
"AccessKeySecret": "CVwjCkNzTMupZ8NbTCxCBRq3K16jtcWFTJAyBEv2****",
"AccessKeyId": "STS.NUgYrLnoC37mZZCNnAbez****"
},
"SourceIdentity": "Alice"
}
Códigos de erro
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.