Bagikan melalui


Mengelola akses darurat ke mesin bare metal menggunakan az networkcloud cluster baremetalmachinekeyset

Perhatian

Harap dicatat bahwa proses ini digunakan dalam situasi darurat ketika semua opsi pemecahan masalah lainnya menggunakan Azure telah habis. Setiap tindakan tulis atau edit yang dijalankan pada simpul BMM akan mengharuskan pengguna untuk 'mencitrakan ulang' untuk memulihkan dukungan Microsoft ke simpul BMM yang terkena dampak. Harap dicatat bahwa 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 melalui Azure kelelahan. Azure Operator Nexus menyediakan az networkcloud cluster baremetalmachinekeyset perintah sehingga pengguna dapat mengelola akses SSH ke 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 Microsoft Entra 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 reimage perintah atau az networkcloud baremetalmachine replace (lihat fungsi BareMetal) mengirim sinyal yang menyebabkan keyset aktif dikirim ke mesin segera setelah kembali ke kluster. Beberapa perintah dijalankan dalam urutan yang diterima.

Tidak ada batasan jumlah pengguna dalam grup.

Perhatian

Catatan untuk alamat IP jump host

  • Proses pembuatan/pembaruan set kunci menambahkan alamat IP jump host ke tabel IP untuk setiap komputer di Kluster. Pembaruan tabel IP membatasi akses SSH untuk diizinkan hanya dari host lompat tersebut.
  • Penting untuk menentukan Alamat IP yang menghadap Kluster untuk host lompat. Alamat IP ini mungkin berbeda dari alamat IP publik yang digunakan untuk mengakses jump host.
  • Meskipun setidaknya satu set kunci didefinisikan, akses ssh diizinkan dari host lompat apa pun di set kunci apa pun. Misalnya, jika keyset A menentukan jump host A dan keyset B menentukan jump host B, pengguna di salah satu keyset dapat menggunakan jump host A atau B.
  • Meskipun tidak ada set kunci yang ditentukan, akses ssh diizinkan dari jump host apa pun yang memiliki konektivitas jaringan ke komputer.

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/bareMetalMachineKeySets. Opsinya adalah /read, , /writedan /delete.

Catatan

Ketika akses mesin bare metal dibuat, dimodifikasi, atau dihapus melalui perintah yang dijelaskan dalam artikel ini, proses latar belakang memberikan perubahan tersebut ke mesin. 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 mesin bare metal

Perintah baremetalmachinekeyset create membuat akses SSH ke mesin bare metal dalam Kluster untuk sekelompok pengguna.

Sintaks perintahnya adalah:

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

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

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

Untuk bantuan dalam membuat --user-list struktur, lihat Azure CLI Shorthand.

Menghapus set kunci mesin bare metal

Perintah baremetalmachinekeyset delete menghapus akses SSH ke mesin bare metal untuk sekelompok pengguna. Semua anggota grup tidak lagi memiliki akses SSH ke salah satu mesin bare metal di Kluster.

Sintaks perintahnya adalah:

az networkcloud cluster baremetalmachinekeyset delete \
  --name "<bare metal machine Keyset Name>" \
  --cluster-name "<Cluster Name>" \
  --resource-group "<cluster_RG>"

Hapus Argumen

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

Contoh ini menghapus grup keyset "bareMetalMachineKeysetName" di Kluster "clusterName".

az networkcloud cluster baremetalmachinekeyset delete \
  --name "bareMetalMachineKeySetName" \
  --cluster-name "clusterName" \
  --resource-group "cluster_RG"

Memperbarui Keyset Mesin Bare Metal

Perintah ini baremetalmachinekeyset update memungkinkan pengguna untuk membuat perubahan pada grup set kunci yang ada.

Sintaks perintahnya adalah:

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

Perbarui Argumen

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

Contoh ini menambahkan dua pengguna baru ke grup "baremetalMachineKeySetName" dan mengubah waktu kedaluwarsa untuk grup.

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"

Mencantumkan Set Kunci Mesin Bare Metal

Perintah ini baremetalmachinekeyset list memungkinkan pengguna untuk melihat grup set kunci yang ada di Kluster.

Sintaks perintahnya adalah:

az networkcloud cluster baremetalmachinekeyset list \
  --cluster-name "<Cluster Name>" \
  --resource-group "<cluster_RG>"

Argumen Daftar

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

Tampilkan Detail Keyset Mesin Bare Metal

Perintah ini baremetalmachinekeyset show memungkinkan pengguna untuk melihat detail grup set kunci yang ada dalam Kluster.

Sintaks perintahnya adalah:

az networkcloud cluster baremetalmachinekeyset show \
  --cluster-name "<Cluster Name>" \
  --resource-group "<cluster_RG>"

Perlihatkan Argumen

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