Gerencie o acesso de emergência a uma máquina bare metal usando o az networkcloud cluster bmckeyset
Atenção
Observe que esse processo é usado em situações de emergência quando todas as outras opções de solução de problemas via Azure estão esgotadas. O acesso SSH a essas máquinas bare metal é restrito a usuários gerenciados por meio desse método a partir da lista de hosts de salto especificada.
Há raras situações em que um usuário precisa investigar e resolver problemas com uma máquina bare metal e todas as outras maneiras de usar o Azure estão esgotadas. O Operator Nexus fornece o comando para que os usuários possam gerenciar o az networkcloud cluster bmckeyset
acesso SSH ao controlador de gerenciamento da placa base (BMC) nessas máquinas bare metal. Na criação do conjunto de chaves, os usuários são validados em relação à ID do Microsoft Entra para autorização adequada, cruzando o Nome Principal do Usuário fornecido para um usuário com a ID --azure-group-id <Entra Group ID>
de Grupo do Azure fornecida.
Os usuários em um conjunto de chaves são validados a cada quatro horas, e também quando quaisquer alterações são feitas em qualquer conjunto de chaves. O status de cada usuário é definido como "Ativo" ou "Inválido". Os utilizadores inválidos permanecem no conjunto de chaves, mas as suas chaves são removidas de todos os anfitriões e não lhes é permitido acesso. Os motivos para um usuário ser inválido são:
- O Nome Principal do Usuário do usuário não é membro do grupo Entra (se especificado)
- O grupo Entra fornecido (se especificado) não existe (caso em que todos os usuários no conjunto de chaves são inválidos)
- O conjunto de chaves expirou (nesse caso, todos os usuários no conjunto de chaves são inválidos)
Nota
Existe atualmente um período de transição em que a especificação de nomes principais de utilizador é opcional. Em uma versão futura, ele se tornará obrigatório e a validação do Microsoft Entra ID será aplicada para todos os usuários. Os usuários são incentivados a adicionar nomes principais de usuário aos seus conjuntos de chaves antes que o período de transição termine (planejado para julho de 2024) para evitar que os conjuntos de chaves sejam invalidados. Observe que, se algum Nome Principal de Usuário for adicionado a um conjunto de chaves, mesmo que não seja adicionado para todos os usuários, a validação do ID do Microsoft Entra será habilitada, e isso resultará na invalidação de todo o conjunto de chaves se a ID de Grupo especificada não for válida.
O conjunto de chaves e cada usuário individual também têm mensagens de status detalhadas comunicando outras informações:
- O detailedStatusMessage do conjunto de chaves informa se o conjunto de chaves expirou e outras informações sobre problemas encontrados durante a atualização do conjunto de chaves no cluster.
- O statusMessage do usuário informa se o usuário está ativo ou inválido e uma lista de máquinas que ainda não foram atualizadas para o estado ativo/inválido mais recente do usuário. Em cada caso, as causas dos problemas são incluídas, se conhecidas.
Quando o comando é executado, ele é executado em cada máquina bare metal no Cluster com um nó Kubernetes ativo. Há um processo de reconciliação que é executado periodicamente que tenta novamente o comando em qualquer máquina bare metal que não estava disponível no momento do comando original. Além disso, qualquer máquina bare metal que retorne ao cluster por meio de um az networkcloud baremetalmachine actionreimage
comando ou az networkcloud baremetalmachine actionreplace
(consulte Funções bareMetal) envia um sinal fazendo com que todos os conjuntos de chaves ativos sejam enviados para a máquina assim que ela retornar ao cluster. Vários comandos são executados na ordem recebida.
Os BMCs suportam um número máximo de 12 usuários. Os usuários são definidos por Cluster e aplicados a cada máquina bare metal. Tentativas de adicionar mais de 12 usuários resultam em um erro. Exclua um usuário antes de adicionar outro quando já existir 12.
Pré-requisitos
- Instale a versão mais recente das extensões CLI apropriadas.
- O Cluster local deve ter conectividade com o Azure.
- Obtenha o nome do Grupo de Recursos para o
Cluster
recurso. - O processo aplica conjuntos de chaves a todas as máquinas bare metal em execução.
- Os usuários adicionados devem fazer parte de um grupo do Microsoft Entra. Para obter mais informações, consulte Como gerenciar grupos.
- Para restringir o acesso para gerenciar conjuntos de chaves, crie uma função personalizada. Para obter mais informações, consulte Funções personalizadas do Azure. Nesse caso, adicione ou exclua permissões para
Microsoft.NetworkCloud/clusters/bmcKeySets
. As opções são/read
,/write
e/delete
.
Nota
Quando o acesso da BMC é criado, modificado ou excluído por meio dos comandos descritos neste artigo, um processo em segundo plano entrega essas alterações às máquinas. Este processo é pausado durante as atualizações do software Operator Nexus. Se uma atualização estiver em andamento, você poderá usar a --no-wait
opção com o comando para impedir que o prompt de comando aguarde a conclusão do processo.
Criando um conjunto de chaves BMC
O bmckeyset create
comando cria acesso SSH à máquina bare metal em um cluster para um grupo de usuários.
A sintaxe do comando é:
az networkcloud cluster bmckeyset create \
--name <BMC Keyset Name> \
--extended-location name=<Extended Location ARM ID> \
type="CustomLocation" \
--location <Azure Region> \
--azure-group-id <Azure AAD Group ID> \
--expiration <Expiration Timestamp> \
--privilege-level <"Administrator" or "ReadOnly"> \
--user-list '[{"description":"<User List Description>","azureUserName":"<User Name>",\
"sshPublicKey":{"keyData":"<SSH Public Key>"}, \
"userPrincipalName":""}]', \
--tags key1=<Key Value> key2=<Key Value> \
--cluster-name <Cluster Name> \
--resource-group <Resource Group Name>
Criar argumentos
--azure-group-id [Required] : The object ID of Azure Active Directory
group that all users in the list must
be in for access to be granted. Users
that are not in the group do not have
access.
--bmc-key-set-name --name -n [Required] : The name of the BMC key set.
--cluster-name [Required] : The name of the cluster.
--expiration [Required] : The date and time after which the users
in this key set are removed from
the BMCs. The maximum expiration date is a
year from creation date. Format is
"YYYY-MM-DDTHH:MM:SS.000Z".
--extended-location [Required] : The extended location of the cluster
associated with the resource.
Usage: --extended-location name=XX type=XX
name: Required. The resource ID of the extended location on which the resource is created.
type: Required. The extended location type: "CustomLocation".
--privilege-level [Required] : The access level allowed for the users
in this key set. Allowed values:
"Administrator" or "ReadOnly".
--resource-group -g [Required] : Name of resource group. Optional if
configuring the default group using `az
configure --defaults group=<name>`.
--user-list [Required] : The unique list of permitted users.
Usage: --user-list azure-user-name=XX description=XX key-data=XX
azure-user-name: Required. User name used to login to the server.
description: The free-form description for this user.
key-data: Required. The public ssh key of the user.
userPrincipalName: Optional. The User Principal Name of the User.
Multiple users can be specified by using more than one --user-list argument.
--tags : Space-separated tags: key[=value]
[key[=value] ...]. Use '' to clear
existing tags.
--location -l : Azure Region. Values from: `az account
list-locations`. You can configure the
default location using `az configure
--defaults location=<location>`.
--no-wait : Do not wait for the long-running
operation to finish.
Argumentos globais da CLI do Azure (aplicável a todos os comandos)
--debug : Increase logging verbosity to show all
debug logs.
--help -h : Show this help message and exit.
--only-show-errors : Only show errors, suppressing warnings.
--output -o : Output format. Allowed values: json,
jsonc, none, table, tsv, yaml, yamlc.
Default: json.
--query : JMESPath query string. See
http://jmespath.org/ for more
information and examples.
--subscription [Required] : Name or ID of subscription. Optional if
configuring the default subscription
using `az account set -s NAME_OR_ID`.
--verbose : Increase logging verbosity. Use --debug
for full debug logs.
Este exemplo cria um novo conjunto de chaves com dois usuários que têm acesso padrão de dois hosts de salto.
az networkcloud cluster bmckeyset create \
--name "bmcKeySetName" \
--extended-location name="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" \
type="CustomLocation" \
--location "location" \
--azure-group-id "f110271b-XXXX-4163-9b99-214d91660f0e" \
--expiration "2023-12-31T23:59:59.008Z" \
--privilege-level "Standard" \
--user-list '[{"description":"Needs access for troubleshooting as a part of the support team",\
"azureUserName":"userABC","sshPublicKey":{"keyData":"ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1XoyYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm"}},\
{"description":"Needs access for troubleshooting as a part of the support team",\
"azureUserName":"userXYZ","sshPublicKey":{"keyData":"ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXTSTRnIDpcf5qytjs1XoyYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm"}}]' \
--tags key1="myvalue1" key2="myvalue2" \
--cluster-name "clusterName" \
--resource-group "resourceGroupName"
Para obter assistência na criação da estrutura, consulte Taquigrafia --user-list
da CLI do Azure.
Excluindo um conjunto de chaves BMC
O bmckeyset delete
comando remove o acesso SSH ao BMC para um grupo de usuários. Todos os membros do grupo perdem o acesso SSH a qualquer um dos BMCs no Cluster.
A sintaxe do comando é:
az networkcloud cluster bmckeyset delete \
--name <BMC Keyset Name> \
--cluster-name <Cluster Name> \
--resource-group <Resource Group Name> \
Excluir argumentos
--bmc-key-set-name --name -n [Required] : The name of the BMC key set to be deleted.
--cluster-name [Required] : The name of the cluster.
--resource-group -g [Required] : Name of resource group. Optional if configuring the
default group using `az configure --defaults
group=<name>`.
--no-wait : Do not wait for the long-running operation to finish.
--yes -y : Do not prompt for confirmation.
Este exemplo remove o grupo de conjuntos de chaves "bmcKeysetName" no cluster "clusterName".
az networkcloud cluster bmckeyset delete \
--name "bmcKeySetName" \
--cluster-name "clusterName" \
--resource-group "resourceGroupName" \
Atualizando um conjunto de chaves BMC
O bmckeyset update
comando permite que os usuários façam alterações em um grupo de conjuntos de chaves existente.
A sintaxe do comando é:
az networkcloud cluster bmckeyset update \
--name <BMC Keyset Name> \
--privilege-level <"Standard" or "Superuser"> \
--user-list '[{"description":"<User List Description>","azureUserName":"<User Name>",\
"sshPublicKey":{"keyData":"<SSH Public Key>"}, \
"userPrincipalName":""}]', \
--tags key1=<Key Value> key2=<Key Value> \
--cluster-name <Cluster Name> \
--resource-group <Resource Group Name>
Argumentos de atualização
--bmc-key-set-name --name -n [Required] : The name of the BMC key set.
--cluster-name [Required] : The name of the cluster.
--expiration [Required] : The date and time after which the users
in this key set are removed from
the BMCs. The maximum expiration date is a
year from creation date. Format is
"YYYY-MM-DDTHH:MM:SS.000Z".
--privilege-level : The access level allowed for the users
in this key set. Allowed values:
"Administrator" or "ReadOnly".
--user-list : The unique list of permitted users.
Usage: --user-list azure-user-name=XX description=XX key-data=XX
azure-user-name: Required. User name used to login to the server.
description: The free-form description for this user.
key-data: Required. The public SSH key of the user.
userPrincipalName: Optional. The User Principal Name of the User.
Multiple users can be specified by using more than one --user-list argument.
--resource-group -g [Required] : Name of resource group. Optional if
configuring the default group using `az
configure --defaults group=<name>`.
--tags : Space-separated tags: key[=value]
[key[=value] ...]. Use '' to clear
existing tags.
--no-wait : Do not wait for the long-running
operation to finish.
Este exemplo adiciona dois novos usuários ao grupo "bmcKeySetName" e altera o tempo de expiração do grupo.
az networkcloud cluster bmckeyset update \
--name "bmcKeySetName" \
--expiration "2023-12-31T23:59:59.008Z" \
--user-list '[{"description":"Needs access for troubleshooting as a part of the support team",\
"azureUserName":"userDEF", \
"sshPublicKey":{"keyData":"ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1XoyYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm"}, \
"userPrincipalName":"example@contoso.com"}] \
--cluster-name "clusterName" \
--resource-group "resourceGroupName"
Listando conjuntos de chaves BMC
O bmckeyset list
comando permite que os usuários vejam os grupos de conjuntos de chaves existentes em um Cluster.
A sintaxe do comando é:
az networkcloud cluster bmckeyset list \
--cluster-name <Cluster Name> \
--resource-group <Resource Group Name>
Listar argumentos
--cluster-name [Required] : The name of the cluster.
--resource-group -g [Required] : Name of resource group. Optional if
configuring the default group using `az
configure --defaults group=<name>`.
Mostrar detalhes do conjunto de chaves BMC
O bmckeyset show
comando permite que os usuários vejam os detalhes de um grupo de conjuntos de chaves existente em um Cluster.
A sintaxe do comando é:
az networkcloud cluster bmckeyset show \
--cluster-name <Cluster Name> \
--resource-group <Resource Group Name>
Mostrar argumentos
--bmc-key-set-name --name -n [Required] : The name of the BMC key set.
--cluster-name [Required] : The name of the cluster.
--resource-group -g [Required] : Name of resource group. You can
configure the default group using `az
configure --defaults group=<name>`.