Configure o single sign-on (SSO) baseado em função entre Okta e Alibaba Cloud para permitir que usuários do Okta assumam funções do RAM por meio da federação SAML 2.0.
Procedimento
Esta configuração cria um atributo chamado approle em um aplicativo do Okta e mapeia seu valor para uma função do RAM no Alibaba Cloud. A figura a seguir ilustra o procedimento completo.

Etapa 1: Criar um aplicativo de SSO SAML no Okta
Faça login no portal do Okta.
No canto superior direito da página, clique em no ícone da sua conta e, em seguida, clique em Your Org.
No painel de navegação, escolha Applications > Applications.
Na página Applications, clique em Create App Integration.
Na caixa de diálogo Create a new app integration, selecione SAML 2.0 e clique em Next.
Defina o nome do aplicativo como
role-sso-teste clique em Next.-
Configure as definições do SAML e clique em Next.
Single sign-on URL:
https://signin.alibabacloud.com/saml-role/sso.Audience URI (SP Entity ID):
urn:alibaba:cloudcomputing:international.-
Default RelayState: Especifique a página do Alibaba Cloud para a qual os usuários serão redirecionados após um login bem-sucedido.
NotaPor motivos de segurança, você só pode inserir URLs de domínios pertencentes à alibaba como valor de Default RelayState, como .aliyun.com, .hichina.com, .yunos.com, .taobao.com, .tmall.com, .alibabacloud.com e *.alipay.com. Se você inserir uma URL inválida, a configuração não terá efeito. Se deixar este parâmetro vazio, os usuários serão redirecionados por padrão para a página inicial do console de Gerenciamento do Alibaba Cloud.
Name ID format: Selecione EmailAddress.
Application username: Selecione Email.
Update application username on: Mantenha o valor padrão.
Na página Feedback, selecione um tipo de aplicativo e clique em Finish.
Etapa 2: Obter metadados do IdP SAML do Okta
Na página de detalhes do aplicativo
role-sso-test, clique em na aba Sign On.Na seção SAML 2.0, copie a Metadata URL e salve os metadados do IdP em um arquivo local.
Etapa 3: Criar um IdP SAML no Alibaba Cloud
Faça login no console do RAM como administrador do RAM.
No painel de navegação, escolha .
Na aba Role-based SSO, clique em na aba SAML e, em seguida, clique em Create IdP.
Na página Create IdP, insira um IdP Name, como
okta-provider, e Remarks.Na seção Metadata File, clique em Upload Metadata File e faça upload dos metadados do IdP obtidos na Etapa 2: Obter metadados do IdP SAML do Okta.
Clique em Create IdP.
Etapa 4: Criar uma função do RAM no Alibaba Cloud
No painel de navegação do console do RAM, escolha .
Na página Roles, clique em Create Role.
No canto superior direito do painel Create Role, clique em Switch to Policy Editor.
-
Especifique o provedor de identidade SAML no editor.
O editor oferece um modo visual e um modo de script. Você pode usar qualquer um deles. Por exemplo, no editor visual, especifique o provedor de identidade criado na Etapa 3: Criar um IdP SAML no Alibaba Cloud no campo Principal e selecione SAML para {key, select, RAM {Cloud Account} Service {Cloud Service} Federated {Identity Provider} Account {Cloud Account} CurrentAccount {Current Account} OtherAccount {Other Account} AllAccounts {All Accounts} RAMType {Identity Type} UserName {User Name} RoleName {Role Name} FederatedType {Identity Provider Type} other { {key} } }.
No editor, defina a Condition
saml:recipientcomohttps://signin.alibabacloud.com/saml-role/sso.Na caixa de diálogo Create Role, insira um Role Name, como
admin, e clique em OK.
Etapa 5: Configurar o perfil do aplicativo no Okta
-
Edite o perfil para adicionar um novo atributo.
No painel de navegação, escolha Directory > Profile Editor.
Pesquise e clique em no nome do aplicativo
role-sso-test.Na página Profile Editor, na seção Attributes, clique em Add Attribute.
-
Na caixa de diálogo Add Attribute, configure as informações do atributo.
Data type: Selecione string.
Display name: Insira o nome a ser exibido na interface. Neste exemplo, insira
approle.Variable name: Insira o nome da variável a ser referenciada nos mapeamentos. Neste exemplo, insira
approle. Anote este valor para uso posterior.Description: Insira uma descrição para o atributo. Este parâmetro é opcional.
-
Enum: Selecione Define enumerated list of values.
NotaO uso de Enum restringe os valores do atributo a uma lista predefinida. Pule esta opção se precisar de maior flexibilidade.
Attribute members: Insira a lista de valores enumerados. O Value deve corresponder ao nome de uma função do RAM criada, por exemplo,
adminoureader.Attribute Length: Esta configuração não é necessária neste exemplo porque uma enumeração é utilizada. Caso não utilize uma enumeração, defina o comprimento do atributo conforme necessário.
Attribute required: Selecione Yes.
Scope: Desmarque User personal.
Clique em Save.
-
Configure as instruções de atributo.
No painel de navegação, escolha Applications > Applications.
Clique em no nome do aplicativo
role-sso-test.Na aba General, na seção SAML Settings, clique em Edit.
-
Na página Configure SAML, na seção Attribute Statements (optional), configure duas instruções. Para a primeira instrução, defina Name como
https://www.aliyun.com/SAML-Role/Attributes/RoleSessionName, Name format como Unspecified e Value comouser.email. Para a segunda instrução, defina Name comohttps://www.aliyun.com/SAML-Role/Attributes/Role, Name format como Unspecified e Value como uma expressão ARN de função do RAM que comece comacs:ram::<account_id>.-
Configure a primeira instrução:
Name: Insira
https://www.aliyun.com/SAML-Role/Attributes/RoleSessionName.Value: Selecione user.email.
-
Configure a segunda instrução:
Name: Insira
https://www.aliyun.com/SAML-Role/Attributes/Role.Value: Defina o valor como
String.replace("acs:ram::<account_id>:role/$approle,acs:ram::<account_id>:saml-provider/okta-provider", "$approle", appuser.approle). Esta expressão substitui o espaço reservado$approlepelo valor do atributoapproledo perfil de aplicativo do usuário para gerar o valor final do atributo SAML. Nesta expressão,approleé o atributo definido no perfil, eokta-provideré o provedor de identidade criado na Etapa 3: Criar um IdP SAML no Alibaba Cloud. Substitua<account_id>pelo ID da sua conta Alibaba Cloud. Exemplo:String.replace("acs:ram::177242285274****:role/$approle,acs:ram::177242285274****:saml-provider/okta-provider", "$approle", appuser.approle).
-
Etapa 6: Criar um usuário e atribuir o aplicativo
-
Crie um usuário.
No painel de navegação, escolha .
Clique em Add person.
Na página Add Person, preencha as informações básicas, defina Primary email como o endereço de e-mail do usuário, por exemplo,
username@example.com, e clique em Save.Na lista de usuários, localize o usuário
username@example.come clique em Activate na coluna Status. Siga as instruções na tela para ativar o usuário.
-
Atribua o aplicativo.
Existem duas maneiras de atribuir o aplicativo:
-
Atribuir o aplicativo a um único usuário.
No painel de navegação, escolha .
Clique em no nome do aplicativo
role-sso-test. Na aba Assignments, escolha .Clique em Assign ao lado do usuário desejado
username@example.com.Para approle, selecione
admin.Clique em Save and Go Back.
Clique em Done.
-
Adicionar o usuário a um grupo e atribuir o aplicativo ao grupo.
No painel de navegação, escolha e clique em Add Group para criar um grupo.
Clique em no nome do grupo, clique em Manage People e adicione o usuário ao grupo.
No painel de navegação, escolha .
Clique em no nome do aplicativo
role-sso-test. Na aba Assignments, clique em .Clique em Assign ao lado do grupo desejado.
Para approle, selecione
admin.Clique em Save and Go Back.
Clique em Done.
NotaSe um usuário pertencer a vários grupos, apenas um valor de atributo será utilizado. O Okta usa o valor do primeiro grupo atribuído ao usuário na aba Assignments do aplicativo. Alterações na associação a grupos podem afetar o valor de
approle. Para mais informações, consulte a documentação do Okta.
-
Verificar a configuração
No painel de navegação, escolha .
Clique em no nome do aplicativo
role-sso-test.Na aba General, na área App Embed Link, copie a URL em Embed Link.
-
Abra uma nova janela do navegador, cole a URL e faça login como
username@example.com.Um login bem-sucedido redireciona você para a página especificada por
Default RelayStateou para a página inicial do console de Gerenciamento do Alibaba Cloud. Após o redirecionamento para o console, uma mensagem de boas-vindas aparece. Clique em no seu avatar no canto superior direito. Se o painel suspenso mostrar sua identidade de login como admin/ com um rótulo laranja role, isso significa que você assumiu a função do RAM via SSO com sucesso.
(Opcional) Configurar várias funções para um usuário
Para mapear um usuário para várias funções do Alibaba Cloud, utilize uma Group Attribute Statement baseada em nomes de grupos.
Crie vários grupos. Cada nome de grupo deve seguir o formato exigido pelo atributo Role na asserção SAML. Por exemplo, crie um grupo chamado
acs:ram::177242285274****:role/admin,acs:ram::177242285274****:saml-provider/okta-provider. Da mesma forma, crie um grupo para a função reader com o nomeacs:ram::177242285274****:role/reader,acs:ram::177242285274****:saml-provider/okta-provider.Adicione o usuário
username@example.coma esses grupos.Nas SAML Settings do aplicativo, exclua a instrução de atributo para Role e adicione uma Group Attribute Statement. Na nova instrução, defina Name como
https://www.aliyun.com/SAML-Role/Attributes/Role. O Filter deve ser configurado para recuperar o nome do grupo mencionado acima, por exemplo: Start with acs:ram.Após concluir essas etapas, o usuário deverá selecionar uma função na próxima vez que fizer login no Alibaba Cloud. A página de login oferecerá as funções reader e admin. O usuário seleciona uma função e clique em Sign In para concluir o login.
Para mais informações sobre o Okta, consulte a documentação do Okta.