Управление аварийным доступом к компьютеру без операционной системы с помощью az networkcloud cluster baremetalmachinekeyset
Внимание
Обратите внимание, что этот процесс используется в чрезвычайных ситуациях, когда все остальные варианты устранения неполадок с помощью Azure исчерпаны. Любые действия записи или изменения, выполняемые на узлах BMM, потребуют от пользователей повторного создания образа, чтобы восстановить поддержку Майкрософт на затронутых узлах BMM. Обратите внимание, что доступ SSH к этим компьютерам без операционной системы ограничен пользователями, управляемыми с помощью этого метода из указанного списка узлов перехода.
Существуют редкие ситуации, когда пользователю необходимо исследовать и устранять проблемы с компьютером без операционной системы и всеми другими способами через Azure исчерпаны. Оператор Azure Nexus предоставляет az networkcloud cluster baremetalmachinekeyset
команду, чтобы пользователи могли управлять доступом SSH к этим компьютерам без операционной системы. При создании набора ключей пользователи проверяются на идентификатор Microsoft Entra id для правильной авторизации путем перекрестной ссылки на имя участника-пользователя, указанного для пользователя с указанным идентификатором --azure-group-id <Entra Group ID>
группы Microsoft Entra.
Пользователи в наборе ключей проверяются каждые четыре часа, а также при внесении изменений в любой набор ключей. Затем для каждого пользователя задано значение "Активный" или "Недопустимый". Недопустимые пользователи остаются в наборе ключей, но их ключи удаляются со всех узлов, и они не допускают доступ. Причины недопустимых пользователей:
- Имя участника-пользователя пользователя не указано
- Имя участника-пользователя не является членом данной группы Entra
- Указанная группа Entra не существует (в этом случае все пользователи в наборе ключей недопустимы)
- Срок действия набора ключей истек (в этом случае все пользователи в наборе ключей недопустимы)
Примечание.
Имя субъекта-пользователя теперь требуется для наборов ключей, так как проверка идентификатора Microsoft Entra применяется для всех пользователей. Текущие наборы ключей, не указывающие имена субъектов-пользователей для всех пользователей, будут продолжать работать до истечения срока действия. Если срок действия набора ключей без имен субъектов-пользователей истекает, набор ключей необходимо обновить с помощью имен субъектов-пользователей для всех пользователей, чтобы снова стать допустимым. Наборы ключей, которые не были обновлены с именами субъектов-пользователей для всех пользователей до декабря 2024 года, подвержены
Invalid
риску. Обратите внимание, что если пользователю не удается указать имя участника-пользователя, это приведет к недопустимости всего набора ключей.
Набор ключей и каждый отдельный пользователь также имеют подробные сообщения о состоянии, сообщающие другую информацию:
- Подробное описание набора ключейStatusMessage указывает, истек срок действия набора ключей и другие сведения о проблемах, возникающих при обновлении набора ключей в кластере.
- Состояние пользователяMessage сообщает, является ли пользователь активным или недопустимым, а также список компьютеров, которые еще не обновлены до последнего активного или недопустимого состояния пользователя. В каждом случае причины проблем включаются, если известно.
При выполнении команды выполняется на каждом компьютере без операционной системы в кластере с активным узлом Kubernetes. Существует процесс выверки, который периодически выполняется, который повторяет команду на любом компьютере без операционной системы, который не был доступен во время исходной команды. Кроме того, любой компьютер без операционной системы, возвращающийся в кластер с помощью az networkcloud baremetalmachine reimage
команды или az networkcloud baremetalmachine replace
команды (см . функции BareMetal), отправляет сигнал, вызывающий отправку всех активных наборов ключей на компьютер сразу после возвращения в кластер. Несколько команд выполняются в полученном порядке.
Количество пользователей в группе не ограничено.
Внимание
Заметки о IP-адресах узла перехода
- Процесс создания и обновления набора ключей добавляет IP-адреса узла перехода в таблицы IP для каждого компьютера в кластере. Обновление таблиц IP-адресов ограничивает доступ SSH только с этих узлов переходов.
- Важно указать IP-адреса кластера для узлов перехода. Эти IP-адреса могут отличаться от общедоступного IP-адреса, используемого для доступа к узлу перехода.
- Хотя определен хотя бы один набор ключей, доступ к SSH разрешен из любого узла перехода в любом наборе ключей. Например, если набор ключей A указывает узел перехода A и набор ключей B указывает узел перехода B, пользователи в любом наборе ключей могут использовать узел перехода A или B.
- Хотя наборы ключей не определены, доступ к SSH разрешен из любого узла перехода с сетевым подключением к компьютерам.
Необходимые компоненты
- Установите последнюю версию соответствующих расширений CLI.
- Локальный кластер должен иметь подключение к Azure.
- Получите имя группы ресурсов для
Cluster
ресурса. - Процесс применяет наборы ключей ко всем работающим компьютерам без операционной системы.
- Добавленные пользователи должны быть частью группы Microsoft Entra. Дополнительные сведения см. в разделе "Управление группами".
- Чтобы ограничить доступ к наборам ключей, создайте пользовательскую роль. Дополнительные сведения см. в разделе "Пользовательские роли Azure". В этом экземпляре добавьте или исключите разрешения для
Microsoft.NetworkCloud/clusters/bareMetalMachineKeySets
. Параметры:/read
,/write
и/delete
.
Примечание.
При создании, изменении или удалении доступа к компьютеру без операционной системы с помощью команд, описанных в этой статье, фоновый процесс предоставляет эти изменения компьютерам. Этот процесс приостановлен во время обновления программного обеспечения Оператора Nexus. Если обновление, как известно, выполняется, можно использовать --no-wait
параметр с командой, чтобы предотвратить завершение процесса в командной строке.
Создание набора ключей компьютера без операционной системы
Команда baremetalmachinekeyset create
создает SSH-доступ к компьютеру без операционной системы в кластере для группы пользователей.
Синтаксис команды:
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>"
Создание аргументов
--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: Required. 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.
Глобальные аргументы 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 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"
Сведения о создании структуры см. в кратком --user-list
разделе Azure CLI.
Удаление набора ключей компьютера без операционной системы
Команда baremetalmachinekeyset delete
удаляет SSH-доступ к компьютеру без операционной системы для группы пользователей. Все члены группы больше не имеют SSH-доступа к любому из компьютеров без операционной системы в кластере.
Синтаксис команды:
az networkcloud cluster baremetalmachinekeyset delete \
--name "<bare metal machine Keyset Name>" \
--cluster-name "<Cluster Name>" \
--resource-group "<cluster_RG>"
Удаление аргументов
--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.
В этом примере удаляется группа наборов ключей bareMetalMachineKeysetName в кластере clusterName.
az networkcloud cluster baremetalmachinekeyset delete \
--name "bareMetalMachineKeySetName" \
--cluster-name "clusterName" \
--resource-group "cluster_RG"
Обновление набора ключей компьютера без операционной системы
Эта baremetalmachinekeyset update
команда позволяет пользователям вносить изменения в существующую группу наборов ключей.
Синтаксис команды:
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>"
Обновление аргументов
--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: 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 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.
В этом примере два новых пользователя добавляются в группу baremetalMachineKeySetName и изменяют время истечения срока действия группы.
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"
Перечисление наборов ключей компьютеров без операционной системы
Эта baremetalmachinekeyset list
команда позволяет пользователям просматривать существующие группы наборов ключей в кластере.
Синтаксис команды:
az networkcloud cluster baremetalmachinekeyset list \
--cluster-name "<Cluster Name>" \
--resource-group "<cluster_RG>"
Перечисление аргументов
--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>`.
Отображение сведений о наборе ключей компьютера без операционной системы
Эта baremetalmachinekeyset show
команда позволяет пользователям просматривать сведения о существующей группе наборов ключей в кластере.
Синтаксис команды:
az networkcloud cluster baremetalmachinekeyset show \
--cluster-name "<Cluster Name>" \
--resource-group "<cluster_RG>"
Показать аргументы
--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>`.