Zarządzanie dostępem awaryjnym do maszyny bez systemu operacyjnego przy użyciu az networkcloud cluster baremetalmachinekeyset
Uwaga
Pamiętaj, że ten proces jest używany w sytuacjach awaryjnych, gdy wszystkie inne opcje rozwiązywania problemów przy użyciu platformy Azure zostały wyczerpane. Wszystkie akcje zapisu lub edycji wykonywane w węzłach programu BMM będą wymagać od użytkowników "odtworzenia obrazu" w celu przywrócenia obsługi firmy Microsoft do węzłów BMM, których dotyczy ten wpływ. Należy pamiętać, że dostęp SSH do tych maszyn bez systemu operacyjnego jest ograniczony do użytkowników zarządzanych za pośrednictwem tej metody z określonej listy hostów skoków.
Istnieją rzadkie sytuacje, w których użytkownik musi zbadać i rozwiązać problemy z maszyną bez systemu operacyjnego i wszystkie inne sposoby za pośrednictwem platformy Azure są wyczerpane. Operator platformy az networkcloud cluster baremetalmachinekeyset
Azure Nexus udostępnia polecenie, dzięki czemu użytkownicy mogą zarządzać dostępem SSH do tych maszyn bez systemu operacyjnego. Podczas tworzenia zestawu kluczy użytkownicy są weryfikowani względem identyfikatora Entra firmy Microsoft w celu uzyskania odpowiedniej autoryzacji, odwołując się do głównej nazwy użytkownika podanej dla użytkownika względem podanego identyfikatora --azure-group-id <Entra Group ID>
grupy Entra firmy Microsoft.
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 użytkownika nie jest członkiem danej grupy Entra (jeśli została określona)
- Podana grupa Entra (jeśli została określona) 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
Obecnie istnieje okres przejściowy, w którym określenie głównych nazw użytkowników jest opcjonalne. W przyszłej wersji będzie ona obowiązkowa, a walidacja identyfikatora Entra firmy Microsoft zostanie wymuszona dla wszystkich użytkowników. Użytkownicy są zachęcani do dodawania głównych nazw użytkowników do swoich zestawów kluczy przed zakończeniem okresu przejściowego (planowanego na lipiec 2024 r.), aby uniknąć unieważnienia zestawów kluczy. Należy pamiętać, że jeśli jakiekolwiek główne nazwy użytkownika zostaną dodane do zestawu kluczy, nawet jeśli nie zostaną dodane dla wszystkich użytkowników, weryfikacja identyfikatora Entra firmy Microsoft zostanie włączona i spowoduje to unieważnienie całego zestawu kluczy, jeśli określony identyfikator grupy jest nieprawidłowy.
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 wykonywane na każdej maszynie bez systemu operacyjnego w klastrze z aktywnym węzłem Kubernetes. Istnieje proces uzgadniania, który jest uruchamiany okresowo, ponawia próbę polecenia na każdej maszynie bez systemu operacyjnego, która nie była dostępna w momencie oryginalnego polecenia. Ponadto każda maszyna bez systemu operacyjnego, która wraca do klastra za pośrednictwem az networkcloud baremetalmachine reimage
polecenia lub az networkcloud baremetalmachine replace
(zobacz funkcje BareMetal), wysyła sygnał powodujący wysłanie jakichkolwiek aktywnych zestawów kluczy do maszyny natychmiast po powrocie do klastra. Wiele poleceń jest wykonywanych w otrzymanej kolejności.
Nie ma limitu liczby użytkowników w grupie.
Uwaga
Uwagi dotyczące adresów IP hosta szybkiego dostępu
- Proces tworzenia/aktualizowania zestawu kluczy dodaje adresy IP hosta skoku do tabel adresów IP dla każdej maszyny w klastrze. Aktualizacja tabel IP ogranicza dostęp SSH tylko z tych hostów przesiadkowych.
- Ważne jest, aby określić adresy IP klastra dla hostów przesiadkowych. Te adresy IP mogą być inne niż publiczny adres IP używany do uzyskiwania dostępu do hosta przesiadkowego.
- Chociaż zdefiniowany jest co najmniej jeden zestaw kluczy, dostęp SSH jest dozwolony z dowolnego hosta skokowego w dowolnym zestawie kluczy. Jeśli na przykład zestaw kluczy A określa hosta skokowego A i zestaw kluczy B określa hosta skokowego B, użytkownicy w obu zestawach kluczy mogą używać hosta skokowego A lub B.
- Chociaż nie zdefiniowano żadnych zestawów kluczy, dostęp SSH jest dozwolony z dowolnego hosta skokowego, który ma łączność sieciową z maszynami.
Wymagania wstępne
- Zainstaluj najnowszą wersję odpowiednich rozszerzeń interfejsu wiersza polecenia.
- 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 Microsoft Entra. 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/bareMetalMachineKeySets
. Dostępne opcje to/read
,/write
i/delete
.
Uwaga
Po utworzeniu, zmodyfikowaniu lub usunięciu dostępu do maszyn bez systemu operacyjnego za pomocą poleceń opisanych w tym artykule proces w tle dostarcza te zmiany na maszynach. 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.
Tworzenie zestawu kluczy maszyn bez systemu operacyjnego
Polecenie baremetalmachinekeyset create
tworzy dostęp SSH do maszyny bez systemu operacyjnego w klastrze dla grupy użytkowników.
Składnia polecenia to:
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>"
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.
--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.
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.
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 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"
Aby uzyskać pomoc dotyczącą tworzenia struktury, zobacz Skrót interfejsu --user-list
wiersza polecenia platformy Azure.
Usuwanie zestawu kluczy maszyny bez systemu operacyjnego
Polecenie baremetalmachinekeyset delete
usuwa dostęp SSH do maszyny bez systemu operacyjnego dla grupy użytkowników. Wszyscy członkowie grupy nie mają już dostępu SSH do żadnej maszyny bez systemu operacyjnego w klastrze.
Składnia polecenia to:
az networkcloud cluster baremetalmachinekeyset delete \
--name "<bare metal machine Keyset Name>" \
--cluster-name "<Cluster Name>" \
--resource-group "<cluster_RG>"
Usuń argumenty
--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.
W tym przykładzie usunięto grupę kluczy "bareMetalMachineKeysetName" w klastrze "clusterName".
az networkcloud cluster baremetalmachinekeyset delete \
--name "bareMetalMachineKeySetName" \
--cluster-name "clusterName" \
--resource-group "cluster_RG"
Aktualizowanie zestawu kluczy komputera bez systemu operacyjnego
Polecenie baremetalmachinekeyset update
umożliwia użytkownikom wprowadzanie zmian w istniejącej grupie zestawów kluczy.
Składnia polecenia to:
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>"
Aktualizowanie argumentów
--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.
W tym przykładzie dodano dwóch nowych użytkowników do grupy "baremetalMachineKeySetName" i zmienia czas wygaśnięcia grupy.
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"
Wyświetlanie listy zestawów kluczy maszyn bez systemu operacyjnego
Polecenie baremetalmachinekeyset list
umożliwia użytkownikom wyświetlanie istniejących grup zestawów kluczy w klastrze.
Składnia polecenia to:
az networkcloud cluster baremetalmachinekeyset list \
--cluster-name "<Cluster Name>" \
--resource-group "<cluster_RG>"
Argumenty listy
--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>`.
Pokaż szczegóły zestawu kluczy komputera bez systemu operacyjnego
Polecenie baremetalmachinekeyset show
umożliwia użytkownikom wyświetlanie szczegółów istniejącej grupy zestawów kluczy w klastrze.
Składnia polecenia to:
az networkcloud cluster baremetalmachinekeyset show \
--cluster-name "<Cluster Name>" \
--resource-group "<cluster_RG>"
Pokaż argumenty
--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>`.