Управление аварийным доступом к компьютеру без операционной системы с помощью az networkcloud cluster baremetalmachinekeyset
Внимание
Обратите внимание, что этот процесс используется в чрезвычайных ситуациях, когда все остальные варианты устранения неполадок с помощью Azure исчерпаны. Доступ SSH к этим компьютерам без операционной системы ограничен пользователями, управляемыми с помощью этого метода из указанного списка узлов перехода.
Существуют редкие ситуации, когда пользователю необходимо исследовать и устранять проблемы с машиной без операционной системы и всеми другими способами были исчерпаны через Azure. Оператор Azure Nexus предоставляет az networkcloud cluster baremetalmachinekeyset
команду, чтобы пользователи могли управлять доступом SSH к этим компьютерам без операционной системы. При создании набора ключей пользователи проверяются на идентификатор Microsoft Entra id для правильной авторизации путем перекрестной ссылки на имя участника-пользователя, предоставленного пользователю, против предоставленного идентификатора --azure-group-id <Entra Group ID>
Microsoft Entra.
Если имя участника-пользователя для пользователя не является членом указанной группы, состояние пользователя имеет значение "Недопустимо", а его сообщение о состоянии будет называться недопустимым, так как userPrincipal не является членом группы AAD". Если идентификатор группы Azure недопустим, каждый пользователь в наборе ключей будет иметь значение "Недопустимый", а сообщение о состоянии будет говорить"Группа AAD не существует". Недопустимые пользователи остаются в наборе ключей, но их ключ не будет включен для доступа по протоколу SSH.
Примечание.
В настоящее время существует переходный период, когда указание имен субъектов-пользователей является необязательным. В будущем выпуске она станет обязательной, и проверка идентификатора Microsoft Entra будет применяться для всех пользователей. Пользователям рекомендуется добавить имена субъектов-пользователей в наборы ключей до окончания переходного периода (запланировано на июль 2024 г.), чтобы избежать недействительных наборов ключей. Обратите внимание, что если имена субъектов-пользователей добавляются в набор ключей, даже если они не добавляются для всех пользователей, проверка идентификатора Microsoft Entra будет включена, и это приведет к недопустимости всего набора ключей, если указанный идентификатор группы недействителен.
При выполнении команды выполняется на каждом компьютере без операционной системы в кластере с активным узлом Kubernetes. Существует процесс выверки, который периодически выполняется, который повторяет команду на любом компьютере без операционной системы, который не был доступен во время исходной команды. Кроме того, любой компьютер без операционной системы, возвращающийся в кластер с помощью az networkcloud baremetalmachine actionreimage
команды или az networkcloud baremetalmachine actionreplace
команды (см . функции BareMetal), отправляет сигнал, вызывающий отправку всех активных наборов ключей на компьютер сразу после возвращения в кластер. Несколько команд выполняются в полученном порядке.
Количество пользователей в группе не ограничено.
Внимание
Заметки о IP-адресах узла перехода
- Процесс создания и обновления набора ключей добавляет IP-адреса узла перехода в таблицы IP для каждого компьютера в кластере. Это ограничивает доступ SSH только с этих узлов переходов.
- Важно указать IP-адреса кластера для узлов перехода. Эти IP-адреса могут отличаться от общедоступного IP-адреса, используемого для доступа к узлу перехода.
- После добавления пользователи могут получить доступ к компьютерам без операционной системы с любого указанного IP-адреса узла перехода, включая IP-адрес узла перехода, определенный в другой группе ключей набора ключей без операционной системы.
- Существующий SSH-доступ остается при добавлении первого набора ключей компьютера без операционной системы. Однако команда набора ключей ограничивает существующий SSH-доступ пользователя к указанным IP-адресам узла перехода в командах набора ключей.
Необходимые компоненты
- Установите последнюю версию соответствующих расширений 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 <Resource Group>
Создание аргументов
--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. 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 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.
Глобальные аргументы 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/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" \
type="CustomLocation" \
--location "location" \
--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 "resourceGroupName"
Сведения о создании структуры см. в кратком --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 <Resource Group Name>
Удаление аргументов
--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 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 "resourceGroupName"
Обновление набора ключей компьютера без операционной системы
Эта 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 <Resource Group>
Обновление аргументов
--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. 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 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 "resourceGroupName"
Перечисление наборов ключей компьютеров без операционной системы
Эта baremetalmachinekeyset list
команда позволяет пользователям просматривать существующие группы наборов ключей в кластере.
Синтаксис команды:
az networkcloud cluster baremetalmachinekeyset list \
--cluster-name <Cluster Name> \
--resource-group <Resource Group>
Перечисление аргументов
--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>`.
Отображение сведений о наборе ключей компьютера без операционной системы
Эта baremetalmachinekeyset show
команда позволяет пользователям просматривать сведения о существующей группе наборов ключей в кластере.
Синтаксис команды:
az networkcloud cluster baremetalmachinekeyset show \
--cluster-name <Cluster Name> \
--resource-group <Resource Group>
Показать аргументы
--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 resource group. You can
configure the default group using `az
configure --defaults group=<name>`.