Menyambungkan ke server IBM MQ dari alur kerja Azure Logic Apps
Berlaku untuk: Azure Logic Apps (Konsumsi + Standar)
Artikel ini memperlihatkan cara mengakses server MQ yang dihosting Azure atau lokal dari alur kerja di Azure Logic Apps menggunakan konektor MQ. Anda kemudian dapat membuat alur kerja otomatis yang menerima dan mengirim pesan yang disimpan di server MQ Anda. Misalnya, alur kerja Anda dapat menelusuri satu pesan dalam antrean lalu menjalankan tindakan lain.
Konektor MQ menyediakan pembungkus di sekitar klien Microsoft MQ, yang mencakup semua kemampuan olahpesan untuk berkomunikasi dengan server MQ jarak jauh di seluruh jaringan TCP/IP. Konektor ini mendefinisikan koneksi, operasi, dan parameter untuk memanggil klien MQ.
Versi IBM WebSphere MQ yang didukung
- MQ 7.5
- MQ 8.0
- MQ 9.0, 9.1, 9.2, dan 9.3
Referensi teknis konektor
Konektor MQ memiliki versi yang berbeda, berdasarkan jenis aplikasi logika dan lingkungan host.
Aplikasi logika | Lingkungan | Versi koneksi |
---|---|---|
Consumption | Azure Logic Apps multipenyewa | Konektor terkelola, yang muncul di galeri konektor di bawah Runtime>Shared. Konektor ini hanya menyediakan tindakan, bukan pemicu. Dalam skenario server MQ lokal, konektor terkelola hanya mendukung autentikasi server dengan enkripsi TLS (SSL). Untuk informasi selengkapnya, tinjau dokumentasi berikut: - Referensi konektor terkelola MQ - Konektor terkelola di Azure Logic Apps |
Standard | Azure Logic Apps penyewa tunggal dan App Service Environment v3 (ASE v3 hanya dengan paket Windows) | Konektor terkelola, yang muncul di galeri konektor di bawah Runtime>Shared, dan konektor bawaan, yang muncul di galeri konektor di bawah Runtime>In-App dan berbasis penyedia layanan. Versi bawaan berbeda dengan cara berikut: - Versi bawaan mencakup tindakan dan pemicu. - Konektor bawaan dapat langsung terhubung ke server MQ dan mengakses jaringan virtual Azure dengan menggunakan string koneksi tanpa gateway data lokal. - Versi bawaan mendukung autentikasi server dan autentikasi klien server dengan enkripsi TLS (SSL) untuk data saat transit, pengodean pesan untuk operasi kirim dan terima, dan integrasi jaringan virtual Azure. Untuk informasi selengkapnya, tinjau dokumentasi berikut: - Referensi konektor terkelola MQ - Referensi konektor bawaan MQ - Konektor bawaan di Azure Logic Apps |
Autentikasi dengan enkripsi TLS (SSL)
Berdasarkan apakah Anda menggunakan konektor terkelola MQ (alur kerja Konsumsi atau Standar) atau konektor bawaan MQ (hanya alur kerja Standar), konektor MQ mendukung satu atau kedua arah autentikasi berikut:
Autentikasi | Jenis aplikasi logika yang didukung dan konektor MQ | Proses |
---|---|---|
Server saja (satu arah) |
- Konsumsi: Hanya terkelola - Standar: Terkelola atau bawaan |
Untuk autentikasi server, server MQ Anda mengirim sertifikat kunci privat, baik tepercaya publik atau tidak tepercaya publik, ke klien aplikasi logika Anda untuk validasi. Konektor MQ memvalidasi keaslian sertifikat server masuk terhadap sertifikat kunci publik, yang juga disebut dengan sertifikat "penanda tangan", dengan menggunakan validasi aliran .NET SSL standar. Aplikasi logika tidak mengirim sertifikat klien. |
Server-client (dua arah) |
- Konsumsi: Tidak didukung - Standar: Hanya bawaan |
Untuk autentikasi server, lihat baris sebelumnya. Untuk autentikasi klien, klien aplikasi logika mengirimkan sertifikat kunci privat ke server MQ Anda untuk validasi. Server MQ memvalidasi keaslian sertifikat klien masuk juga dengan menggunakan sertifikat kunci publik. |
Catatan tentang kunci privat dan sertifikat kunci publik
Sertifikat yang memerlukan validasi selalu merupakan sertifikat kunci privat. Sertifikat yang digunakan untuk melakukan validasi selalu merupakan sertifikat kunci publik.
Sertifikat kunci privat tepercaya publik dikeluarkan oleh Otoritas Sertifikat yang dikenali. Sertifikat kunci privat yang tidak tepercaya secara publik mencakup sertifikat yang ditandatangani sendiri, CA privat, dan sertifikat serupa.
Untuk memvalidasi sertifikat kunci privat yang dikirim dari server MQ Anda, konektor MQ menggunakan sertifikat kunci publik yang biasanya ada di host komputer virtual aplikasi logika Anda di Penyimpanan Otoritas Sertifikasi Akar Tepercaya (CA) host.
Namun, jika host tidak memiliki semua sertifikat kunci publik yang diperlukan, atau jika server MQ Anda mengirim sertifikat kunci privat yang tidak tepercaya secara publik, Anda perlu mengambil langkah tambahan. Untuk informasi selengkapnya, lihat Prasyarat.
Untuk memvalidasi sertifikat kunci privat klien yang dikirim dari aplikasi logika Standar Anda, server MQ menggunakan sertifikat kunci publik yang ada di penyimpanan sertifikat server MQ Anda. Untuk menambahkan sertifikat kunci privat untuk digunakan aplikasi logika Anda sebagai sertifikat klien, lihat Menambahkan sertifikat kunci privat.
Batasan
Autentikasi dengan enkripsi TLS (SSL)
Konektor MQ Arah autentikasi yang didukung Terkelola Server saja (satu arah) Bawaan - Server-client (dua arah)
- Hanya server (satu arah)Validasi sertifikat server
Konektor bawaan MQ tidak memvalidasi tanggal kedaluwarsa sertifikat server atau rantai sertifikat.
Konversi set karakter
Konektor terkelola MQ tidak membuat konversi set karakter apa pun atau menggunakan bidang Format pesan. Konektor hanya menyalin data apa pun yang muncul di bidang pesan dan mengirim pesan.
Konektor bawaan MQ dapat membuat konversi kumpulan karakter, tetapi hanya ketika format data adalah string. Jika Anda memberikan ID set karakter (halaman kode) yang berbeda, konektor mencoba mengonversi data ke halaman kode baru.
Konektor MQ tidak mendukung pesan bersegmen.
Untuk informasi selengkapnya, tinjau referensi konektor terkelola MQ atau referensi konektor bawaan MQ.
Prasyarat
Akun dan langganan Azure. Jika Anda tidak memiliki langganan Azure, daftar akun Azure gratis.
Untuk menyambungkan dengan server MQ lokal, Anda harus menginstal gateway data lokal di server dalam jaringan Anda. Agar konektor MQ berfungsi, server dengan gateway data lokal juga harus memasang .NET Framework 4.6.
Setelah memasang gateway, Anda juga harus membuat sumber daya gateway data di Azure. Konektor MQ menggunakan sumber daya ini untuk mengakses server MQ Anda. Untuk informasi selengkapnya, ulas Menyiapkan koneksi gateway data.
Catatan
Anda tidak memerlukan gateway dalam skenario berikut:
- Server MQ Anda tersedia untuk umum atau tersedia di Azure.
- Anda akan menggunakan konektor bawaan MQ, bukan konektor terkelola.
Sumber daya dan alur kerja aplikasi logika tempat Anda ingin mengakses server MQ Anda.
Untuk menggunakan konektor terkelola MQ dengan gateway data lokal, sumber daya aplikasi logika Anda harus menggunakan lokasi yang sama dengan sumber daya gateway Anda di Azure.
Untuk menggunakan konektor terkelola MQ, yang tidak menyediakan pemicu apa pun, pastikan alur kerja Anda dimulai dengan pemicu atau Anda terlebih dahulu menambahkan pemicu ke alur kerja Anda. Contohnya, Anda dapat menggunakan pemicu Pengulangan.
Untuk menggunakan pemicu dari konektor bawaan MQ, pastikan baha Anda memulai dengan alur kerja yang kosong.
Persyaratan sertifikat untuk autentikasi dengan enkripsi TLS (SSL)
Konektor terkelola MQ
Server MQ Persyaratan Server MQ yang dihosting Azure Server MQ harus mengirim sertifikat kunci privat yang dikeluarkan oleh otoritas sertifikat tepercaya ke klien aplikasi logika Anda untuk validasi. Server MQ lokal menggunakan gateway data lokal Untuk mengirim sertifikat kunci privat yang tidak tepercaya secara publik seperti sertifikat CA yang ditandatangani sendiri atau privat, Anda harus menambahkan sertifikat ke Penyimpanan Otoritas Sertifikasi Akar Tepercaya (CA) di komputer lokal dengan penginstalan gateway data lokal. Untuk tugas ini, Anda bisa menggunakan Windows Certificate Manager (certmgr.exe). Konektor bawaan MQ
Aplikasi logika standar menggunakan Azure App Service sebagai platform host dan untuk menangani sertifikat. Untuk aplikasi logika Standar pada paket WS* apa pun, Anda dapat menambahkan sertifikat publik, pribadi, kustom, atau yang ditandatangani sendiri ke penyimpanan sertifikat komputer lokal. Namun, jika Anda harus menambahkan sertifikat ke Penyimpanan CA Akar Tepercaya di host komputer virtual tempat aplikasi logika Standar Anda dieksekusi, App Service mengharuskan aplikasi logika Anda dieksekusi di Lingkungan Azure App Service v3 (ASE) dengan paket App Service khusus Windows dan berbasis ASE yang terisolasi. Untuk informasi selengkapnya, lihat Sertifikat dan Lingkungan App Service.
Autentikasi server MQ
Tabel berikut ini menjelaskan prasyarat sertifikat, berdasarkan skenario Anda:
Sertifikat server MQ masuk Persyaratan Sertifikat kunci privat tepercaya publik yang diterbitkan oleh otoritas sertifikat tepercaya Pada umumnya, aplikasi logika Anda tidak memerlukan penyiapan lain karena host komputer virtual aplikasi logika Anda biasanya memiliki sertifikat kunci publik yang diperlukan untuk memvalidasi sertifikat kunci privat server MQ masuk. Untuk memeriksa apakah sertifikat kunci publik ini ada, ikuti langkah-langkah untuk Melihat dan mengonfirmasi thumbprint untuk sertifikat kunci publik yang ada.
Jika host komputer virtual tidak memiliki semua sertifikat kunci publik yang diperlukan untuk memvalidasi sertifikat kunci privat server MQ masuk dan sertifikat rantai apa pun, selesaikan langkah-langkah berikut:
1. Buat ulang aplikasi logika Standar Anda menggunakan Azure App Service Environment v3 (ASE) dengan paket App Service khusus Windows dan ASE.
2. Tambahkan sertifikat kunci publik yang diperlukan secara manual ke Penyimpanan CA Akar Tepercaya host.Sertifikat kunci privat yang tidak dipercaya secara publik, seperti sertifikat CA privat atau yang ditandatangani sendiri Host komputer virtual aplikasi logika Anda tidak akan memiliki sertifikat kunci publik yang diperlukan di Penyimpanan CA Akar Tepercaya host untuk memvalidasi rantai sertifikat server MQ. Dalam hal ini, selesaikan langkah-langkah berikut:
1. Buat ulang aplikasi logika Standar Anda menggunakan Azure App Service Environment v3 (ASE) dengan paket App Service khusus Windows dan ASE.
2. Tambahkan sertifikat kunci publik yang diperlukan secara manual ke Penyimpanan CA Akar Tepercaya host.
Untuk informasi selengkapnya, lihat dokumentasi berikut ini:
- Pengikatan sertifikat dan Lingkungan App Service
- Menambahkan dan mengelola sertifikat TLS/SSL di Azure App ServiceAutentikasi klien aplikasi logika
Anda dapat menambahkan sertifikat kunci privat yang akan dikirimkan sebagai sertifikat klien, lalu menentukan nilai thumbprint sertifikat dalam detail koneksi untuk konektor bawaan MQ. Untuk informasi selengkapnya, lihat menambahkan sertifikat kunci privat.
Rekomendasi: Tingkatkan ke server MQ 9.0 atau versi yang lebih baru. Selain itu, di server MQ Anda, pastikan untuk menyiapkan saluran koneksi server dengan cipher suite yang cocok dengan spesifikasi cipher yang digunakan oleh koneksi klien Anda, misalnya, ANY_TLS12_OR_HIGHER. Untuk informasi selengkapnya, lihat item berikutnya tentang Persyaratan cipher.
Persyaratan spesifikasi cipher
Server MQ mengharuskan Anda menentukan spesifikasi cipher untuk koneksi yang menggunakan enkripsi TLS (SSL). Spesifikasi cipher ini harus sesuai dengan cipher suite yang didukung, dipilih, dan digunakan oleh sistem operasi tempat server MQ dieksekusi. Pada akhirnya, spesifikasi cipher yang digunakan oleh koneksi klien harus cocok dengan cipher suite yang disiapkan di saluran koneksi server di server MQ.
Untuk informasi selengkapnya, lihat Masalah koneksi dan autentikasi.
Menambahkan pemicu MQ (hanya aplikasi logika Standar)
Langkah-langkah berikut berlaku hanya untuk alur kerja aplikasi logis Standar, yang dapat menggunakan pemicu yang disediakan oleh konektor bawaan MQ. Konektor terkelola MQ tidak menyertakan pemicu apa pun.
Langkah-langkah ini menggunakan portal Azure, tetapi dengan ekstensi Azure Logic Apps yang sesuai, Anda juga dapat menggunakan Visual Studio Code untuk membuat alur kerja aplikasi logika Standar.
Di portal Azure, buka alur kerja aplikasi logika kosong Anda di perancang.
Ikuti langkah-langkah umum ini untuk menambahkan pemicu bawaan MQ yang Anda inginkan. Untuk informasi selengkapnya, lihat Pemicu konektor bawaan MQ.
Berikan informasi yang diperlukan untuk mengautentikasi koneksi Anda. Jika sudah selesai, pilih Buat.
Saat kotak informasi pemicu muncul, berikan informasi yang diperlukan untuk pemicu Anda.
Setelah selesai, simpan alur kerja. Di bar alat perancang, pilih Simpan.
Tambah tindakan MQ
Alur kerja aplikasi logika Konsumsi hanya dapat menggunakan konektor terkelola MQ. Namun, alur kerja aplikasi logika Standar dapat menggunakan konektor terkelola MQ dan konektor bawaan MQ. Setiap versi memiliki beberapa tindakan. Misalnya, versi konektor terkelola dan bawaan memiliki tindakannya sendiri untuk menelusuri pesan.
Tindakan konektor terkelola: Tindakan ini berjalan dalam alur kerja aplikasi logika Konsumsi atau Standar.
Tindakan konektor bawaan: Tindakan ini hanya berjalan dalam alur kerja aplikasi logika Standar.
Langkah-langkah berikut menggunakan portal Azure, tetapi dengan ekstensi Azure Logic Apps yang sesuai, Anda juga dapat menggunakan alat berikut untuk membuat alur kerja aplikasi logika:
Alur kerja aplikasi logika konsumsi: Visual Studio atau Visual Studio Code
Alur kerja aplikasi logika standar: Visual Studio Code
Di portal Microsoft Azure, buka alur kerja aplikasi logika Anda di perancang.
Ikuti langkah-langkah umum ini untuk menambahkan tindakan MQ yang Anda inginkan. Untuk informasi selengkapnya, lihat Tindakan konektor MQ.
Berikan informasi yang diperlukan untuk mengautentikasi koneksi Anda. Jika sudah selesai, pilih Buat.
Saat kotak informasi tindakan muncul, berikan informasi yang diperlukan untuk tindakan Anda.
Setelah selesai, simpan alur kerja. Di bar alat perancang, pilih Simpan.
Menguji alur kerja
Untuk memeriksa apakah alur kerja Anda mengembalikan hasil yang Anda harapkan, jalankan alur kerja Anda, lalu tinjau output dari riwayat eksekusi alur kerja Anda.
Jalankan alur kerja Anda.
Aplikasi logika konsumsi: Pada toolbar perancang alur kerja, pilih Jalankan Eksekusi Pemicu>.
Aplikasi logika standar: Pada menu sumber daya alur kerja, pilih Gambaran Umum. Pada toolbar panel Ringkasan, pilih Jalankan Pemicu>Jalankan.
Setelah eksekusi selesai, perancang menunjukkan riwayat eksekusi alur kerja bersama dengan status untuk setiap langkah.
Untuk meninjau input dan output untuk setiap langkah yang berjalan (tidak dilewati), perluas atau pilih langkah.
Untuk meninjau detail input lainnya, pilih Perlihatkan input mentah.
Untuk meninjau detail output lainnya, pilih Tampilkan output mentah. Jika Anda mengatur IncludeInfo ke true, lebih banyak output disertakan.
Menampilkan dan menambahkan sertifikat untuk autentikasi dengan enkripsi TLS (SSL)
Informasi berikut hanya berlaku untuk alur kerja aplikasi logika Standar untuk konektor bawaan MQ menggunakan autentikasi khusus server atau klien server dengan enkripsi TLS (SSL).
Melihat dan mengonfirmasi thumbprint untuk sertifikat kunci publik yang ada
Untuk memeriksa apakah thumbprint untuk sertifikat kunci publik yang diperlukan ada di host komputer virtual aplikasi logika Standar Anda di Penyimpanan CA Akar Tepercaya, ikuti langkah-langkah ini untuk menjalankan cert
skrip PowerShell dari menu sumber daya aplikasi logika Standar Anda.
Di portal Azure, buka sumber daya aplikasi logika Standard Anda. Pada menu sumber daya aplikasi logika, di bawah Alat Pengembangan, pilih Advanced Tools>Go.
Dari menu konsol Debug Kudu, pilih PowerShell.
Setelah jendela PowerShell muncul, dari prompt perintah PowerShell, jalankan skrip berikut ini:
dir cert:\localmachine\root
Jendela PowerShell mencantumkan thumbprint dan deskripsi yang ada, misalnya:
Menambahkan sertifikat kunci publik
Untuk menambahkan sertifikat kunci publik ke Penyimpanan CA Akar Tepercaya di host komputer virtual tempat aplikasi logika Standar Anda berjalan, ikuti langkah-langkah berikut:
Di portal Azure, buka sumber daya aplikasi logika Standard Anda. Pada menu sumber daya aplikasi logika, di bawah Pengaturan, pilih Pengaturan TLS/SSL (klasik).
Pada halaman Pengaturan TLS/SSL (klasik), pilih tab Sertifikat Kunci Umum (.cer), lalu pilih Unggah Sertifikat Kunci Umum.
Pada panel Tambahkan Sertifikat Kunci Umum (.cer) yang terbuka, masukkan nama untuk menjelaskan sertifikat. Temukan dan pilih file sertifikat kunci publik (.cer). Jika selesai, pilih Unggah.
Setelah Anda menambahkan sertifikat, dari kolom Thumbprint , salin nilai thumbprint sertifikat.
Pada menu sumber daya aplikasi logika, pilih Konfigurasi.
Di tab Pengaturan aplikasi, pilih Pengaturan aplikasi baru. Tambahkan pengaturan aplikasi baru bernama WEBSITE_LOAD_ROOT_CERTIFICATES, dan masukkan nilai thumbprint sertifikat yang sebelumnya Anda salin. Jika Anda memiliki beberapa nilai thumbprint sertifikat, pastikan untuk memisahkan setiap nilai dengan koma (,).
Untuk informasi selengkapnya, lihat Mengedit pengaturan host dan aplikasi untuk aplikasi logika Standar di Azure Logic Apps penyewa tunggal.
Catatan
Jika Anda menentukan thumbprint untuk sertifikat CA privat, konektor bawaan MQ tidak menjalankan validasi sertifikat apa pun, seperti memeriksa tanggal atau sumber kedaluwarsa sertifikat. Jika validasi SSL .NET standar gagal, konektor hanya membandingkan nilai thumbprint apa pun yang diteruskan terhadap nilai dalam pengaturan WEBSITE_LOAD_ROOT_CERTIFICATES .
Jika sertifikat yang ditambahkan tidak muncul di daftar sertifikat kunci publik, pada toolbar, pilih Refresh.
Menambahkan sertifikat kunci privat
Untuk menambahkan sertifikat kunci privat ke Penyimpanan CA Akar Tepercaya pada host komputer virtual tempat aplikasi logika Standar Anda berjalan, ikuti langkah-langkah berikut:
Di portal Microsoft Azure, buka sumber daya aplikasi logika Anda. Pada menu sumber daya aplikasi logika, di bawah Pengaturan, pilih Pengaturan TLS/SSL (klasik).
Pada halaman Pengaturan TLS/SSL (klasik), pilih tab Sertifikat Kunci Privat (.pfx), lalu pilih Unggah Sertifikat.
Pada panel Tambahkan Sertifikat Kunci Privat (.pfx) yang terbuka, temukan dan pilih file sertifikat kunci privat (.pfx), lalu masukkan kata sandi sertifikat. Jika selesai, pilih Unggah.
Setelah Anda menambahkan sertifikat, dari kolom Thumbprint , salin nilai thumbprint sertifikat.
Pada menu sumber daya aplikasi logika, pilih Konfigurasi.
Di tab Pengaturan aplikasi, pilih Pengaturan aplikasi baru. Tambahkan pengaturan aplikasi baru bernama WEBSITE_LOAD_CERTIFICATES, dan masukkan nilai thumbprint sertifikat yang sebelumnya Anda salin.
Untuk informasi selengkapnya, lihat Mengedit pengaturan host dan aplikasi untuk aplikasi logika Standar di Azure Logic Apps penyewa tunggal.
Jika sertifikat yang ditambahkan tidak muncul di daftar sertifikat kunci privat, pada toolbar, pilih Refresh.
Saat Anda membuat koneksi menggunakan konektor bawaan MQ, dalam kotak informasi koneksi, pilih Gunakan TLS.
Di properti Client Cert Thumbprint, masukkan nilai thumbprint yang disalin sebelumnya untuk sertifikat kunci privat, yang memungkinkan autentikasi klien server (dua arah). Jika Anda tidak memasukkan nilai thumbprint, konektor menggunakan autentikasi khusus server (satu arah).
Memecahkan masalah
Kegagalan dengan tindakan penelusuran atau terima
Jika Anda menjalankan tindakan telusuri atau terima pada antrean kosong, tindakan gagal dengan output header berikut:
Masalah koneksi dan autentikasi
Saat alur kerja Anda menggunakan konektor terkelola MQ untuk menyambungkan ke server MQ lokal, Anda mungkin mendapatkan kesalahan berikut:
"MQ: Could not Connect the Queue Manager '<queue-manager-name>': The Server was expecting an SSL connection."
Server MQ perlu menyediakan sertifikat yang dikeluarkan oleh otoritas sertifikat tepercaya.
Server MQ mengharuskan Anda menentukan spesifikasi cipher untuk digunakan dengan koneksi TLS. Namun, untuk tujuan keamanan dan memasukkan suite keamanan terbaik, sistem operasi Windows mengirimkan serangkaian spesifikasi cipher yang didukung.
Sistem operasi tempat server MQ berjalan memilih suite untuk digunakan. Untuk membuat konfigurasi cocok, Anda harus mengubah pengaturan server MQ Anda sehingga spesifikasi cipher cocok dengan opsi yang dipilih dalam negosiasi TLS.
Ketika Anda mencoba untuk terhubung, server MQ mencatat pesan kejadian bahwa upaya koneksi gagal karena server MQ memilih spesifikasi cipher yang salah. Pesan peristiwa terdiri atas spesifikasi cipher yang dipilih server MQ dari daftar. Dalam konfigurasi saluran koneksi server, perbarui spesifikasi cipher agar sesuai dengan spesifikasi cipher dalam pesan peristiwa.