Správa nouzového přístupu k holým počítačům pomocí nástroje az networkcloud cluster bmckeyset

Upozornění

Upozorňujeme, že tento proces se používá v situacích tísňového volání, pokud byly všechny ostatní možnosti řešení potíží prostřednictvím Azure vyčerpány. 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 používat Azure, byly vyčerpány. Operátor Nexus poskytuje az networkcloud cluster bmckeyset příkaz, aby uživatelé mohli spravovat přístup SSH k řadiči pro správu základní desky (BMC) na těchto holých počítačích. Při vytváření sady klíčů se uživatelé ověřují proti ID Microsoft Entra pro správnou autorizaci tak, že křížově odkazují na hlavní název uživatele zadaný pro zadané ID --azure-group-id <Entra Group ID>skupiny Azure.

Pokud hlavní název uživatele uživatele není členem zadané skupiny, stav uživatele je nastavený na Neplatný a jeho stavová zpráva bude o tom, že je neplatný, protože userPrincipal není členem skupiny AAD. Pokud je ID skupiny Azure neplatné, každý uživatel v sadě klíčů má stav nastavený na Neplatný a stavová zpráva řekne, že skupina AAD neexistuje. Neplatní uživatelé zůstanou v sadě klíčů, ale jejich klíč nebude povolený pro přístup SSH.

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

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 actionreimage příkazu nebo az networkcloud baremetalmachine actionreplace 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ů.

Řadiče pro správu základní desky podporují maximální počet 12 uživatelů. Uživatelé jsou definováni na základě clusteru a použijí se na každý holý počítač. Pokusy o přidání více než 12 uživatelů způsobí chybu. Před přidáním dalšího uživatele odstraňte uživatele, když už existuje 12.

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/bmcKeySets. Možnosti jsou /read, /writea /delete.

Poznámka:

Když se vytvoří, upraví nebo odstraní přístup řadiče pro správu základní desky prostřednictvím 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í sady klíčů řadiče pro správu základní desky

Příkaz bmckeyset create vytvoří přístup SSH k holým počítačům v clusteru pro skupinu uživatelů.

Syntaxe příkazu je:

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>

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

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

Pomoc s vytvářením struktury najdete v --user-list tématu Zkratka Azure CLI.

Odstranění sady klíčů řadiče pro správu základní desky

Příkaz bmckeyset delete odebere přístup SSH k řadiči pro správu základní desky pro skupinu uživatelů. Všichni členové skupiny ztratí přístup SSH ke všem řadičům pro správu základní desky v clusteru.

Syntaxe příkazu je:

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

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

Tento příklad odebere skupinu sad klíčů bmcKeysetName v clusteru clusteru clusteru clusterName.

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

Aktualizace sady klíčů řadiče pro správu základní desky

Příkaz bmckeyset update umožňuje uživatelům provádět změny existující skupiny sad klíčů.

Syntaxe příkazu je:

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>

Aktualizovat argumenty

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

Tento příklad přidá do skupiny bmcKeySetName dva nové uživatele a změní dobu vypršení platnosti skupiny.

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"

Výpis sad klíčů řadiče pro správu základní desky

Příkaz bmckeyset list umožňuje uživatelům zobrazit existující skupiny sad klíčů v clusteru.

Syntaxe příkazu je:

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

Argumenty seznamu

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

Zobrazit podrobnosti o sadě klíčů řadiče pro správu základní desky

Příkaz bmckeyset show umožňuje uživatelům zobrazit podrobnosti o existující skupině sad klíčů v clusteru.

Syntaxe příkazu je:

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

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