Поделиться через


Управление аварийным доступом к компьютеру без операционной системы с помощью az networkcloud cluster bmckeyset

Внимание

Обратите внимание, что этот процесс используется в чрезвычайных ситуациях, когда все остальные варианты устранения неполадок через Azure исчерпаны. Доступ SSH к этим компьютерам без операционной системы ограничен пользователями, управляемыми с помощью этого метода из указанного списка узлов перехода.

Существуют редкие ситуации, когда пользователю необходимо исследовать и устранять проблемы с компьютером без операционной системы и всеми другими способами использования Azure исчерпаны. Оператор Nexus предоставляет az networkcloud cluster bmckeyset команду, чтобы пользователи могли управлять доступом SSH к контроллеру управления базовой панели (BMC) на этих компьютерах без операционной системы. При создании набора ключей пользователи проверяются на идентификатор Microsoft Entra id для надлежащего авторизации путем перекрестного ссылки на имя участника-пользователя, предоставленного для пользователя с указанным идентификатором --azure-group-id <Entra Group ID>группы Azure.

Пользователи в наборе ключей проверяются каждые четыре часа, а также при внесении изменений в любой набор ключей. Затем для каждого пользователя задано значение "Активный" или "Недопустимый". Недопустимые пользователи остаются в наборе ключей, но их ключи удаляются со всех узлов, и они не допускают доступ. Причины недопустимых пользователей:

  • Имя участника-пользователя пользователя не указано
  • Имя участника-пользователя не является членом данной группы Entra
  • Указанная группа Entra не существует (в этом случае все пользователи в наборе ключей недопустимы)
  • Срок действия набора ключей истек (в этом случае все пользователи в наборе ключей недопустимы)

Примечание.

Имя субъекта-пользователя теперь требуется для наборов ключей, так как проверка идентификатора Microsoft Entra применяется для всех пользователей. Текущие наборы ключей, не указывающие имена субъектов-пользователей для всех пользователей, будут продолжать работать до истечения срока действия. Если срок действия набора ключей без имен субъектов-пользователей истекает, набор ключей необходимо обновить с помощью имен субъектов-пользователей для всех пользователей, чтобы снова стать допустимым. Наборы ключей, которые не были обновлены с именами субъектов-пользователей для всех пользователей до декабря 2024 года, подвержены Invalidриску. Обратите внимание, что если пользователю не удается указать имя участника-пользователя, это приведет к недопустимости всего набора ключей.

Набор ключей и каждый отдельный пользователь также имеют подробные сообщения о состоянии, сообщающие другую информацию:

  • Подробное описание набора ключейStatusMessage указывает, истек срок действия набора ключей и другие сведения о проблемах, возникающих при обновлении набора ключей в кластере.
  • Состояние пользователяMessage сообщает, является ли пользователь активным или недопустимым, а также список компьютеров, которые еще не обновлены до последнего активного или недопустимого состояния пользователя. В каждом случае причины проблем включаются, если известно.

При выполнении команды выполняется на каждом компьютере без операционной системы в кластере с активным узлом Kubernetes. Существует процесс выверки, который периодически выполняется, который повторяет команду на любом компьютере без операционной системы, который не был доступен во время исходной команды. Кроме того, любой компьютер без операционной системы, возвращающийся в кластер с помощью az networkcloud baremetalmachine actionreimage команды или az networkcloud baremetalmachine actionreplace команды (см . функции BareMetal), отправляет сигнал, вызывающий отправку всех активных наборов ключей на компьютер сразу после возвращения в кластер. Несколько команд выполняются в полученном порядке.

BMCs поддерживают максимальное число 12 пользователей. Пользователи определяются на основе каждого кластера и применяются к каждому компьютеру без операционной системы. Попытки добавить более 12 пользователей приводят к ошибке. Удалите пользователя перед добавлением другого, если 12 уже существует.

Необходимые компоненты

  • Установите последнюю версию соответствующих расширений CLI.
  • Локальный кластер должен иметь подключение к Azure.
  • Получите имя группы ресурсов для Cluster ресурса.
  • Процесс применяет наборы ключей ко всем работающим компьютерам без операционной системы.
  • Добавленные пользователи должны быть частью группы Microsoft Entra. Дополнительные сведения см. в разделе "Управление группами".
  • Чтобы ограничить доступ к наборам ключей, создайте пользовательскую роль. Дополнительные сведения см. в разделе "Пользовательские роли Azure". В этом экземпляре добавьте или исключите разрешения для Microsoft.NetworkCloud/clusters/bmcKeySets. Параметры: /read, /writeи /delete.

Примечание.

При создании, изменении или удалении доступа BMC с помощью команд, описанных в этой статье, фоновый процесс предоставляет эти изменения компьютерам. Этот процесс приостановлен во время обновления программного обеспечения Оператора Nexus. Если обновление, как известно, выполняется, можно использовать --no-wait параметр с командой, чтобы предотвратить завершение процесса в командной строке.

Создание набора ключей BMC

Команда bmckeyset create создает SSH-доступ к компьютеру без операционной системы в кластере для группы пользователей.

Синтаксис команды:

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>

Создание аргументов

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

Глобальные аргументы Azure CLI (применимы ко всем командам)

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

В этом примере создается новый набор ключей с двумя пользователями, имеющими стандартный доступ с двух узлов перехода.

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"

Сведения о создании структуры см. в кратком --user-listразделе Azure CLI.

Удаление набора ключей BMC

Команда bmckeyset delete удаляет доступ SSH к BMC для группы пользователей. Все члены группы теряют SSH-доступ к любому из BMC в кластере.

Синтаксис команды:

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

Удаление аргументов

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

В этом примере удаляется группа наборов ключей bmcKeysetName в кластере clusterName.

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

Обновление набора ключей BMC

Эта bmckeyset update команда позволяет пользователям вносить изменения в существующую группу наборов ключей.

Синтаксис команды:

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>

Обновление аргументов

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

В этом примере два новых пользователя добавляются в группу bmcKeySetName и изменяют время истечения срока действия группы.

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

Эта bmckeyset list команда позволяет пользователям просматривать существующие группы наборов ключей в кластере.

Синтаксис команды:

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

Перечисление аргументов

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

Отображение сведений о наборе ключей BMC

Эта bmckeyset show команда позволяет пользователям просматривать сведения о существующей группе наборов ключей в кластере.

Синтаксис команды:

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

Показать аргументы

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