Share via


Toegang tot een bare-metalmachine beheren met behulp van de az networkcloud cluster bmckeyset

Let op

Houd er rekening mee dat dit proces wordt gebruikt in noodsituaties wanneer alle andere probleemoplossingsopties via Azure zijn uitgeput. SSH-toegang tot deze bare-metalmachines is beperkt tot gebruikers die via deze methode worden beheerd vanuit de opgegeven jumphostlijst.

Er zijn zeldzame situaties waarin een gebruiker problemen met een bare-metalcomputer moet onderzoeken en oplossen en alle andere manieren waarop Azure wordt gebruikt, zijn uitgeput. Operator Nexus biedt de az networkcloud cluster bmckeyset opdracht zodat gebruikers SSH-toegang tot de BMC (Baseboard Management Controller) op deze bare-metalcomputers kunnen beheren. Bij het maken van een sleutelset worden gebruikers gevalideerd op basis van Microsoft Entra ID voor de juiste autorisatie door kruislings te verwijzen naar de user Principal Name die is opgegeven voor een gebruiker op basis van de opgegeven Azure-groeps-id --azure-group-id <Entra Group ID>.

Als de User Principal Name voor een gebruiker geen lid is van de opgegeven groep, wordt de status van de gebruiker ingesteld op 'Ongeldig' en wordt het statusbericht 'Ongeldig omdat userPrincipal geen lid is van de AAD-groep'. Als de Azure-groeps-id ongeldig is, heeft elke gebruiker in de sleutelset de status 'Ongeldig' en wordt het statusbericht 'AAD-groep bestaat niet' weergegeven. Ongeldige gebruikers blijven in de sleutelset, maar hun sleutel wordt niet ingeschakeld voor SSH-toegang.

Notitie

Er is momenteel een overgangsperiode waarin het opgeven van User Principal Names optioneel is. In een toekomstige release wordt deze verplicht en wordt validatie van Microsoft Entra ID afgedwongen voor alle gebruikers. Gebruikers worden aangemoedigd om User Principal Names toe te voegen aan hun sleutelsets voordat de overgangsperiode eindigt (gepland voor juli 2024) om te voorkomen dat sleutelsets ongeldig worden gemaakt. Houd er rekening mee dat als gebruikersprincipalnamen worden toegevoegd aan een sleutelset, zelfs als ze niet worden toegevoegd voor alle gebruikers, de Validatie van Microsoft Entra-id is ingeschakeld en dit resulteert in een ongeldige sleutelset als de opgegeven groeps-id ongeldig is.

Wanneer de opdracht wordt uitgevoerd, wordt deze uitgevoerd op elke bare-metalcomputer in het cluster met een actief Kubernetes-knooppunt. Er is een afstemmingsproces dat periodiek wordt uitgevoerd om de opdracht opnieuw uit te voeren op een bare-metalcomputer die niet beschikbaar was op het moment van de oorspronkelijke opdracht. Elke bare-metalcomputer die via een az networkcloud baremetalmachine actionreimage of az networkcloud baremetalmachine actionreplace opdracht naar het cluster terugkeert (zie BareMetal-functies) verzendt ook een signaal waardoor actieve sleutelsets naar de machine worden verzonden zodra deze terugkeert naar het cluster. Meerdere opdrachten worden uitgevoerd in de ontvangen volgorde.

De BMC's ondersteunen maximaal 12 gebruikers. Gebruikers worden per cluster gedefinieerd en toegepast op elke bare-metalcomputer. Pogingen om meer dan 12 gebruikers toe te voegen, resulteert in een fout. Verwijder een gebruiker voordat u er nog een toevoegt wanneer er al 12 bestaat.

Vereisten

  • Installeer de nieuwste versie van de juiste CLI-extensies.
  • Het on-premises cluster moet verbinding hebben met Azure.
  • Haal de naam van de resourcegroep voor de Cluster resource op.
  • Het proces past sleutelsets toe op alle actieve bare-metalmachines.
  • De toegevoegde gebruikers moeten deel uitmaken van een Microsoft Entra-groep. Zie Groepen beheren voor meer informatie.
  • Als u de toegang voor het beheren van sleutelsets wilt beperken, maakt u een aangepaste rol. Zie Aangepaste Azure-rollen voor meer informatie. In dit geval kunt u machtigingen toevoegen of uitsluiten voor Microsoft.NetworkCloud/clusters/bmcKeySets. De opties zijn /read, /writeen /delete.

Notitie

Wanneer BMC-toegang wordt gemaakt, gewijzigd of verwijderd via de opdrachten die in dit artikel worden beschreven, levert een achtergrondproces deze wijzigingen aan de machines. Dit proces wordt onderbroken tijdens software-upgrades van Operator Nexus. Als een upgrade wordt uitgevoerd, kunt u de --no-wait optie met de opdracht gebruiken om te voorkomen dat de opdrachtprompt wacht tot het proces is voltooid.

Een BMC-sleutelset maken

Met de bmckeyset create opdracht maakt u SSH-toegang tot de bare-metalcomputer in een cluster voor een groep gebruikers.

De syntaxis van de opdracht is:

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> \
  --jump-hosts-allowed <List of jump server IP addresses> \
  --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>

Argumenten maken

  --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 limit is up to 1 year from creation.
                                                           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.

Algemene Azure CLI-argumenten (van toepassing op alle opdrachten)

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

In dit voorbeeld wordt een nieuwe sleutelset gemaakt met twee gebruikers die standaardtoegang hebben vanaf twee jumphosts.

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"

Zie Azure CLI Shorthand voor hulp bij het maken van de --user-list structuur.

Een BMC-sleutelset verwijderen

Met de bmckeyset delete opdracht wordt SSH-toegang tot de BMC verwijderd voor een groep gebruikers. Alle leden van de groep verliezen SSH-toegang tot een van de BMC's in het cluster.

De syntaxis van de opdracht is:

az networkcloud cluster bmckeyset delete \
  --name <BMC Keyset Name> \
  --cluster-name <Cluster Name> \
  --resource-group <Resource Group Name> \

Argumenten verwijderen

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

In dit voorbeeld wordt de sleutelsetgroep 'bmcKeysetName' in het cluster 'clusternaam' verwijderd.

az networkcloud cluster bmckeyset delete \
  --name "bmcKeySetName" \
  --cluster-name "clusterName" \
  --resource-group "resourceGroupName" \

Een BMC-sleutelset bijwerken

Met de bmckeyset update opdracht kunnen gebruikers wijzigingen aanbrengen in een bestaande keysetgroep.

De syntaxis van de opdracht is:

az networkcloud cluster bmckeyset update \
  --name <BMC 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 <Resource Group Name>

Argumenten bijwerken

  --bmc-key-set-name --name -n                [Required] : The name of the BMC 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 BMCs. 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:
                                                           "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.

In dit voorbeeld worden twee nieuwe gebruikers toegevoegd aan de groep 'bmcKeySetName' en wordt de verlooptijd voor de groep gewijzigd.

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"

BMC-sleutelsets weergeven

Met de bmckeyset list opdracht kunnen gebruikers de bestaande sleutelsetgroepen in een cluster zien.

De syntaxis van de opdracht is:

az networkcloud cluster bmckeyset list \
  --cluster-name <Cluster Name> \
  --resource-group <Resource Group Name>

Lijstargumenten

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

Details van BMC-sleutelset weergeven

Met de bmckeyset show opdracht kunnen gebruikers de details van een bestaande keysetgroep in een cluster bekijken.

De syntaxis van de opdracht is:

az networkcloud cluster bmckeyset show \
  --cluster-name <Cluster Name> \
  --resource-group <Resource Group Name>

Argumenten weergeven

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