Mengelola akses darurat ke mesin bare metal menggunakan az networkcloud cluster bmckeyset
Perhatian
Harap dicatat bahwa proses ini digunakan dalam situasi darurat ketika semua opsi pemecahan masalah lainnya melalui Azure habis. Akses SSH ke mesin bare metal ini dibatasi untuk pengguna yang dikelola melalui metode ini dari daftar jump host yang ditentukan.
Ada situasi langka di mana pengguna perlu menyelidiki & menyelesaikan masalah dengan mesin bare metal dan semua cara lain menggunakan Azure habis. Operator Nexus menyediakan az networkcloud cluster bmckeyset
perintah sehingga pengguna dapat mengelola akses SSH ke pengontrol manajemen baseboard (BMC) pada mesin bare metal ini. Pada pembuatan set kunci, pengguna divalidasi terhadap ID Microsoft Entra untuk otorisasi yang tepat dengan merujuk silang Nama Prinsipal Pengguna yang disediakan untuk pengguna terhadap ID --azure-group-id <Entra Group ID>
Grup Azure yang disediakan .
Pengguna dalam set kunci divalidasi setiap empat jam, dan juga ketika perubahan apa pun dilakukan pada set kunci apa pun. Status setiap pengguna kemudian diatur ke "Aktif" atau "Tidak Valid." Pengguna yang tidak valid tetap berada di set kunci tetapi kunci mereka dihapus dari semua host dan mereka tidak diizinkan mengakses. Alasan pengguna tidak valid adalah:
- Nama Prinsipal Pengguna pengguna belum ditentukan
- Nama Prinsipal Pengguna pengguna bukan anggota grup Entra yang diberikan
- Grup Entra yang diberikan tidak ada (dalam hal ini semua pengguna dalam set kunci tidak valid)
- Set kunci kedaluwarsa (dalam hal ini semua pengguna dalam set kunci tidak valid)
Catatan
Nama Prinsipal Pengguna sekarang diperlukan untuk keyset karena validasi ID Microsoft Entra diberlakukan untuk semua pengguna. Set kunci saat ini yang tidak menentukan Nama Prinsipal Pengguna untuk semua pengguna akan terus berfungsi hingga tanggal kedaluwarsa. Jika set kunci tanpa Nama Prinsipal Pengguna kedaluwarsa, set kunci perlu diperbarui dengan Nama Prinsipal Pengguna, untuk semua pengguna, agar valid lagi. Set kunci yang belum diperbarui dengan Nama Prinsipal Pengguna untuk semua pengguna sebelum Desember 2024 berisiko menjadi Invalid
. Perhatikan bahwa jika ada pengguna yang gagal menentukan Nama Prinsipal Pengguna, ini mengalihkan seluruh set kunci yang tidak valid.
Set kunci dan setiap pengguna individu juga memiliki pesan status terperinci yang mengomunikasikan informasi lain:
- DetailedStatusMessage keyset memberi tahu Anda apakah set kunci kedaluwarsa, dan informasi lain tentang masalah yang dihadapi saat memperbarui set kunci di seluruh kluster.
- StatusMessage pengguna memberi tahu Anda apakah pengguna aktif atau tidak valid, dan daftar komputer yang belum diperbarui ke status aktif/tidak valid terbaru pengguna. Dalam setiap kasus, penyebab masalah disertakan jika diketahui.
Ketika perintah berjalan, perintah dijalankan pada setiap mesin bare metal di Kluster dengan simpul Kubernetes aktif. Ada proses rekonsiliasi yang berjalan secara berkala yang mencoba kembali perintah pada mesin bare metal apa pun yang tidak tersedia pada saat perintah asli. Selain itu, setiap mesin bare metal yang kembali ke kluster melalui az networkcloud baremetalmachine actionreimage
perintah atau az networkcloud baremetalmachine actionreplace
(lihat fungsi BareMetal) mengirim sinyal yang menyebabkan keyset aktif dikirim ke mesin segera setelah kembali ke kluster. Beberapa perintah dijalankan dalam urutan yang diterima.
BMC mendukung jumlah maksimum 12 pengguna. Pengguna didefinisikan berdasarkan per Kluster dan diterapkan ke setiap mesin bare metal. Upaya untuk menambahkan lebih dari 12 pengguna menghasilkan kesalahan. Hapus pengguna sebelum menambahkan pengguna lain saat 12 sudah ada.
Prasyarat
- Instal versi terbaru ekstensi CLI yang sesuai.
- Kluster lokal harus memiliki konektivitas ke Azure.
- Dapatkan nama Grup Sumber Daya untuk
Cluster
sumber daya. - Proses ini menerapkan keyset untuk semua mesin bare metal yang berjalan.
- Pengguna yang ditambahkan harus menjadi bagian dari grup Microsoft Entra. Untuk informasi selengkapnya, lihat Cara Mengelola Grup.
- Untuk membatasi akses untuk mengelola set kunci, buat peran kustom. Untuk informasi selengkapnya, lihat Peran Kustom Azure. Dalam hal ini, tambahkan atau kecualikan izin untuk
Microsoft.NetworkCloud/clusters/bmcKeySets
. Opsinya adalah/read
, ,/write
dan/delete
.
Catatan
Saat akses BMC dibuat, dimodifikasi, atau dihapus melalui perintah yang dijelaskan dalam artikel ini, proses latar belakang memberikan perubahan tersebut ke komputer. Proses ini dijeda selama peningkatan perangkat lunak Operator Nexus. Jika peningkatan diketahui sedang berlangsung, Anda dapat menggunakan --no-wait
opsi dengan perintah untuk mencegah prompt perintah menunggu proses selesai.
Membuat set kunci BMC
Perintah bmckeyset create
membuat akses SSH ke mesin bare metal dalam Kluster untuk sekelompok pengguna.
Sintaks perintahnya adalah:
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>
Buat Argumen
--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.
Argumen Azure CLI global (berlaku untuk semua perintah)
--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.
Contoh ini membuat set kunci baru dengan dua pengguna yang memiliki akses standar dari dua jump host.
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"
Untuk bantuan dalam membuat --user-list
struktur, lihat Azure CLI Shorthand.
Menghapus set kunci BMC
Perintah bmckeyset delete
menghapus akses SSH ke BMC untuk sekelompok pengguna. Semua anggota grup kehilangan akses SSH ke salah satu BMC di Kluster.
Sintaks perintahnya adalah:
az networkcloud cluster bmckeyset delete \
--name <BMC Keyset Name> \
--cluster-name <Cluster Name> \
--resource-group <Resource Group Name> \
Hapus Argumen
--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.
Contoh ini menghapus grup keyset "bmcKeysetName" di Kluster "clusterName".
az networkcloud cluster bmckeyset delete \
--name "bmcKeySetName" \
--cluster-name "clusterName" \
--resource-group "resourceGroupName" \
Memperbarui BMC Keyset
Perintah ini bmckeyset update
memungkinkan pengguna untuk membuat perubahan pada grup set kunci yang ada.
Sintaks perintahnya adalah:
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>
Perbarui Argumen
--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.
Contoh ini menambahkan dua pengguna baru ke grup "bmcKeySetName" dan mengubah waktu kedaluwarsa untuk grup.
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"
Mencantumkan Set Kunci BMC
Perintah ini bmckeyset list
memungkinkan pengguna untuk melihat grup set kunci yang ada di Kluster.
Sintaks perintahnya adalah:
az networkcloud cluster bmckeyset list \
--cluster-name <Cluster Name> \
--resource-group <Resource Group Name>
Argumen Daftar
--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>`.
Perlihatkan Detail Keyset BMC
Perintah ini bmckeyset show
memungkinkan pengguna untuk melihat detail grup set kunci yang ada dalam Kluster.
Sintaks perintahnya adalah:
az networkcloud cluster bmckeyset show \
--cluster-name <Cluster Name> \
--resource-group <Resource Group Name>
Perlihatkan Argumen
--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>`.