Bagikan melalui


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, , /writedan /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>`.