Gunakan titik akhir istimewa di Azure Stack Hub

Sebagai operator Azure Stack Hub, Anda harus menggunakan portal administrator, PowerShell, atau Azure Resource Manager untuk sebagian besar tugas manajemen sehari-hari. Namun, untuk beberapa operasi yang kurang umum, Anda perlu menggunakan titik akhir istimewa (PEP). PEP adalah konsol PowerShell jarak jauh pra-konfigurasi yang memberi Anda kemampuan yang cukup untuk membantu Anda melakukan tugas yang diperlukan. Titik akhir menggunakan PowerShell JEA (Just Enough Administration) untuk mengekspos hanya satu set cmdlet yang dibatasi. Untuk mengakses PEP dan menjalankan kumpulan cmdlet yang dibatasi, akun dengan hak istimewa rendah digunakan. Tidak diperlukan akun admin. Untuk keamanan tambahan, skrip tidak diizinkan.

Anda dapat menggunakan PEP untuk melakukan tugas-tugas ini:

  • Tugas tingkat rendah, seperti mengumpulkan log diagnostik.
  • Banyak tugas integrasi pusat data pasca-penyebaran untuk sistem terintegrasi, seperti menambahkan penerus Domain Name System (DNS) setelah penyebaran, menyiapkan integrasi Microsoft Graph, integrasi Active Directory Federation Services (AD FS), rotasi sertifikat, dan sebagainya.
  • Bekerja dengan dukungan untuk mendapatkan akses tingkat tinggi sementara untuk pemecahan masalah mendalam dari sistem terintegrasi.

PEP mencatat setiap tindakan (dan output terkait) yang Anda lakukan di sesi PowerShell. Ini memberikan transparansi penuh dan audit operasi yang lengkap. Anda dapat menyimpan file log ini untuk audit di masa mendatang.

Catatan

Di Azure Stack Development Kit (ASDK), Anda dapat menjalankan beberapa perintah yang tersedia di PEP langsung dari sesi PowerShell pada host kit pengembangan. Namun, Anda mungkin ingin menguji beberapa operasi menggunakan PEP, seperti pengumpulan log, karena ini adalah satu-satunya metode yang tersedia untuk melakukan operasi tertentu dalam lingkungan sistem terintegrasi.

Catatan

Anda juga dapat menggunakan Operator Access Workstation (OAW) untuk mengakses titik akhir istimewa (PEP), portal Administrator untuk skenario dukungan, dan Alat GitHub Azure Stack Hub. Untuk informasi selengkapnya lihat Stasiun Kerja Akses Operator Azure Stack Hub.

Akses titik akhir istimewa

Anda mengakses PEP melalui sesi PowerShell jarak jauh pada mesin virtual (VM) yang menyelenggarakan PEP. Di ASDK, mesin virtual ini diberi nama AzS-ERCS01. Jika Anda menggunakan sistem terintegrasi, ada tiga instance PEP, masing-masing berjalan di dalam VM (Prefix-ERCS01, Prefix-ERCS02, atau Prefix-ERCS03) pada penyelenggara yang berbeda untuk ketahanan.

Sebelum Anda memulai prosedur ini untuk sistem terintegrasi, pastikan Anda dapat mengakses PEP baik dengan alamat IP atau melalui DNS. Setelah penyebaran awal Azure Stack Hub, Anda dapat mengakses PEP hanya dengan alamat IP karena integrasi DNS belum disiapkan. Vendor perangkat keras OEM Anda akan memberi Anda file JSON bernama AzureStackStampDeploymentInfo yang berisi alamat IP PEP.

Anda juga dapat menemukan alamat IP di portal administrator Azure Stack Hub. Buka portal, misalnya, https://adminportal.local.azurestack.external. Pilih Wilayah Manajemen>Properti.

Anda perlu mengatur pengaturan budaya Anda saat ini en-US saat menjalankan titik akhir istimewa, jika tidak, cmdlet seperti Test-AzureStack atau Get-AzureStackLog tidak akan berfungsi seperti yang diharapkan.

Catatan

Untuk alasan keamanan, kami mengharuskan Anda terhubung ke PEP hanya dari mesin virtual yang mengeras yang berjalan di atas host siklus hidup perangkat keras, atau dari komputer yang berdedikasi dan aman, seperti Privileged Access Workstation. Konfigurasi asli dari host siklus hidup perangkat keras tidak boleh dimodifikasi dari konfigurasi aslinya (termasuk menginstal perangkat lunak baru) atau digunakan untuk tersambung ke PEP.

  1. Membangun kepercayaan.

    • Pada sistem terintegrasi, jalankan perintah berikut dari sesi Windows PowerShell tinggi untuk menambahkan PEP sebagai host tepercaya pada mesin virtual yang mengeras yang berjalan pada host siklus hidup perangkat keras atau Privileged Access Workstation.

      Set-Item WSMan:\localhost\Client\TrustedHosts -Value '<IP Address of Privileged Endpoint>' -Concatenate
      
    • Jika Anda menjalankan ASDK, masuk ke host kit pengembangan.

  2. Pada mesin virtual yang dikeraskan yang berjalan pada host siklus hidup perangkat keras atau Privileged Access Workstation, buka sesi Windows PowerShell. Jalankan perintah berikut untuk membuat sesi jarak jauh pada mesin virtual yang menjadi penyelenggara PEP:

    • Pada sistem yang terintegrasi:

      $cred = Get-Credential
      
      $pep = New-PSSession -ComputerName <IP_address_of_ERCS> -ConfigurationName PrivilegedEndpoint -Credential $cred -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
      Enter-PSSession $pep
      

      Parameter ComputerName bisa berupa alamat IP atau nama DNS dari salah satu mesin virtual yang menjadi penyelenggara PEP.

      Catatan

      Azure Stack Hub tidak melakukan panggilan jarak jauh saat memvalidasi info masuk PEP. Ini bergantung pada kunci publik RSA yang disimpan secara lokal untuk melakukan itu.

    • Jika Anda sedang menjalankan ASDK:

      $cred = Get-Credential
      
      $pep = New-PSSession -ComputerName azs-ercs01 -ConfigurationName PrivilegedEndpoint -Credential $cred -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
      Enter-PSSession $pep
      

    Saat diminta, gunakan info masuk berikut:

    • Nama pengguna: Tentukan akun CloudAdmin, dalam format <Domain Azure Stack Hub>\cloudadmin. (Untuk ASDK, nama penggunanya adalah azurestack\cloudadmin)
    • Kata Sandi: Masukkan kata sandi yang sama yang disediakan selama penginstalan untuk akun administrator domain AzureStackAdmin.

    Catatan

    Jika Anda tidak dapat tersambung ke titik akhir ERCS, coba kembali langkah satu dan dua dengan alamat IP ERCS mesin virtual lainnya.

    Peringatan

    Secara default stempel Azure Stack Hub Anda dikonfigurasi hanya dengan satu akun CloudAdmin. Tidak ada opsi pemulihan jika kredensial akun hilang, disusupi, atau dikunci. Anda akan kehilangan akses ke titik akhir istimewa dan sumber daya lainnya.

    Anda sangat disarankan untuk membuat akun CloudAdmin tambahan, untuk menghindari pemindahan stempel Anda dengan biaya sendiri. Pastikan Anda mendokumentasikan kredensial ini berdasarkan pedoman perusahaan Anda.

  3. Setelah Anda terhubung, prompt akan berubah menjadi [alamat IP atau nama ERCS mesin virtual]: PS> atau ke [azs-ercs01]: PS>, bergantung pada lingkungan. Dari sini, jalankan Get-Command untuk menampilkan daftar cmdlet yang tersedia.

    Anda dapat menemukan referensi untuk cmdlet di referensi titik akhir istimewa Azure Stack Hub

    Banyak dari cmdlet ini hanya ditujukan untuk lingkungan yang terintegrasi (seperti cmdlet yang terkait dengan integrasi pusat data). Dalam ASDK, cmdlet berikut telah divalidasi:

    • Clear-Host
    • Close-PrivilegedEndpoint
    • Exit-PSSession
    • Get-AzureStackLog
    • Get-AzureStackStampInformation
    • Get-Command
    • Get-FormatData
    • Get-Help
    • Get-ThirdPartyNotices
    • Measure-Object
    • New-CloudAdminUser
    • Out-Default
    • Remove-CloudAdminUser
    • Select-Object
    • Set-CloudAdminUserPassword
    • Test-AzureStack
    • Stop-AzureStack
    • Get-ClusterLog

Cara menggunakan titik akhir yang diistimewakan

Seperti disebutkan di atas, PEP adalah titik akhir JEA PowerShell. Saat menyediakan lapisan keamanan yang kuat, titik akhir JEA mengurangi beberapa kemampuan PowerShell dasar, seperti pembuatan skrip atau penyelesaian tab. Jika Anda mencoba semua jenis operasi skrip, operasi gagal dengan kesalahan ScriptsNotAllowed. Kegagalan ini termasuk perilaku yang sudah diperkirakan.

Misalnya, untuk mendapatkan daftar parameter untuk cmdlet tertentu, jalankan perintah berikut:

    Get-Command <cmdlet_name> -Syntax

Atau, Anda dapat menggunakan cmdlet Impor-PSSession untuk mengimpor semua cmdlet PEP ke sesi saat ini di komputer lokal Anda. Cmdlet dan fungsi PEP sekarang tersedia di komputer lokal Anda, bersama dengan penyelesaian tab dan, lebih umum, pembuatan skrip. Anda juga dapat menjalankan modul Get-Help untuk mengulas instruksi cmdlet.

Untuk mengimpor sesi PEP di komputer lokal Anda, lakukan langkah-langkah berikut:

  1. Membangun kepercayaan.

    • Pada sistem terintegrasi, jalankan perintah berikut dari sesi Windows PowerShell tinggi untuk menambahkan PEP sebagai host tepercaya pada mesin virtual yang mengeras yang berjalan pada host siklus hidup perangkat keras atau Privileged Access Workstation.

      winrm s winrm/config/client '@{TrustedHosts="<IP Address of Privileged Endpoint>"}'
      
    • Jika Anda menjalankan ASDK, masuk ke host kit pengembangan.

  2. Pada mesin virtual yang dikeraskan yang berjalan pada host siklus hidup perangkat keras atau Privileged Access Workstation, buka sesi Windows PowerShell. Jalankan perintah berikut untuk membuat sesi jarak jauh di mesin virtual yang menghosting PEP:

    • Pada sistem yang terintegrasi:

      $cred = Get-Credential
      
      $session = New-PSSession -ComputerName <IP_address_of_ERCS> `
         -ConfigurationName PrivilegedEndpoint -Credential $cred `
         -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
      

      Parameter ComputerName bisa berupa alamat IP atau nama DNS dari salah satu mesin virtual yang menjadi penyelenggara PEP.

    • Jika Anda sedang menjalankan ASDK:

      $cred = Get-Credential
      
      $session = New-PSSession -ComputerName azs-ercs01 `
         -ConfigurationName PrivilegedEndpoint -Credential $cred `
         -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
      

    Saat diminta, gunakan info masuk berikut:

    • Nama pengguna: Tentukan akun CloudAdmin, dalam format <Domain Azure Stack Hub>\cloudadmin. (Untuk ASDK, nama penggunanya adalah azurestack\cloudadmin.)

    • Kata Sandi: Masukkan kata sandi yang sama yang disediakan selama penginstalan untuk akun administrator domain AzureStackAdmin.

  3. Impor sesi PEP ke komputer lokal Anda:

    Import-PSSession $session
    
  4. Sekarang, Anda dapat menggunakan tab-completion dan melakukan pembuatan skrip seperti biasa pada sesi PowerShell lokal Anda dengan semua fungsi dan cmdlet PEP, tanpa mengurangi postur keamanan Azure Stack Hub. Nikmati!

Tutup sesi titik akhir istimewa

Seperti disebutkan sebelumnya, PEP mencatat setiap tindakan (dan output yang sesuai) yang Anda lakukan di sesi PowerShell. Anda harus menutup sesi dengan menggunakan cmdlet Close-PrivilegedEndpoint. Cmdlet ini dengan benar menutup titik akhir, dan mentransfer file log ke berbagi file eksternal untuk retensi.

Untuk menutup sesi titik akhir:

  1. Buat berbagi file eksternal yang dapat diakses oleh PEP. Dalam lingkungan kit pengembangan, Anda cukup membuat berbagi file pada host kit pengembangan.

  2. Jalankan cmdlet berikut:

    Close-PrivilegedEndpoint -TranscriptsPathDestination "\\fileshareIP\SharedFolder" -Credential Get-Credential
    

    Cmdlet menggunakan parameter dalam tabel berikut:

    Parameter Deskripsi Jenis Diperlukan
    TranscriptsPathDestination Jalur ke berbagi file eksternal didefinisikan sebagai "fileshareIP\sharefoldername" String Ya
    Informasi masuk Info masuk untuk mengakses berbagi file SecureString Ya

Setelah file log transkrip berhasil ditransfer ke berbagi file, file tersebut akan dihapus secara otomatis dari PEP.

Catatan

Jika Anda menutup sesi PEP dengan menggunakan cmdlet Exit-PSSession atau Exit, atau Anda cukup menutup konsol PowerShell, log transkrip tidak ditransfer ke berbagi file. Mereka tetap berada di PEP. Lain kali Anda menjalankan Close-PrivilegedEndpoint dan menyertakan berbagi file, log transkrip dari sesi sebelumnya juga akan ditransfer. Jangan gunakan Exit-PSSession atau Exit untuk menutup sesi PEP; gunakan Close-PrivilegedEndpoint sebagai gantinya.

Membuka kunci titik akhir istimewa untuk skenario dukungan

Selama skenario dukungan, teknisi dukungan Microsoft mungkin perlu meningkatkan sesi PowerShell titik akhir istimewa untuk mengakses internal infrastruktur Azure Stack Hub. Proses ini kadang-kadang secara informal disebut sebagai "memecahkan kaca" atau "membuka PEP". Proses elevasi sesi PEP adalah dua langkah, dua orang, dua proses autentikasi organisasi. Prosedur buka kunci dimulai oleh operator Azure Stack Hub, yang mempertahankan kontrol atas lingkungan mereka setiap saat. Operator mengakses PEP dan menjalankan cmdlet ini:

     Get-SupportSessionToken

Cmdlet mengembalikan token permintaan sesi dukungan, untai (karakter) alfanumerik yang sangat panjang. Operator kemudian meneruskan token permintaan ke teknisi dukungan Microsoft melalui media pilihan mereka (misalnya, obrolan, email). Teknisi dukungan Microsoft menggunakan token permintaan untuk menghasilkan, jika valid, token otorisasi sesi dukungan dan mengirimkannya kembali ke operator Azure Stack Hub. Pada sesi PEP PowerShell yang sama, operator kemudian meneruskan token otorisasi sebagai input ke cmdlet ini:

      unlock-supportsession
      cmdlet Unlock-SupportSession at command pipeline position 1
      Supply values for the following parameters:
      ResponseToken:

Jika token otorisasi valid, sesi PEP PowerShell ditingkatkan dengan memberikan kemampuan admin penuh dan jangkauan penuh ke dalam infrastruktur.

Catatan

Semua operasi dan cmdlet yang dijalankan dalam sesi PEP yang ditinggikan harus dilakukan di bawah pengawasan ketat teknisi dukungan Microsoft. Kegagalan untuk melakukannya dapat mengakibatkan waktu henti yang serius, kehilangan data dan dapat memerlukan pemindahan penuh lingkungan Azure Stack Hub.

Setelah sesi dukungan dihentikan, sangat penting untuk menutup kembali sesi PEP yang ditinggikan dengan menggunakan cmdlet Close-PrivilegedEndpoint seperti yang dijelaskan pada bagian di atas. Satu sesi PEP dihentikan, token buka kunci tidak lagi berlaku dan tidak dapat digunakan kembali untuk membuka kunci sesi PEP lagi. Sesi PEP yang ditinggikan memiliki validitas 8 jam, setelah itu, jika tidak dihentikan, sesi PEP yang ditinggikan akan secara otomatis mengunci kembali ke sesi PEP biasa.

Konten token titik akhir istimewa

Permintaan sesi dukungan PEP dan token otorisasi memanfaatkan kriptografi untuk melindungi akses dan memastikan bahwa hanya token resmi yang dapat membuka kunci sesi PEP. Token dirancang untuk secara kriptografis menjamin bahwa token respons hanya dapat diterima oleh sesi PEP yang menghasilkan token permintaan. Token PEP tidak berisi informasi apa pun yang dapat secara unik mengidentifikasi lingkungan Azure Stack Hub atau pelanggan. Mereka benar-benar anonim. Di bawah detail konten masing-masing token yang disediakan.

Token permintaan sesi dukungan

Token permintaan sesi dukungan PEP terdiri atas tiga objek:

  • ID Sesi yang dihasilkan secara acak.
  • Sertifikat yang ditandatangani sendiri, yang dihasilkan untuk tujuan memiliki pasangan kunci publik/kunci privat satu kali. Sertifikat tidak berisi informasi tentang lingkungan.
  • Stempel waktu yang menunjukkan kedaluwarsa token permintaan.

Token permintaan kemudian dienkripsi dengan kunci umum cloud Azure terhadap tempat lingkungan Azure Stack Hub terdaftar.

Token respons otorisasi sesi dukungan

Token respons otorisasi dukungan PEP terdiri dari dua objek:

  • ID sesi yang dihasilkan secara acak yang diekstrak dari token permintaan.
  • Stempel waktu yang menunjukkan kedaluwarsa token respons.

Token respons kemudian dienkripsi dengan sertifikat yang ditandatangani sendiri yang terkandung dalam token permintaan. Sertifikat yang ditandatangani sendiri didekripsi dengan kunci privat yang terkait dengan cloud Azure yang mana tempat lingkungan Azure Stack Hub terdaftar.

Langkah berikutnya