Baca dalam bahasa Inggris

Bagikan melalui


Masalah yang diketahui: Templat Microsoft Graph Bicep

Artikel ini menjelaskan masalah yang diketahui untuk templat Bicep untuk sumber daya Microsoft Graph, dan solusi jika ada.

Penting

Microsoft Graph Bicep saat ini dalam PRATINJAU. Lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure untuk persyaratan hukum yang berlaku pada fitur Azure dalam versi beta, pratinjau, atau belum dirilis secara umum.

Sumber daya turunan

Sumber daya anak adalah sumber daya yang hanya ada dengan konteks sumber daya lain. Contohnya adalah federatedIdentityCredentials, yang merupakan sumber daya anak dari applications.

Bicep menyediakan tiga cara berbeda untuk mendeklarasikan sumber daya anak. Dengan sumber daya Bicep yang dapat diperluas seperti sumber daya Microsoft Graph, tidak semua mekanisme ini didukung.

Anda dapat mengatasi kesalahan sumber daya anak waktu penulisan atau penyebaran yang tercantum, dengan menggunakan:

Opsi mana pun yang Anda pilih, nama properti pengidentifikasi saat ini hanya mendukung nama sumber daya lengkap, seperti <parent-identifier>/<child-identifier>.

Kesalahan Linting: Properti "induk" tidak diizinkan pada objek jenis "Microsoft.Graph/<nama sumber daya lengkap sumber daya> anak"

Selama penulisan file Bicep, jika Anda menentukan properti, parent Anda akan melihat kesalahan linting ini. Sumber daya yang dapat diperluas seperti sumber daya Microsoft Graph tidak memiliki dukungan bawaan untuk parent properti seperti yang dilakukan sumber daya Azure, sehingga mekanisme sumber daya induk luar tidak dapat didukung, saat ini.

Kesalahan Linting: Hapus entri dependsOn yang tidak perlu '<parent-identifier-name>'

Jika sumber daya induk dirujuk dalam nama sumber daya lengkap, maka Anda melihat kesalahan linting ini karena dependsOn properti tidak diperlukan, karena referensi menyiratkan dependsOn. Namun, jika nama sumber daya lengkap didefinisikan sebagai teks biasa, maka dependsOn diperlukan, jika tidak, penyebaran Bicep tidak akan tahu tentang dependensi.

Kesalahan penyebaran: Format pengidentifikasi tidak valid untuk {<parent-identifier>/<child-identifier>}

Kesalahan penyebaran ini menunjukkan bahwa nilai properti pengidentifikasi nama untuk deklarasi sumber daya anak tidak menggunakan format nama sumber daya lengkap - <parent-identifier>/<child-identifier>.

Kesalahan Penyebaran: Aplikasi {0} ini tidak berwenang untuk memanggil Microsoft Graph menggunakan templat Bicep

Saat Anda mencoba menyebarkan file Bicep secara interaktif yang berisi sumber daya Microsoft Graph menggunakan aplikasi seperti Visual Studio Code (di Visual Studio Code, klik kanan "Sebarkan file Bicep..." dan aplikasi kustom lainnya, Anda akan melihat pesan kesalahan ini:

[{"code":"Forbidden","target":"/resources/resourceApp","message":"This application {0} is not authorized to call Microsoft Graph using a Bicep template. Currently only Azure CLI and Azure PowerShell are supported for interactive deployments using a signed-in user."}]

Hanya aplikasi Azure PowerShell dan Azure CLI yang didukung untuk penyebaran interaktif sumber daya Microsoft Graph.

Pembatasan ini tidak berlaku untuk penyebaran khusus aplikasi (juga dikenal sebagai penyebaran tanpa sentuhan atau masuk dengan perwakilan layanan).

Menyebarkan dengan Azure PowerShell atau aplikasi kustom memiliki kesalahan tak terduga tentang jenis, versi, properti, atau kemampuan yang tidak diketahui

Setelah meningkatkan ekstensi Bicep untuk Visual Studio Code, Anda juga perlu meningkatkan Bicep CLI agar sesuai dengan versi ekstensi Bicep untuk memanfaatkan fitur baru atau definisi jenis sumber daya baru atau yang diperbarui. Jika Anda menggunakan Azure CLI, ini memperingatkan Anda jika versi yang lebih baru tersedia. Namun, Azure PowerShell tidak menawarkan peringatan seperti itu dan satu-satunya petunjuk yang Anda dapatkan adalah ketika penyebaran gagal, kemungkinan dengan kesalahan yang harus dilakukan dengan jenis, versi, properti, atau kemampuan yang tidak diketahui.

Resolusi

Tingkatkan versi CLI Bicep Anda agar sesuai dengan versi ekstensi Visual Studio Code Bicep.

  1. Periksa versi Bicep CLI dengan membuka prompt perintah dan menggunakan:
bicep --version
  1. Jika nomor versi berbeda dari nomor versi ekstensi VS Code Bicep, lanjutkan ke langkah 3 untuk Azure CLI dan langkah 4 untuk penginstalan/peningkatan manual (jika Anda menggunakan apa pun selain Azure CLI).

  2. Jika Anda menggunakan Azure CLI, Anda dapat meningkatkan versi yang diinstal ke versi terbaru menggunakan perintah berikut:

az bicep upgrade
  1. Jika Anda menggunakan Azure PowerShell atau aplikasi kustom untuk penyebaran, Anda perlu meningkatkan secara manual. Ikuti langkah-langkah dalam penginstalan Bicep untuk platform Anda.

Masalah Penyebaran: Penyebaran grup Microsoft Entra khusus aplikasi menetapkan pemilik yang salah

Saat Anda menggunakan penyebaran khusus aplikasi (nol sentuhan) untuk menyebarkan grup Microsoft Entra, pemilik grup salah diatur. Alih-alih diatur ke perwakilan layanan yang memulai operasi penyebaran, pemilik diatur ke ekstensi Microsoft Graph Bicep.

Resolusi

Untuk mengatasinya, tambahkan perwakilan layanan secara eksplisit sebagai pemilik, sebagai bagian dari definisi grup apa pun dalam file Bicep.

Kesalahan Penyebaran: Objek lain dengan nilai yang sama untuk uniqueName properti sudah ada

Saat menyebarkan ulang file Bicep dengan sumber daya Microsoft Graph, anda dapat melihat pesan kesalahan ini.

Ini terjadi jika salah satu sumber daya Microsoft Graph yang dideklarasikan dalam file Bicep dihapus dari layanan, mungkin melalui Microsoft Graph PowerShell, CLI, atau REST API. Ketika file Bicep disebarkan lagi, layanan tidak dapat membuat ulang sumber daya karena bug dalam layanan menunjukkan konflik pada nilai nama unik antara item yang baru dibuat dan yang ada di kontainer item yang dihapus.

Resolusi

Ada beberapa opsi yang dapat Anda ambil:

  • Hapus item yang dihapus secara permanen, lalu sebarkan ulang file Bicep.
  • Tentukan nama unik yang berbeda dalam file Bicep, lalu sebarkan ulang.
  • Pulihkan item yang dihapus, lalu sebarkan ulang file Bicep.

Kesalahan Penyebaran: Penyebaran khusus aplikasi gagal saat membershipRule properti dideklarasikan pada grup

Saat menggunakan penyebaran khusus aplikasi, jika file Bicep berisi deklarasi sumber daya grup dengan properti membershipRule , penyebaran gagal dengan pesan kesalahan berikut:

{
    "error": {
        "code":"BadRequest",
        "target":"/resources/<groupsResourceName>",
        "message":"AppOnly OBO tokens not supported by target service. ..."
    }
}

Masalah ini disebabkan oleh layanan mikro tambahan, yang digunakan untuk mendukung fitur keanggotaan dinamis grup, saat ini tidak mendukung alur otomatisasi penyebaran templat.

Perilaku Penyebaran: Anggota dan pemilik grup hanya ditambahkan

Keanggotaan grup dan deklarasi kepemilikan pada sumber daya Groups Bicep hanya ditambahkan. Menghapus anggota atau pemilik dari daftar keanggotaan atau kepemilikan dalam file Bicep yang disebarkan yang ada tidak menghapus anggota atau pemilik dari sumber daya Grup target. Menghapus anggota atau pemilik tidak dapat dilakukan secara deklaratif melalui Bicep.