Udostępnij przez


Zarządzanie dostępem awaryjnym do maszyny Bare Metal przy użyciu az networkcloud cluster bmckeyset

Ostrzeżenie

Ten proces jest używany w sytuacjach awaryjnych, gdy wszystkie inne opcje rozwiązywania problemów za pośrednictwem platformy Azure zostaną wyczerpane. Dostęp SSH do tych maszyn bare metal jest ograniczony do użytkowników zarządzanych przez tę metodę z określonej listy hostów skokowych.

Istnieją rzadkie sytuacje, w których użytkownik musi zbadać i rozwiązać problemy z maszyną Bare Metal i wszystkie inne możliwości korzystania z Azure zostały wyczerpane. Operator Nexus udostępnia az networkcloud cluster bmckeyset polecenie, dzięki czemu użytkownicy mogą zarządzać dostępem SSH do kontrolera zarządzania płytą główną (BMC) na tych komputerach bez systemu operacyjnego. Podczas tworzenia zestawu kluczy użytkownicy są weryfikowani względem Microsoft Entra ID w celu właściwej autoryzacji, porównując nazwę główną użytkownika podaną dla użytkownika względem podanego identyfikatora grupy platformy Azure --azure-group-id <Entra Group ID>.

Użytkownicy w zestawie kluczy są weryfikowani co cztery godziny, a także po wprowadzeniu zmian w dowolnym zestawie kluczy. Stan każdego użytkownika jest następnie ustawiony na "Aktywny" lub "Nieprawidłowy". Nieprawidłowi użytkownicy pozostają w zestawie kluczy, ale ich klucze są usuwane ze wszystkich hostów i nie są one dozwolone. Przyczyny, dla których użytkownik jest nieprawidłowy, to:

  • Główna nazwa użytkownika nie jest określona
  • Główna nazwa użytkownika użytkownika nie jest członkiem danej grupy Microsoft Entra
  • Dana grupa Microsoft Entra nie istnieje (w tym przypadku wszyscy użytkownicy w zestawie kluczy są nieprawidłowi)
  • Zestaw kluczy wygasł (w tym przypadku wszyscy użytkownicy w zestawie kluczy są nieprawidłowi)

Uwaga / Notatka

Główna nazwa użytkownika jest teraz wymagana dla zestawów kluczy, ponieważ walidacja identyfikatora Entra firmy Microsoft jest wymuszana dla wszystkich użytkowników. Bieżące zestawy kluczy, które nie określają głównych nazw użytkowników dla wszystkich użytkowników, będą nadal działać do daty wygaśnięcia. Jeśli zestaw kluczy bez Głównych Nazw Użytkownika wygaśnie, należy zaktualizować zestaw kluczy przy użyciu Głównymi Nazwami Użytkownika, aby zestaw kluczy ponownie stał się ważny dla wszystkich użytkowników. Zestawy kluczy, które nie miały głównych nazw użytkowników dla wszystkich użytkowników przed grudniem 2024 r., są narażone na wartość Invalid. Jeśli jakikolwiek użytkownik nie ma głównej nazwy użytkownika, spowoduje to unieważnienie całego zestawu kluczy.

Zestaw kluczy i każdy użytkownik mają również szczegółowe komunikaty o stanie komunikujące inne informacje:

  • SzczegółowystatusMessage zestawu kluczy informuje, czy zestaw kluczy wygasł, oraz inne informacje o problemach napotkanych podczas aktualizowania zestawu kluczy w klastrze.
  • Komunikat o stanie użytkownika informuje, czy użytkownik jest aktywny, czy nieprawidłowy, oraz listę maszyn, które nie zostały jeszcze zaktualizowane do najnowszego stanu aktywnego/nieprawidłowego użytkownika. W każdym przypadku przyczyny problemów są uwzględniane, jeśli są znane.

Po uruchomieniu polecenia, jest ono wykonywane na każdej maszynie Bare Metal w klastrze z aktywnym węzłem Kubernetes. Istnieje proces uzgadniania, który jest uruchamiany okresowo, aby ponowić próbę wykonania polecenia na dowolnej maszynie Bare Metal, które nie były dostępne w chwili wydawania oryginalnego polecenia. Ponadto każda maszyna Bare Metal, która wraca do klastra za pomocą polecenia az networkcloud baremetalmachine actionreimage lub az networkcloud baremetalmachine actionreplace (zobacz funkcje BareMetal), wysyła sygnał, który powoduje, że wszystkie aktywne keysety są przesyłane do maszyny natychmiast po jej powrocie do klastra. Wiele poleceń jest wykonywanych w otrzymanej kolejności.

Wymagania wstępne

  • Zainstaluj najnowszą wersję odpowiednich rozszerzeń CLI.
  • Klaster lokalny musi mieć łączność z platformą Azure.
  • Pobierz nazwę grupy zasobów dla Cluster zasobu.
  • Proces stosuje zestawy kluczy do wszystkich uruchomionych maszyn bez systemu operacyjnego.
  • Dodani użytkownicy muszą należeć do grupy Entra firmy Microsoft. Aby uzyskać więcej informacji, zobacz Jak zarządzać grupami.
  • Aby ograniczyć dostęp do zarządzania zestawami kluczy, utwórz rolę niestandardową. Aby uzyskać więcej informacji, zobacz Role niestandardowe platformy Azure. W tym wystąpieniu dodaj lub wyklucz uprawnienia dla elementu Microsoft.NetworkCloud/clusters/bmcKeySets. Dostępne opcje to /read, /writei /delete.

Uwaga / Notatka

Po utworzeniu, zmodyfikowaniu lub usunięciu dostępu BMC za pomocą poleceń opisanych w niniejszym artykule, proces w tle dostarcza te zmiany do maszyn. Ten proces jest wstrzymany podczas uaktualniania oprogramowania Operator Nexus. Jeśli uaktualnienie jest w toku, możesz użyć --no-wait opcji z poleceniem , aby uniemożliwić wierszowi polecenia oczekiwanie na ukończenie procesu.

Ograniczenia

Ograniczenia użytkownika zestawu kluczy BMC

Mimo że kontrolery BMC obsługują maksymalną liczbę 16 użytkowników, 6 jest zarezerwowanych do korzystania z systemu, pozostawiając 10 dla użytkowników zestawu kluczy BMC. Użytkownicy zestawu kluczy BMC są definiowani na podstawie klastra i stosowani do każdej maszyny bare metal. Próby dodania więcej niż 10 użytkowników powoduje wystąpienie błędu. Usuń użytkownika przed dodaniem innego, gdy już istnieje 10.

Ostrzeżenie

Użytkownicy BMC nie powinni być tworzeni ani modyfikowani ręcznie. Nexus w pełni zarządza użytkownikami BMC i ich umieszczaniem w gniazdach. Ręczne zmiany mogą spowodować, że maszyna bare metal przestanie działać i stanie się niedostępna. Jeśli masz pytania, skontaktuj się z pomocą techniczną.

Oto mapowanie slotów BMC dla użytkowników.

Gniazdo BMC User
gniazda 1–6 Zarezerwowane do użycia systemu
gniazda 7–16 Zarezerwowane dla użytkowników zestawu kluczy BMC

Ograniczenia użytkowników grupy Entra firmy Microsoft

Używanie identyfikatora grupy Entra firmy Microsoft z ponad 5000 użytkownikami nie jest zalecane. Uzgadnianie dużej liczby użytkowników może spowodować przekroczenie limitu czasu, zablokowanie dostępu i spowodowanie problemów z logowaniem.

Tworzenie zestawu kluczy kryptograficznych BMC

Polecenie bmckeyset create umożliwia dostęp SSH do maszyny Bare Metal w klastrze dla grupy użytkowników.

Składnia polecenia to:

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>

Tworzenie argumentów

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

Globalne argumenty interfejsu wiersza polecenia platformy Azure (dotyczy wszystkich poleceń)

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

Uwaga / Notatka

Klucz publiczny dostarczony dla każdego użytkownika w zestawie BMCKeyset musi być jednym z typów obsługiwanych przez funkcję iDRAC. Użycie klucza nieobsługiwanego typu może spowodować błąd lub niezdefiniowane zachowanie. Obsługiwane typy to:

  • rsa-sha2-512
  • rsa-sha2-256
  • ssh-rsa
  • ecdsa-sha2-nistp256
  • ssh-ed25519

Aby uzyskać więcej informacji, zobacz Dell iDRAC9 Security Configuration Guide (Podręcznik konfiguracji zabezpieczeń firmy Dell iDRAC9).

W tym przykładzie tworzony jest nowy zestaw kluczy z dwoma użytkownikami, którzy mają standardowy dostęp z dwóch hostów przesiadkowych.

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"

Aby uzyskać pomoc dotyczącą tworzenia struktury, zobacz --user-list interfejsu wiersza polecenia platformy Azure.

Usuwanie zestawu kluczy BMC

Polecenie bmckeyset delete usuwa dostęp SSH do kontrolera BMC dla grupy użytkowników. Wszyscy członkowie grupy utracą dostęp SSH do jakiegokolwiek kontrolera BMC w klastrze.

Składnia polecenia to:

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

Usuń argumenty

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

W tym przykładzie usuwa się grupę kluczy "bmcKeysetName" w klastrze "clusterName".

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

Aktualizowanie zestawu kluczy BMC

Polecenie bmckeyset update umożliwia użytkownikom wprowadzanie zmian w istniejącej grupie zestawów kluczy.

Składnia polecenia to:

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>

Aktualizowanie argumentów

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

W tym przykładzie dodano dwóch nowych użytkowników do grupy "bmcKeySetName" i zmienia czas wygaśnięcia grupy.

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"

Wyświetlanie listy zestawów kluczy BMC

Polecenie bmckeyset list umożliwia użytkownikom wyświetlanie istniejących grup zestawów kluczy w klastrze.

Składnia polecenia to:

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

Argumenty listy

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

Pokaż szczegóły zestawu kluczy kontrolera BMC

Polecenie bmckeyset show umożliwia użytkownikom wyświetlanie szczegółów istniejącej grupy zestawów kluczy w klastrze.

Składnia polecenia to:

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

Pokaż argumenty

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