Este tópico demonstra como configurar o single sign-on (SSO) baseado em função entre o Okta, como provedor de identidade (IdP) corporativo, e a Alibaba Cloud.
Procedimento
Esta configuração cria um atributo chamado approle em uma aplicação do Okta. Esse atributo mapeia usuários para uma função específica do Resource Access Management (RAM) na Alibaba Cloud. Siga o procedimento ilustrado na figura abaixo para configurar a Alibaba Cloud e o Okta.

Etapa 1: Criar uma aplicação SAML SSO no Okta
Faça login no portal do Okta.
No canto superior direito da página, 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 da aplicação como
role-sso-teste clique em Next.-
Configure as definições 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 da Alibaba Cloud para a qual os usuários serão redirecionados após um login bem-sucedido.
NotaPor motivos de segurança, insira apenas 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 da 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 aplicação e clique em Finish.
Etapa 2: Obter metadados do IdP SAML no Okta
Na página de detalhes da aplicação
role-sso-test, clique 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 na Alibaba Cloud
Faça login no console RAM como administrador do RAM.
No painel de navegação, escolha .
Na aba Role-based SSO, clique na aba SAML e, em seguida, clique em Create IdP.
Na página Create IdP, insira um IdP Name, como
okta-provider, e preencha o campo 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 no Okta.
Clique em Create IdP.
Etapa 4: Criar uma função RAM na Alibaba Cloud
No painel de navegação do console 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. Utilize qualquer um deles. Por exemplo, no editor visual, especifique o provedor de identidade criado na Etapa 3: Criar um provedor de identidade SAML na Alibaba Cloud no campo Principal e selecione SAML para IdP Type.
No editor, defina a condição
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 da aplicação no Okta
-
Edite o perfil para adicionar um novo atributo.
No painel de navegação, escolha Directory > Profile Editor.
Pesquise e clique em 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 exibido na interface. Neste exemplo, insira
approle.Variable name: Insira o nome da variável 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 RAM criada, por exemplo,
adminoureader.Attribute Length: Esta configuração não é necessária neste exemplo devido ao uso de enumeração. Caso não utilize enumeração, defina o comprimento do atributo conforme necessário.
Attribute required: Selecione Yes.
Scope: Desmarque a opção User personal.
Clique em Save.
-
Configure as instruções de atributo.
No painel de navegação, escolha Applications > Applications.
Clique em 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 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 aplicação do usuário e gera 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 na 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 a aplicação
-
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 o 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 a aplicação.
Existem duas formas de atribuir a aplicação:
-
Atribuir a aplicação a um único usuário.
No painel de navegação, escolha .
Clique em 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 a aplicação ao grupo.
No painel de navegação, escolha e clique em Add Group para criar um grupo.
Clique no nome do grupo, clique em Manage People e adicione o usuário ao grupo.
No painel de navegação, escolha .
Clique em 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 da aplicação. 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 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 da Alibaba Cloud. Após o redirecionamento para o console, uma mensagem de boas-vindas aparece. Clique no seu avatar no canto superior direito. O painel suspenso mostra sua identidade de login atual como admin/ com um rótulo laranja de role. Isso indica que você fez login no console com sucesso assumindo uma função RAM.
(Opcional) Configurar múltiplas funções para um usuário
Caso precise mapear um usuário para várias funções da Alibaba Cloud, utilize uma Instrução de Atributo de Grupo e configure-a com base nos nomes dos grupos. Siga estas etapas:
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 da aplicação, exclua a instrução de atributo para Role e adicione uma Instrução de Atributo de Grupo. Na nova instrução, defina Name como
https://www.aliyun.com/SAML-Role/Attributes/Role. Configure o Filter 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 na 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.