O Bastionhost integra-se ao sistema de contas da Alibaba Cloud. Por padrão, a conta da Alibaba Cloud atua como superadministrador do Bastionhost. Para seguir o princípio do menor privilégio, conceda permissões específicas aos usuários do Resource Access Management (RAM) com base em suas funções.
Tipos de permissão
O Bastionhost oferece suporte aos seguintes tipos de permissão. Cada tipo restringe as ações que o usuário do RAM pode executar no console do Bastionhost.
|
Permissão |
Política correspondente |
Ações permitidas ao usuário do RAM |
|
Direitos administrativos |
AliyunYundunBastionHostFullAccess |
Gerenciar instâncias, usuários e ativos do Bastionhost; configurar políticas de controle de acesso e configurações do sistema; visualizar informações de auditoria |
|
Permissões de administrador de projeto |
AliyunYundunBastionHostProjectAdminAccess |
Gerenciar grupos de usuários, ativos, autorizações de ativos e políticas de controle; visualizar informações de auditoria nos projetos autorizados no Bastionhost |
|
Permissões de auditor |
AliyunYundunBastionHostAuditOnlyAccess |
Visualizar informações de auditoria, incluindo logs e vídeos, no console do Bastionhost |
|
Permissões somente leitura |
AliyunYundunBastionHostReadOnlyAccess |
Ler informações de configuração, auditoria e sistema no console do Bastionhost |
|
Permissões de engenheiro de O&M |
AliyunYundunBastionHostOperateOnlyAccess |
Executar operações de O&M usando o recurso de O&M de ativos |
Como AliyunYundunBastionHostProjectAdminAccess é uma política do tipo Deny, não a conceda junto com AliyunYundunBastionHostFullAccess ao mesmo usuário do RAM. Caso contrário, o usuário do RAM não conseguirá acessar módulos como System Settings no Bastionhost.
Essas permissões aplicam-se apenas às operações realizadas no console do Bastionhost. Elas não restringem o O&M baseado em cliente. O acesso para O&M via cliente é controlado pela relação de autorização entre usuários e ativos configurada no Bastionhost.
Uma conta da Alibaba Cloud recebe permissões de gerenciamento por padrão e não pode ser importada para o Bastionhost como um usuário do Bastionhost.
Um único usuário do RAM pode ter vários tipos de permissão simultaneamente.
Requisitos adicionais para direitos administrativos
Para importar ativos da Alibaba Cloud ou usuários do RAM para o Bastionhost usando um usuário do RAM com direitos administrativos, anexe a política somente leitura correspondente a esse usuário do RAM:
|
Destino da importação |
Política necessária |
|
Instâncias do Elastic Compute Service (ECS) |
AliyunECSReadOnlyAccess |
|
Usuários do RAM |
AliyunRAMReadOnlyAccess |
Permissões de chamada de API
Se um usuário do RAM precisar chamar APIs do Bastionhost usando um AccessKey ID e AccessKey Secret (AK/SK) — por exemplo, ListHostAccounts, GetWatermarkConfig ou outras operações de gerenciamento e configuração — conceda uma das seguintes políticas:
|
Cenário |
Política necessária |
|
Acesso total à API (operações de gerenciamento, configuração e O&M via AK/SK) |
AliyunYundunBastionHostFullAccess |
|
Acesso apenas a APIs relacionadas à auditoria |
AliyunYundunBastionHostAuditOnlyAccess |
Também é possível criar uma política personalizada que inclua apenas as ações específicas do Bastionhost necessárias para o seu caso de uso.
Permissões de O&M entre produtos
Caso um usuário do RAM precise executar operações de O&M em recursos de múltiplos serviços de nuvem por meio do Bastionhost, conceda as permissões correspondentes para cada service de nuvem, além das permissões do Bastionhost. Por exemplo, para permitir que um usuário do RAM realize O&M tanto em recursos do Bastionhost quanto do Server Load Balancer (SLB), conceda AliyunSLBFullAccess adicionalmente às permissões do Bastionhost.
Pré-requisitos
Antes de começar, certifique-se de que você tem:
Um usuário do RAM criado na conta da Alibaba Cloud proprietária da instância do Bastionhost.
(Opcional). Um dispositivo de autenticação multifator (MFA) virtual vinculado ao usuário do RAM. Quando um dispositivo MFA está vinculado, o Bastionhost verifica a identidade do usuário do RAM usando as configurações de MFA definidas em cada logon.
Conceder permissões a um usuário do RAM
Faça logon no console do RAM como administrador do RAM.
No painel de navegação à esquerda, escolha Identities > Users.
Na página Users, localize o usuário do RAM e clique em Add Permissions na coluna Actions. Para conceder permissões a vários usuários do RAM de uma vez, selecione-os e clique em Add Permissions na parte inferior da página.
-
No painel Add Permissions, configure os seguintes parâmetros:
-
Resource Scope: Selecione o escopo da autorização.
Account: A autorização entra em vigor na conta atual da Alibaba Cloud.
ResourceGroup: As permissões aplicam-se a um grupo de recursos específico.
ImportanteSe você selecionar ResourceGroup, verifique se o service de nuvem oferece suporte a grupos de recursos. Consulte Serviços compatíveis com grupos de recursos. Para obter instruções sobre como conceder permissões com escopo de grupo de recursos, consulte Usar um grupo de recursos para conceder a um usuário do RAM as permissões para gerenciar uma instância específica do ECS.
Principal: O usuário do RAM que receberá as permissões. O usuário do RAM atual é selecionado automaticamente.
-
Policy: Selecione uma ou mais políticas correspondentes aos tipos de permissão que deseja conceder.
NotaAo criar uma instância do Bastionhost, além da permissão AliyunYundunBastionHostFullAccess, você também precisa da permissão AliyunBSSOrderAccess para pagar o pedido da instância. Sem essas permissões, a criação da instância falhará.
AliyunYundunBastionHostFullAccess: Fornece permissões totais para gerenciar o Bastionhost.AliyunBSSOrderAccess: Concede permissões para visualizar, pagar e cancelar pedidos no User Center.
A política AliyunYundunBastionHostFullAccess concede permissões apenas para gerenciar o Bastionhost e visualizar detalhes da instância. Ela não inclui as permissões necessárias para pagar pedidos no User Center. Portanto, não é possível criar uma instância do Bastionhost apenas com esta política.
-
Clique em Grant permissions.
Clique em Close.
Perguntas frequentes
P: O que devo fazer se a chamada de APIs do Bastionhost retornar um erro InvalidAccessKeyId ou unknown endpoint?
Execute as seguintes verificações em sequência para solucionar o problema:
Verifique as políticas de permissão: Confirme se o usuário do RAM recebeu a política AliyunYundunBastionHostFullAccess ou uma política personalizada que inclua as ações necessárias do Bastionhost. Permissões insuficientes podem causar falhas de autenticação da classe
InvalidAccessKeyId.Especifique o endpoint correto: Ao chamar APIs do Bastionhost, especifique explicitamente o endpoint regional. Por exemplo, use
yundun-bastionhost.aliyuncs.compara a região China (Shanghai). O Bastionhost não oferece suporte à resolução padrão de endpoint; portanto, se nenhum endpoint for especificado, o SDK retornará um errounknown endpoint.Valide seu AK/SK: Confirme se o AccessKey ID e o AccessKey Secret são válidos e correspondem corretamente. Se suspeitar que o AccessKey Secret foi exposto ou está incorreto, crie um novo AccessKey para testes.
Verifique as permissões usando o OpenAPI Explorer: Utilize o OpenAPI Explorer com o AK/SK do usuário do RAM para testar a operação
ListHostAccounts(especifique o parâmetroRegionId). Uma chamada bem-sucedida confirma que tanto as permissões quanto o AK/SK estão configurados corretamente.
P: O que devo fazer se um usuário do RAM relatar um erro de permissão ListTagResources ausente ao fazer logon no console de O&M do Bastionhost?
Causa: A política de permissão somente leitura predefinida para o Bastionhost não inclui a ação yundun-bastionhost:ListTagResources. Quando o console de O&M tenta carregar recursos de tag, a verificação de autorização falha e retorna um erro de permissão ausente.
Solução: Crie uma política de permissão personalizada no console do RAM e conceda-a ao usuário do RAM afetado:
Faça logon no console do RAM.
No painel de navegação à esquerda, escolha Permissions > Policies.
Clique em Create Policy e alterne para o modo de edição JSON.
Adicione a ação
yundun-bastionhost:ListTagResourcespara o service Bastionhost.Conclua a criação da política e, em seguida, conceda a política personalizada ao usuário do RAM de destino.
P: O que devo fazer se um usuário do RAM relatar permissões insuficientes ao chamar APIs de gerenciamento como GetWatermarkConfig?
Causa: Esse problema geralmente ocorre quando as permissões do usuário do RAM têm escopo limitado a um grupo de recursos que não inclui a instância do Bastionhost de destino. Mesmo que o usuário do RAM tenha recebido a política AliyunYundunBastionHostFullAccess ou outra política de gerenciamento, chamadas de api como GetWatermarkConfig falharão se o escopo do grupo de recursos não abranger a instância do Bastionhost acessada.
Solução: Execute uma das seguintes ações:
No console do RAM, revise o escopo de autorização do usuário do RAM. Se a autorização no nível de grupo de recursos estiver configurada, garanta que o grupo de recursos inclua a instância do Bastionhost de destino.
Altere o Resource Scope da concessão de permissão de ResourceGroup para Account para conceder acesso a todas as instâncias sob a conta atual da Alibaba Cloud.