Správa nouzového přístupu k holým počítačům pomocí nástroje az networkcloud cluster baremetalmachinekeyset
Upozornění
Upozorňujeme, že tento proces se používá v nouzových situacích, když byly vyčerpány všechny ostatní možnosti řešení potíží pomocí Azure. Všechny akce zápisu nebo úprav provedené na uzlech BMM budou vyžadovat, aby uživatelé znovu nastavili image, aby obnovili podporu Microsoftu na ovlivněné uzly BMM. Upozorňujeme, že přístup SSH k těmto holých počítačům je omezený na uživatele spravované prostřednictvím této metody ze zadaného seznamu hostitelů přeskakování.
Existují vzácné situace, kdy uživatel potřebuje prozkoumat a vyřešit problémy s holým počítačem a všemi dalšími způsoby, jak prostřednictvím Azure vyčerpat. Azure Operator Nexus poskytuje az networkcloud cluster baremetalmachinekeyset
příkaz, aby uživatelé mohli spravovat přístup SSH k těmto holým počítačům. Při vytváření sady klíčů jsou uživatelé ověřeni proti Microsoft Entra ID pro správnou autorizaci křížovým odkazem na hlavní název uživatele zadaný pro zadané ID --azure-group-id <Entra Group ID>
skupiny Microsoft Entra .
Uživatelé v sadě klíčů se ověřují každých čtyři hodiny a také při jakýchkoli změnách jakékoli sady klíčů. Stav každého uživatele se pak nastaví na Aktivní nebo Neplatný. Neplatní uživatelé zůstanou v sadě klíčů, ale jejich klíče se odeberou ze všech hostitelů a nemají povolený přístup. Důvody, proč je uživatel neplatný, jsou:
- Hlavní název uživatele není členem dané skupiny Entra (pokud je zadáno).
- Daná skupina Entra (pokud je zadaná) neexistuje (v takovém případě jsou všichni uživatelé v sadě klíčů neplatní).
- Platnost sady klíčů vypršela (v takovém případě jsou všichni uživatelé v sadě klíčů neplatní)
Poznámka:
V současné době existuje přechodné období, ve kterém je zadávání hlavních názvů uživatelů volitelné. V budoucí verzi se stane povinným a ověření ID Microsoft Entra se vynutí pro všechny uživatele. Uživatelům se doporučuje přidat hlavní názvy uživatelů do sad klíčů před uplynutím přechodného období (plánovaného na červenec 2024), aby se zabránilo zneplatnění sad klíčů. Mějte na paměti, že pokud se do sady klíčů přidají nějaké hlavní názvy uživatelů, i když nejsou přidány pro všechny uživatele, bude povoleno ověření ID Microsoft Entra a výsledkem bude zneplatnění celé sady klíčů, pokud zadané ID skupiny není platné.
Sada klíčů a každý jednotlivý uživatel mají také podrobné stavové zprávy, které komunikují další informace:
- Podrobná zpráva o klíčové sadě vám řekne, jestli vypršela platnost sady klíčů, a další informace o problémech, ke kterým došlo při aktualizaci sady klíčů v clusteru.
- Stavová zpráva uživatele vám řekne, jestli je uživatel aktivní nebo neplatný, a seznam počítačů, které ještě nejsou aktualizovány na nejnovější aktivní nebo neplatný stav uživatele. V každém případě jsou příčiny problémů zahrnuty, pokud jsou známé.
Když se příkaz spustí, spustí se na každém holých počítačích v clusteru s aktivním uzlem Kubernetes. Probíhá proces odsouhlasení, který pravidelně opakuje příkaz na jakémkoli holém počítači, který nebyl v době původního příkazu dostupný. Jakýkoli holý počítač, který se vrátí do clusteru prostřednictvím az networkcloud baremetalmachine reimage
příkazu nebo az networkcloud baremetalmachine replace
příkazu (viz Funkce BareMetal), odešle signál, který způsobí odeslání všech aktivních sad klíčů do počítače, jakmile se vrátí do clusteru. V přijatém pořadí se spustí více příkazů.
Počet uživatelů ve skupině není nijak omezený.
Upozornění
Poznámky k IP adresám hostitele pro přeskakování
- Proces vytvoření/aktualizace sady klíčů přidá IP adresy hostitele jumpu do tabulek IP adres pro každý počítač v clusteru. Aktualizace tabulek IP omezuje přístup SSH jenom z těchto hostitelů přeskakování.
- Je důležité zadat IP adresy clusteru pro hostitele přeskakování. Tyto IP adresy se můžou lišit od veřejné IP adresy používané pro přístup k hostiteli pro přeskakování.
- I když je definována aspoň jedna sada klíčů, přístup přes SSH je povolený z libovolného hostitele přeskakování v libovolné sadě klíčů. Pokud například sada klíčů A určuje hostitele přeskakování A a sada klíčů B určuje hostitele přeskakování B, můžou uživatelé v sadě klíčů použít buď přeskakujícího hostitele A, nebo B.
- I když nejsou definované žádné sady klíčů, přístup přes SSH je povolený z jakéhokoli přeskakujícího hostitele, který má síťové připojení k počítačům.
Požadavky
- Nainstalujte nejnovější verzi příslušných rozšíření rozhraní příkazového řádku.
- Místní cluster musí mít připojení k Azure.
- Získejte název skupiny prostředků pro
Cluster
prostředek. - Tento proces použije sady klíčů pro všechny spuštěné holé počítače.
- Přidaní uživatelé musí být součástí skupiny Microsoft Entra. Další informace naleznete v tématu Správa skupin.
- Pokud chcete omezit přístup ke správě sad klíčů, vytvořte vlastní roli. Další informace najdete v tématu Vlastní role Azure. V tomto případě přidejte nebo vylučte oprávnění pro
Microsoft.NetworkCloud/clusters/bareMetalMachineKeySets
. Možnosti jsou/read
,/write
a/delete
.
Poznámka:
Při vytvoření, úpravě nebo odstranění holého počítače pomocí příkazů popsaných v tomto článku proces na pozadí tyto změny doručí do počítačů. Tento proces se pozastaví během upgradů softwaru Operator Nexus. Pokud se o probíhajícím upgradu dozvíte, můžete pomocí --no-wait
možnosti s příkazem zabránit tomu, aby příkazový řádek čekal na dokončení procesu.
Vytvoření holé sady klíčů počítače
Příkaz baremetalmachinekeyset create
vytvoří přístup SSH k holým počítačům v clusteru pro skupinu uživatelů.
Syntaxe příkazu je:
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>"
Vytvoření 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.
Globální argumenty Azure CLI (platné pro všechny příkazy)
--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.
Tento příklad vytvoří novou sadu klíčů se dvěma uživateli, kteří mají standardní přístup ze dvou hostitelů jumpů.
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"
Pomoc s vytvářením struktury najdete v --user-list
tématu Zkratka Azure CLI.
Odstranění holé sady klíčů počítače
Příkaz baremetalmachinekeyset delete
odebere přístup SSH k holým počítačům pro skupinu uživatelů. Všichni členové skupiny už nemají přístup SSH k žádnému z holých počítačů v clusteru.
Syntaxe příkazu je:
az networkcloud cluster baremetalmachinekeyset delete \
--name "<bare metal machine Keyset Name>" \
--cluster-name "<Cluster Name>" \
--resource-group "<cluster_RG>"
Odstranit 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.
Tento příklad odebere skupinu "bareMetalMachineKeysetName" v clusteru "clusterName".
az networkcloud cluster baremetalmachinekeyset delete \
--name "bareMetalMachineKeySetName" \
--cluster-name "clusterName" \
--resource-group "cluster_RG"
Aktualizace holé sady klíčů počítače
Příkaz baremetalmachinekeyset update
umožňuje uživatelům provádět změny existující skupiny sad klíčů.
Syntaxe příkazu je:
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>"
Aktualizovat 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.
--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.
Tento příklad přidá dva nové uživatele do skupiny "baremetalMachineKeySetName" a změní dobu vypršení platnosti skupiny.
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"
Výpis holých strojových klíčů
Příkaz baremetalmachinekeyset list
umožňuje uživatelům zobrazit existující skupiny sad klíčů v clusteru.
Syntaxe příkazu je:
az networkcloud cluster baremetalmachinekeyset list \
--cluster-name "<Cluster Name>" \
--resource-group "<cluster_RG>"
Argumenty seznamu
--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>`.
Zobrazit podrobnosti o holé sadě klíčů počítače
Příkaz baremetalmachinekeyset show
umožňuje uživatelům zobrazit podrobnosti o existující skupině sad klíčů v clusteru.
Syntaxe příkazu je:
az networkcloud cluster baremetalmachinekeyset show \
--cluster-name "<Cluster Name>" \
--resource-group "<cluster_RG>"
Zobrazit 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>`.