Dela via


Hantera nödåtkomst till en bare metal-dator med hjälp av az networkcloud cluster baremetalmachinekeyset

Varning

Observera att den här processen används i nödsituationer när alla andra felsökningsalternativ som använder Azure har uttömts. Alla skriv- eller redigeringsåtgärder som körs på BMM-noderna kräver att användarna "återskapar" för att återställa Microsofts stöd till de berörda BMM-noderna. Observera att SSH-åtkomsten till dessa datorer utan operativsystem är begränsad till användare som hanteras via den här metoden från den angivna listan över hoppvärdar.

Det finns sällsynta situationer där en användare behöver undersöka och lösa problem med en dator utan operativsystem och alla andra sätt via Azure är uttömda. Azure Operator Nexus tillhandahåller az networkcloud cluster baremetalmachinekeyset kommandot så att användarna kan hantera SSH-åtkomst till dessa datorer utan operativsystem. När nyckeluppsättningen skapas verifieras användarna mot Microsoft Entra-ID för korrekt auktorisering genom att korsreferera användarens huvudnamn som angetts för en användare mot angivet Microsoft Entra-grupp-ID --azure-group-id <Entra Group ID>.

Användare i en nyckeluppsättning verifieras var fjärde timme och även när eventuella ändringar görs i en nyckeluppsättning. Varje användares status anges sedan till "Aktiv" eller "Ogiltig". Ogiltiga användare finns kvar i nyckeluppsättningen, men deras nycklar tas bort från alla värdar och de får inte åtkomst. Orsaker till att en användare är ogiltig är:

  • Användarens huvudnamn för användaren är inte medlem i den angivna Entra-gruppen (om det anges)
  • Den angivna Entra-gruppen (om den anges) finns inte (i vilket fall alla användare i nyckeluppsättningen är ogiltiga)
  • Nyckeluppsättningen har upphört att gälla (i vilket fall alla användare i nyckeluppsättningen är ogiltiga)

Kommentar

Det finns för närvarande en övergångsperiod där det är valfritt att ange användarnamn. I en framtida version blir det obligatoriskt och Microsoft Entra ID-verifiering tillämpas för alla användare. Användarna uppmanas att lägga till användarnamn i sina nyckeluppsättningar innan övergångsperioden löper ut (planerad till juli 2024) för att undvika att nyckeluppsättningar ogiltigförklaras. Observera att om några namn på användarens huvudnamn läggs till i en nyckeluppsättning, även om de inte har lagts till för alla användare, aktiveras Microsoft Entra-ID-verifieringen, vilket resulterar i att hela nyckeluppsättningen ogiltigförklaras om det angivna grupp-ID:t inte är giltigt.

Nyckeluppsättningen och varje enskild användare har också detaljerade statusmeddelanden som kommunicerar annan information:

  • Nyckeluppsättningens detailedStatusMessage anger om nyckeluppsättningen har upphört att gälla och annan information om problem som uppstår vid uppdatering av nyckeluppsättningen i klustret.
  • Användarens statusMessage anger om användaren är aktiv eller ogiltig och en lista över datorer som ännu inte har uppdaterats till användarens senaste aktiva/ogiltiga tillstånd. I varje fall inkluderas orsaker till problem om de är kända.

När kommandot körs körs det på varje dator utan operativsystem i klustret med en aktiv Kubernetes-nod. Det finns en avstämningsprocess som körs med jämna mellanrum som försöker köra kommandot igen på alla datorer utan operativsystem som inte var tillgängliga vid tidpunkten för det ursprungliga kommandot. Dessutom skickar alla datorer utan operativsystem som återgår till klustret via ett az networkcloud baremetalmachine reimage eller az networkcloud baremetalmachine replace -kommando (se BareMetal-funktioner) en signal som gör att alla aktiva nyckeluppsättningar skickas till datorn så snart den återgår till klustret. Flera kommandon körs i den order som tas emot.

Det finns ingen gräns för antalet användare i en grupp.

Varning

Anteckningar för IP-adresser för jump-värd

  • Processen för att skapa/uppdatera nyckeluppsättningen lägger till IP-adresserna för jump-värden till IP-tabellerna för varje dator i klustret. Uppdateringen av IP-tabeller begränsar SSH-åtkomsten till att endast tillåtas från dessa hoppvärdar.
  • Det är viktigt att ange klusteruppkopplade IP-adresser för hoppvärdarna. Dessa IP-adresser kan skilja sig från den offentliga IP-adress som används för att komma åt jump-värden.
  • När minst en nyckeluppsättning har definierats tillåts ssh-åtkomst från valfri jump-värd i valfri nyckeluppsättning. Om till exempel nyckeluppsättning A anger hoppvärd A och nyckeluppsättning B anger hoppvärd B, kan användare i antingen nyckeluppsättningen använda antingen jump host A eller B.
  • Även om inga nyckeluppsättningar har definierats tillåts ssh-åtkomst från alla jump-värdar som har nätverksanslutning till datorerna.

Förutsättningar

  • Installera den senaste versionen av lämpliga CLI-tillägg.
  • Det lokala klustret måste ha anslutning till Azure.
  • Hämta resursgruppens namn.Cluster
  • Processen tillämpar nyckeluppsättningar på alla datorer utan operativsystem som körs.
  • De tillagda användarna måste ingå i en Microsoft Entra-grupp. Mer information finns i Hantera grupper.
  • Om du vill begränsa åtkomsten för att hantera nyckeluppsättningar skapar du en anpassad roll. Mer information finns i Anpassade Azure-roller. I det här fallet lägger du till eller exkluderar behörigheter för Microsoft.NetworkCloud/clusters/bareMetalMachineKeySets. Alternativen är /read, /writeoch /delete.

Kommentar

När åtkomst utan operativsystem skapas, ändras eller tas bort via kommandona som beskrivs i den här artikeln, levererar en bakgrundsprocess dessa ändringar till datorerna. Den här processen pausas under uppgraderingen av operatörsprogramvaran Nexus. Om det är känt att en uppgradering pågår kan du använda --no-wait alternativet med kommandot för att förhindra att kommandotolken väntar på att processen ska slutföras.

Skapa en nyckeluppsättning utan operativsystem

Kommandot baremetalmachinekeyset create skapar SSH-åtkomst till datorn utan operativsystem i ett kluster för en grupp användare.

Kommandosyntaxen är:

az networkcloud cluster baremetalmachinekeyset create \
  --name "<bare metal machine Keyset Name>" \
  --extended-location name="<Extended Location ARM ID>" \
    type="CustomLocation" \
  --location "<Azure Region>" \
  --azure-group-id "<Azure Group ID>" \
  --expiration "<Expiration Timestamp>" \
  --jump-hosts-allowed "<List of jump server IP addresses>" \
  --os-group-name "<Name of the Operating System Group>" \
  --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 "<cluster_RG>"

Skapa argument

  --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.
  --bare-metal-machine-key-set-name --name -n [Required] : The name of the bare metal machine 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 bare metal machines. 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".
  --jump-hosts-allowed                        [Required] : The list of IP addresses of jump hosts
                                                           with management network access from
                                                           which a login is be allowed for the
                                                           users. Supports IPv4 or IPv6 addresses.
  --privilege-level                           [Required] : The access level allowed for the users
                                                           in this key set.  Allowed values:
                                                           "Standard" or "Superuser".
  --resource-group -g                         [Required] : Name of cluster 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.
  --os-group-name                                        : The name of the group that users are assigned
                                                           to on the operating system of the machines.
  --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.

Globala Azure CLI-argument (gäller för alla kommandon)

  --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.

Det här exemplet skapar en ny nyckeluppsättning med två användare som har standardåtkomst från två jump-värdar.

az networkcloud cluster baremetalmachinekeyset create \
  --name "bareMetalMachineKeySetName" \
  --extended-location name="/subscriptions/subscriptionId/resourceGroups/cluster_RG/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" \
    type="CustomLocation" \
  --location "eastus" \
  --azure-group-id "f110271b-XXXX-4163-9b99-214d91660f0e" \
  --expiration "2022-12-31T23:59:59.008Z" \
  --jump-hosts-allowed "192.0.2.1" "192.0.2.5" \
  --os-group-name "standardAccessGroup" \
  --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"},"userPrincipalName":"example@contoso.com"},\
  {"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"}, "userPrincipalName":"example@contoso.com"}]' \
  --tags key1="myvalue1" key2="myvalue2" \
  --cluster-name "clusterName"
  --resource-group "cluster_RG"

Mer information om hur du skapar strukturen finns --user-list i Azure CLI Shorthand.

Ta bort en datornycklar utan operativsystem

Kommandot baremetalmachinekeyset delete tar bort SSH-åtkomst till datorn utan operativsystem för en grupp användare. Alla medlemmar i gruppen har inte längre SSH-åtkomst till någon av datorerna utan operativsystem i klustret.

Kommandosyntaxen är:

az networkcloud cluster baremetalmachinekeyset delete \
  --name "<bare metal machine Keyset Name>" \
  --cluster-name "<Cluster Name>" \
  --resource-group "<cluster_RG>"

Ta bort argument

    --bare-metal-machine-key-set-name --name -n [Required] : The name of the bare metal machine key set to be
                                                             deleted.
    --cluster-name                              [Required] : The name of the cluster.
    --resource-group -g                         [Required] : Name of cluster 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.

Det här exemplet tar bort nyckeluppsättningsgruppen "bareMetalMachineKeysetName" i klustret "clusterName".

az networkcloud cluster baremetalmachinekeyset delete \
  --name "bareMetalMachineKeySetName" \
  --cluster-name "clusterName" \
  --resource-group "cluster_RG"

Uppdatera en bare metal-datornycklar

Med baremetalmachinekeyset update kommandot kan användare göra ändringar i en befintlig nyckeluppsättningsgrupp.

Kommandosyntaxen är:

az networkcloud cluster baremetalmachinekeyset update \
  --name "<bare metal machine Keyset Name>" \
  --jump-hosts-allowed "<List of jump server IP addresses>" \
  --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 "<cluster_RG>"

Uppdatera argument

  --bare-metal-machine-key-set-name --name -n [Required] : The name of the bare metal machine key set.
  --cluster-name                              [Required] : The name of the cluster.
  --expiration                                           : The date and time after which the users
                                                           in this key set are removed from
                                                           the bare metal machines. The maximum
                                                           expiration date is a year from creation
                                                           date. Format is: "YYYY-MM-DDTHH:MM:SS.000Z".
  --jump-hosts-allowed                                   : The list of IP addresses of jump hosts
                                                           with management network access from
                                                           which a login is allowed for the
                                                           users. Supports IPv4 or IPv6 addresses.
  --privilege-level                                      : The access level allowed for the users
                                                           in this key set.  Allowed values:
                                                           "Standard" or "Superuser".
  --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 cluster 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.

Det här exemplet lägger till två nya användare i gruppen "baremetalMachineKeySetName" och ändrar förfallotiden för gruppen.

az networkcloud cluster baremetalmachinekeyset update \
  --name "bareMetalMachineKeySetName" \
 --expiration "2023-12-31T23:59:59.008Z" \
  --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"}, \
  "userPrincipalName":"example@contoso.com"},\
  {"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"}, \
    "userPrincipalName":"example@contoso.com"}]' \
   --cluster-name "clusterName" \
  --resource-group "cluster_RG"

Visa en lista över nyckeluppsättningar för datorer utan operativsystem

Med baremetalmachinekeyset list kommandot kan användarna se de befintliga nyckeluppsättningsgrupperna i ett kluster.

Kommandosyntaxen är:

az networkcloud cluster baremetalmachinekeyset list \
  --cluster-name "<Cluster Name>" \
  --resource-group "<cluster_RG>"

Listargument

  --cluster-name                              [Required] : The name of the cluster.
  --resource-group -g                         [Required] : Name of cluster resource group. Optional if
                                                           configuring the default group using `az
                                                           configure --defaults group=<name>`.

Visa information om bare metal-datornycklar

Med baremetalmachinekeyset show kommandot kan användarna se information om en befintlig nyckeluppsättningsgrupp i ett kluster.

Kommandosyntaxen är:

az networkcloud cluster baremetalmachinekeyset show \
  --cluster-name "<Cluster Name>" \
  --resource-group "<cluster_RG>"

Visa argument

  --bare-metal-machine-key-set-name --name -n [Required] : The name of the bare metal machine key
                                                           set.
  --cluster-name                              [Required] : The name of the cluster.
  --resource-group -g                         [Required] : Name of cluster resource group. You can
                                                           configure the default group using `az
                                                           configure --defaults group=<name>`.