Ativação do acesso ao corretor de identidade personalizado com uma agência
Se o IdP da sua empresa não for compatível com SAML ou OpenID Connect, você poderá criar um corretor de identidade personalizado para permitir o acesso à Huawei Cloud. Você pode escrever e executar código para gerar um URL de logon. Os usuários da sua empresa podem usar o URL para fazer logon na Huawei Cloud. Os usuários serão autenticados pelo seu IdP empresarial.
Se o seu IdP empresarial for compatível com SAML ou OpenID Connect, configure a federação de identidade para permitir que os usuários da sua empresa acessem a Huawei Cloud por meio do SSO.
Pré-requisitos
- Sua empresa tem um sistema de gerenciamento empresarial.
- Você registrou uma conta (por exemplo, DomainA) na Huawei Cloud como um administrador empresarial e criou um grupo de usuários (por exemplo, GroupC) e atribuiu a ele a função Agent Operator. (Para obter detalhes, consulte Criação de um grupo de usuários e atribuição de permissões.)
Procedimento
- Use a conta DomainA para criar um usuário do IAM (por exemplo, UserB) e adicione o usuário ao GroupC seguindo as instruções em Adição de usuários a um grupo de usuários.
Certifique-se de que o usuário do IAM possa acessar programaticamente os serviços da Huawei Cloud. Para obter detalhes sobre como alterar o tipo de acesso, consulte Visualização ou modificação das informações do usuário do IAM.
- Configure a chave de acesso (recomendado) ou o nome de usuário e senha de UserB no arquivo de configuração do seu IdP empresarial para que o usuário possa obter um token para chamar APIs. Para segurança da conta, criptografe a senha e a chave de acesso antes de armazená-las.
- No painel de navegação do console do IAM, escolha Agencies. Em seguida, clique em Create Agency no canto superior direito.
- Defina os parâmetros da agência.
Por exemplo, defina o nome da agência como testagency, o tipo de agência como Account e delegue conta como DomainA. Defina o período de validade e clique em Next.
Figura 1 Criar uma agência
- Defina o escopo de autorização e selecione as permissões que deseja conceder à agência.
- No IdP empresarial, crie um grupo de usuários chamado testagency (mesmo que o nome da agência criada em 4), adicione usuários empresariais ao grupo e conceda aos usuários permissões para fazer logon na Huawei Cloud por meio de um corretor de identidade personalizado. Para obter detalhes, consulte a documentação do IdP empresarial.
- Depois que um usuário empresarial fizer logon no sistema de gerenciamento empresarial, o usuário poderá acessar o corretor de identidade personalizado do IdP empresarial selecionando uma agência na lista de agências. O usuário pode obter a agência do administrador de segurança ou do usuário raiz. Para obter detalhes, consulte a documentação do sistema de gerenciamento empresarial.
As agências do corretor de identidade devem existir na Huawei Cloud e ter os mesmos nomes que alguns grupos de usuários criados no IdP empresarial.
- O corretor de identidade personalizado usa o token de userB para chamar a API POST /v3.0/OS-CREDENTIAL/securitytokens usada para obter um token de segurança temporário. Para obter detalhes, consulte Obtenção de uma chave de acesso temporária e de um securityToken por meio de uma agência.
Ao obter um securityToken com uma agência, defina o parâmetro session_user.name no corpo da solicitação.
- O corretor de identidade personalizado usa a chave de acesso temporária, o token de segurança e o nome de domínio global do IAM (iam.myhuaweicloud.com) para chamar a API POST /v3.0/OS-AUTH/securitytoken/logintokens para obter um loginToken. O valor de X-Subject-LoginToken no cabeçalho da resposta é um loginToken. Para obter detalhes, consulte Obtenção de um loginToken.
- Para obter um loginToken chamando a API POST /v3.0/OS-AUTH/securitytoken/logintokens, use o nome de domínio global (iam.myhuaweicloud.com) do IAM.
- Um loginToken é emitido para um usuário fazer logon por meio de um corretor de identidade personalizado e contém informações de identidade e sessão sobre o usuário. Um loginToken é válido por 10 minutos por padrão. LoginTokens são necessários para autenticação quando os usuários fazem logon em um console de serviço usando o FederationProxyUrl.
- Você pode definir o período de validade de um loginToken chamando a API POST /v3.0/OS-AUTH/securitytoken/logintokens. O período de validade varia de 10 minutos a 12 horas. Se o valor que você especificou for maior que o período de validade restante do token de segurança temporário, será usado o período de validade restante do securityToken temporário.
- O corretor de identidade personalizado gera um FederationProxyUrl e o retorna ao navegador por meio de Location. O FederationProxyUrl será no seguinte formato:
https://auth.huaweicloud.com/authui/federation/login?idp_login_url={enterprise_system_loginURL}&service={console_service_region_url}&logintoken={logintoken}
Exemplo:
https://auth.huaweicloud.com/authui/federation/login?idp_login_url=https%3A%2F%2Fexample.com&service=https%3a%2f%2fconsole.huaweicloud.com%2fapm%2f%3fregion%3dcn-north-4%23%2fapm%2fatps%2ftopology&logintoken=******
Tabela 1 Descrição do parâmetro Parâmetro
Descrição
idp_login_url
URL de logon do sistema de gerenciamento empresarial.
service
Endereço de acesso de um serviço da Huawei Cloud.
logintoken
LoginToken do corretor de identidade personalizado.
Os três parâmetros anteriores devem ser codificados usando URLEncode para garantir que eles possam ser identificados pelo navegador.
Para obter detalhes sobre como criar um FederationProxyUrl, veja o exemplo fornecido em Criação de um FederationProxyUrl usando uma agência.
O FederationProxyUrl contém o loginToken que foi obtido do IAM e é codificado em porcentagem.
- Se o loginToken for autenticado com sucesso, os usuários federados serão automaticamente redirecionados para o endereço de serviço da Huawei Cloud especificado no parâmetro service.
Se o loginToken não for autenticado, os usuários serão redirecionados para o endereço especificado em idp_login_url.