Latihan - Membuat perwakilan layanan dan kunci

Selesai

Penting

Anda memerlukan langganan Azure Anda sendiri untuk menjalankan latihan ini, dan Anda mungkin dikenakan biaya. Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum memulai.

Sebelum membuat alur penyebaran untuk situs web perusahaan mainan, Anda harus membuat perwakilan layanan dan memberikannya akses ke lingkungan Azure Anda. Dalam latihan ini, Anda akan membuat perwakilan layanan yang akan Anda gunakan untuk alur penyebaran Anda.

Selama proses tersebut, Anda akan:

  • Membuat aplikasi, perwakilan layanan, dan kunci, dalam satu operasi.
  • Menangani kunci dengan aman.
  • Memverifikasi bahwa perwakilan layanan berfungsi dengan masuk ke Azure dengan menggunakan info masuknya.

Latihan ini mengharuskan Anda memiliki izin untuk membuat aplikasi dan perwakilan layanan di direktori Microsoft Entra Anda. Jika Anda tidak dapat memenuhi persyaratan ini dengan akun Azure Anda saat ini, Anda bisa mendapatkan coba gratis dan membuat langganan dan penyewa Azure baru. Atau, Anda dapat melompati latihan ini.

Masuk ke Azure

Untuk bekerja dengan perwakilan layanan di Azure, Anda harus masuk ke akun Azure Anda dari terminal Visual Studio Code.

  1. Pada menu Terminal, pilih Terminal Baru. Jendela terminal biasanya terbuka di bagian bawah layar Anda.

  2. Shell default biasanya pwsh, seperti yang ditunjukkan di sisi kanan jendela terminal.

    Screenshot of the Visual Studio Code terminal window, with p w s h shown as the shell option.

  3. Pilih menu dropdown shell, lalu pilih Azure Cloud Shell (bash).

    Screenshot of the Visual Studio Code terminal window, with the terminal shell dropdown shown and Azure Cloud Shell (bash) selected.

  4. Shell baru terbuka.

Masuk ke Azure menggunakan Azure CLI

  1. Pada terminal Visual Studio Code, masuk ke Azure dengan menjalankan perintah berikut:

    az login
    
  2. Masuk ke akun Azure Anda melalui browser yang terbuka.

Untuk menyebarkan template ini ke Azure, masuk ke akun Azure dari terminal Visual Studio Code.

  1. Pada menu Terminal, pilih Terminal Baru. Jendela terminal biasanya terbuka di bagian bawah layar Anda.

  2. Shell default biasanya pwsh, seperti yang ditunjukkan di sisi kanan jendela terminal.

    Screenshot of the Visual Studio Code terminal window, with p w s h shown as the shell option.

  3. Pilih menu dropdown shell, lalu pilih Azure Cloud Shell (PowerShell).

    Screenshot of the Visual Studio Code terminal window, with the terminal shell dropdown shown and Azure Cloud Shell (PowerShell) selected.

  4. Shell baru terbuka.

Masuk ke Azure menggunakan Azure PowerShell

  1. Pada terminal Visual Studio Code, masuk ke Azure dengan menjalankan perintah berikut:

    Connect-AzAccount
    
  2. Masuk ke akun Azure Anda melalui browser yang terbuka.

Membuat perwakilan layanan dan kunci

  1. Jalankan perintah Azure CLI ini di terminal Visual Studio Code untuk membuat perwakilan layanan:

    az ad sp create-for-rbac --name ToyWebsitePipeline
    

    Jika Azure CLI menunjukkan kesalahan yang mengatakan bahwa aplikasi lain memiliki nama tampilan yang sama, itu berarti orang lain yang menggunakan penyewa Microsoft Entra Anda telah membuat perwakilan layanan dengan nama yang sama. Ubah nilai --name menjadi sesuatu yang unik. Nilai tidak akan memengaruhi cara Anda mengikuti latihan lainnya.

  2. Lihatlah output JSON dari perintah sebelumnya. Ini termasuk properti berikut:

    • appId: ID aplikasi perwakilan layanan.
    • password: Kunci perwakilan layanan.
    • tenant: ID penyewa Microsoft Entra Anda.

    Salin nilai ini di tempat yang aman. Anda akan menggunakannya segera.

  1. Jalankan perintah Azure PowerShell ini di terminal Visual Studio Code untuk membuat perwakilan layanan:

    $servicePrincipal = New-AzADServicePrincipal `
      -DisplayName ToyWebsitePipeline
    
  2. Jalankan perintah berikut untuk mendapatkan kunci perwakilan layanan:

    $servicePrincipalKey = $servicePrincipal.PasswordCredentials.SecretText
    
  3. Jalankan perintah berikut untuk menampilkan ID aplikasi perwakilan layanan, kunci, dan ID penyewa Microsoft Entra Anda:

    Write-Output "Service principal application ID: $($servicePrincipal.AppId)"
    Write-Output "Service principal key: $servicePrincipalKey"
    Write-Output "Your Azure AD tenant ID: $((Get-AzContext).Tenant.Id)"
    

    Salin nilainya di tempat yang aman. Anda akan menggunakannya segera.

Peringatan

Output dari perintah sebelumnya berisi kunci untuk perwakilan layanan Anda. Berhati-hatilah di mana Anda menjalankan perintah ini. Misalnya, jangan menjalankannya di lingkungan di mana seseorang mungkin dapat melihatnya.

Menguji perwakilan layanan

Sekarang setelah perwakilan layanan dibuat, Anda dapat masuk dengan menggunakan kredensialnya untuk memverifikasi bahwa itu berhasil dibuat.

  1. Jalankan perintah Azure CLI ini di terminal Visual Studio Code untuk masuk menggunakan info masuk perwakilan layanan. Ganti tempat penampung dengan nilai yang Anda salin di langkah sebelumnya.

    az login --service-principal \
      --username APPLICATION_ID \
      --password PASSWORD \
      --tenant TENANT_ID \
      --allow-no-subscriptions
    

    Perhatikan bahwa Anda menyertakan argumen --allow-no-subscriptions. Biasanya saat Anda menjalankan perintah az login, Azure CLI mencari langganan Azure yang dapat Anda akses. Perwakilan layanan belum diberikan akses ke apa pun, jadi Anda menggunakan argumen --allow-no-subscriptions untuk mencegah Azure CLI memeriksa daftar langganan dan menampilkan kesalahan.

  2. Periksa apakah output dari perintah sebelumnya adalah objek JSON, yang menyertakan properti user dengan ID aplikasi perwakilan layanan. Informasi ini menunjukkan bahwa perwakilan layanan berhasil masuk.

  3. Keluar dari akun perwakilan layanan menggunakan perintah berikut:

    az logout
    
  1. Jalankan perintah Azure PowerShell ini di terminal Visual Studio Code untuk meminta info masuk perwakilan layanan dengan aman. Gunakan ID dan kunci aplikasi perwakilan layanan dari langkah sebelumnya untuk masing-masing nama pengguna dan kata sandi.

    $credential = Get-Credential
    
  2. Jalankan perintah Azure PowerShell ini di terminal Visual Studio Code untuk masuk menggunakan info masuk perwakilan layanan.

    Connect-AzAccount -ServicePrincipal `
      -Credential $credential `
      -Tenant TENANT_ID
    
  3. Periksa apakah output dari perintah sebelumnya menyertakan properti Account dengan ID aplikasi perwakilan layanan, dan nilai SubscriptionName kosong. Informasi ini menunjukkan bahwa perwakilan layanan berhasil masuk.

  4. Keluar dari akun perwakilan layanan menggunakan perintah berikut:

    Logout-AzAccount
    

Sekarang setelah Anda memiliki perwakilan layanan yang berfungsi, Anda dapat melanjutkan ke tahap berikutnya: mengizinkannya untuk mengakses lingkungan Azure Anda.