Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini memperlihatkan kepada Anda cara mengonfigurasi koneksi database tanpa kata sandi untuk aplikasi Java di penawaran Oracle WebLogic Server dengan portal Azure.
Dalam panduan ini, Anda menyelesaikan tugas-tugas berikut:
- Memprovisikan sumber daya database menggunakan Azure CLI.
- Aktifkan administrator Microsoft Entra dalam database.
- Siapkan identitas terkelola yang ditetapkan pengguna dan buat pengguna database untuk identitas tersebut.
- Konfigurasikan koneksi database tanpa kata sandi di penawaran Oracle WebLogic dengan portal Azure.
- Memvalidasi koneksi database.
Penawaran ini mendukung koneksi tanpa kata sandi untuk database PostgreSQL, MySQL, dan Azure SQL.
Prasyarat
Sebuah langganan Azure. Jika Anda tidak memiliki langganan Azure, buatlah akun gratis sebelum Anda memulai.
Gunakan Azure Cloud Shell menggunakan lingkungan Bash. Pastikan versi Azure CLI adalah 2.43.0 atau lebih tinggi.
Jika mau, instal Azure CLI 2.43.0 atau yang lebih tinggi untuk menjalankan perintah Azure CLI.
- Jika Anda menggunakan penginstalan lokal, masuk dengan Azure CLI dengan menggunakan perintah
az login. Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Lihat Masuk dengan Azure CLI untuk opsi masuk lainnya. - Saat diminta, pasang ekstensi saat pertama kali menggunakan Azure CLI. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan ekstensi dengan Azure CLI.
- Jalankan
az versionuntuk menemukan versi dan pustaka dependen yang diinstal. Untuk meningkatkan ke versi terbaru, jalankanaz upgrade.
- Jika Anda menggunakan penginstalan lokal, masuk dengan Azure CLI dengan menggunakan perintah
Pastikan identitas Azure yang Anda gunakan untuk masuk dan menyelesaikan artikel ini memiliki peran Pemilik dalam langganan saat ini atau peran Kontributor dan Administrator Akses Pengguna dalam langganan saat ini. Untuk gambaran umum peran Azure, lihat Apa itu kontrol akses berbasis peran Azure (Azure RBAC)? Untuk detail tentang peran tertentu yang diperlukan oleh penawaran marketplace Oracle WebLogic, lihat Peran bawaan Azure.
Pilih wilayah untuk penyebaran
Pilih wilayah yang memiliki SKU yang tersedia untuk database yang Anda inginkan. Perintah Azure CLI berikut mencantumkan SKU yang tersedia di wilayah tertentu. Terus coba wilayah yang berbeda hingga Anda menemukan wilayah yang memiliki beberapa hasil.
az mysql flexible-server list-skus --location "$REGION" --output table
Membuat grup sumber daya
Buat grup sumber daya dengan az group create. Karena grup sumber daya harus unik di dalam langganan, pilih nama unik. Cara mudah untuk memiliki nama unik adalah dengan menggunakan kombinasi inisial Anda, tanggal hari ini, dan beberapa pengidentifikasi - misalnya, abc1228rg. Contoh beriku ini membuat nama grup sumber daya abc1228rg di eastus lokasi.
export RESOURCE_GROUP_NAME="abc1228rg"
export REGION=eastus
az group create \
--name ${RESOURCE_GROUP_NAME} \
--location ${REGION}
Buatlah sebuah server basis data dan sebuah basis data
Buat server fleksibel dengan perintah az mysql flexible-server create. Contoh ini membuat server fleksibel bernama mysql20221201 dengan pengguna azureuser admin dan kata sandi Secret123456admin . Ganti kata sandi dengan kata sandi Anda. Untuk informasi selengkapnya, lihat Membuat Server Fleksibel Azure Database for MySQL menggunakan Azure CLI.
export MYSQL_NAME="mysql20221201"
export MYSQL_ADMIN_USER="azureuser"
export MYSQL_ADMIN_PASSWORD="Secret123456"
az mysql flexible-server create \
--resource-group $RESOURCE_GROUP_NAME \
--name $MYSQL_NAME \
--location ${REGION} \
--admin-user $MYSQL_ADMIN_USER \
--admin-password $MYSQL_ADMIN_PASSWORD \
--public-access 0.0.0.0 \
--tier Burstable \
--sku-name Standard_B1ms
Buat database dengan az mysql flexible-server db create.
export DATABASE_NAME="contoso"
# create mysql database
az mysql flexible-server db create \
--resource-group $RESOURCE_GROUP_NAME \
--server-name $MYSQL_NAME \
--database-name $DATABASE_NAME
Saat perintah selesai, Anda akan melihat output yang mirip dengan contoh berikut:
Creating database with utf8 charset and utf8_general_ci collation
{
"charset": "utf8",
"collation": "utf8_general_ci",
"id": "/subscriptions/contoso-hashcode/resourceGroups/abc1228rg/providers/Microsoft.DBforMySQL/flexibleServers/mysql20221201/databases/contoso",
"name": "contoso",
"resourceGroup": "abc1228rg",
"systemData": null,
"type": "Microsoft.DBforMySQL/flexibleServers/databases"
}
Mengonfigurasi administrator Microsoft Entra untuk database Anda
Sekarang setelah Anda membuat database, Anda harus membuatnya siap untuk mendukung koneksi tanpa kata sandi. Koneksi tanpa kata sandi memerlukan kombinasi identitas terkelola untuk sumber daya Azure dan autentikasi Microsoft Entra. Untuk gambaran umum identitas terkelola untuk sumber daya Azure, lihat Apa itu identitas terkelola untuk sumber daya Azure?
Untuk informasi tentang bagaimana Server Fleksibel MySQL berinteraksi dengan identitas terkelola, lihat dokumentasi Azure Database for MySQL.
Contoh berikut mengonfigurasi pengguna Azure CLI saat ini sebagai akun administrator Microsoft Entra. Untuk mengaktifkan autentikasi Azure, Anda perlu menetapkan identitas ke Server Fleksibel MySQL.
Pertama, buat identitas terkelola dengan az identity create dan tetapkan identitas ke server MySQL dengan az mysql flexible-server identity assign.
export MYSQL_UMI_NAME="id-mysql-aad-20221205"
# create a User Assigned Managed Identity for MySQL to be used for AAD authentication
az identity create \
--resource-group $RESOURCE_GROUP_NAME \
--name $MYSQL_UMI_NAME
## assign the identity to the MySQL server
az mysql flexible-server identity assign \
--resource-group $RESOURCE_GROUP_NAME \
--server-name $MYSQL_NAME \
--identity $MYSQL_UMI_NAME
Kemudian, atur pengguna Azure CLI saat ini sebagai akun administrator Microsoft Entra dengan az mysql flexible-server ad-admin create.
export CURRENT_USER=$(az account show --query user.name --output tsv)
export CURRENT_USER_OBJECTID=$(az ad signed-in-user show --query id --output tsv)
az mysql flexible-server ad-admin create \
--resource-group $RESOURCE_GROUP_NAME \
--server-name $MYSQL_NAME \
--object-id $CURRENT_USER_OBJECTID \
--display-name $CURRENT_USER \
--identity $MYSQL_UMI_NAME
Buat identitas terkelola yang ditetapkan pengguna
Selanjutnya, di Azure CLI, buat identitas di langganan Anda dengan menggunakan perintah az identity create. Anda menggunakan identitas terkelola ini untuk menyambungkan ke database Anda.
az identity create \
--resource-group ${RESOURCE_GROUP_NAME} \
--name myManagedIdentity
Untuk mengonfigurasi identitas dalam langkah-langkah berikut, gunakan perintah az identity show untuk menyimpan ID klien identitas dalam variabel shell.
# Get client ID of the user-assigned identity
export CLIENT_ID=$(az identity show \
--resource-group ${RESOURCE_GROUP_NAME} \
--name myManagedIdentity \
--query clientId \
--output tsv)
Buat pengguna database untuk identitas terkelola Anda
Pertama, Anda diharuskan membuat aturan firewall untuk mengakses server database dari klien CLI Anda. Jalankan perintah berikut untuk mendapatkan alamat IP Anda saat ini:
export MY_IP=$(curl http://whatismyip.akamai.com)
Jika Anda mengerjakan Subsistem Windows untuk Linux (WSL) dengan VPN diaktifkan, perintah berikut mungkin mengembalikan alamat IPv4 yang salah. Salah satu cara untuk mendapatkan alamat IPv4 Anda adalah dengan mengunjungi whatismyipaddress.com. Atur variabel lingkungan MY_IP sebagai alamat IPv4 tempat Anda ingin menyambungkan ke database. Anda akan mengonfigurasi firewall database dengan alamat IP ini nantinya.
Sambungkan sebagai pengguna administrator Microsoft Entra ke database MySQL Anda, dan buat pengguna MySQL untuk identitas terkelola Anda.
Buat aturan firewall sementara dengan az mysql flexible-server firewall-rule create.
az mysql flexible-server firewall-rule create \
--resource-group $RESOURCE_GROUP_NAME \
--name $MYSQL_NAME \
--rule-name AllowCurrentMachineToConnect \
--start-ip-address ${MY_IP} \
--end-ip-address ${MY_IP}
Selanjutnya, siapkan file SQL untuk membuat pengguna database untuk identitas terkelola. Contoh berikut menambahkan pengguna dengan nama login identity-contoso dan memberikan hak istimewa pengguna untuk mengakses database contoso:
export IDENTITY_LOGIN_NAME="identity-contoso"
cat <<EOF >createuser.sql
SET aad_auth_validate_oids_in_tenant = OFF;
DROP USER IF EXISTS '${IDENTITY_LOGIN_NAME}'@'%';
CREATE AADUSER '${IDENTITY_LOGIN_NAME}' IDENTIFIED BY '${CLIENT_ID}';
GRANT ALL PRIVILEGES ON ${DATABASE_NAME}.* TO '${IDENTITY_LOGIN_NAME}'@'%';
FLUSH privileges;
EOF
Jalankan file SQL dengan perintah az mysql flexible-server execute. Anda dapat mengambil token akses Anda dengan perintah az account get-access-token.
export RDBMS_ACCESS_TOKEN=$(az account get-access-token \
--resource-type oss-rdbms \
--query accessToken \
--output tsv)
az mysql flexible-server execute \
--name ${MYSQL_NAME} \
--admin-user ${CURRENT_USER} \
--admin-password ${RDBMS_ACCESS_TOKEN} \
--file-path "createuser.sql"
Anda mungkin diminta untuk menginstal ekstensi rdbms-connect, seperti yang ditunjukkan dalam output berikut. Tekan dan untuk melanjutkan. Jika Anda tidak bekerja bersama pengguna root, Anda perlu memasukkan kata sandi pengguna.
The command requires the extension rdbms-connect. Do you want to install it now? The command will continue to run after the extension is installed. (Y/n): y
Run 'az config set extension.use_dynamic_install=yes_without_prompt' to allow installing extensions without prompt.
This extension depends on gcc, libpq-dev, python3-dev and they will be installed first.
[sudo] password for user:
Jika file SQL berhasil dijalankan, output Anda mirip dengan contoh berikut:
Running *.sql* file 'createuser.sql'...
Successfully executed the file.
Closed the connection to mysql20221201
Identitas terkelola myManagedIdentity sekarang memiliki akses ke database saat mengautentikasi dengan nama pengguna identity-contoso.
Jika Anda tidak ingin lagi mengakses server dari alamat IP ini, Anda bisa menghapus aturan firewall dengan menggunakan perintah berikut:
az mysql flexible-server firewall-rule delete \
--resource-group $RESOURCE_GROUP_NAME \
--name $MYSQL_NAME \
--rule-name AllowCurrentMachineToConnect \
--yes
Terakhir, gunakan perintah berikut untuk mendapatkan string koneksi yang Anda gunakan di bagian berikutnya:
export CONNECTION_STRING="jdbc:mysql://${MYSQL_NAME}.mysql.database.azure.com:3306/${DATABASE_NAME}?useSSL=true"
echo ${CONNECTION_STRING}
Mengonfigurasi koneksi database tanpa kata sandi untuk Oracle WebLogic Server di Azure VM
Sebelum melanjutkan, Pastikan identitas Azure yang Anda gunakan untuk masuk dan menyelesaikan artikel ini memiliki peran Pemilik dalam langganan saat ini atau peran Kontributor dan Administrator Akses Pengguna dalam langganan saat ini. Untuk gambaran umum peran Azure, lihat Apa itu kontrol akses berbasis peran Azure (Azure RBAC)? Untuk detail tentang peran tertentu yang diperlukan oleh penawaran marketplace Oracle WebLogic, lihat Peran bawaan Azure.
Bagian ini menunjukkan kepada Anda cara mengonfigurasi koneksi sumber data tanpa kata sandi menggunakan penawaran Marketplace Azure untuk Oracle WebLogic Server.
Pertama, mulai proses penyebaran penawaran. Berikut ini menawarkan dukungan koneksi database tanpa kata sandi:
- Oracle WebLogic Server di Azure Kubernetes Service (AKS)
- Kluster Oracle WebLogic Server pada VM
- Oracle WebLogic Server dengan Server Admin di VM
- Kluster Dinamis Oracle WebLogic Server pada VM
Masukkan informasi yang diperlukan di panel Dasar dan panel lainnya jika Anda ingin mengaktifkan fitur tersebut. Saat Anda mencapai panel Database, masukkan konfigurasi tanpa kata sandi seperti yang diperlihatkan dalam langkah-langkah berikut:
- Untuk Sambungkan ke database?, pilih Ya.
- Di bawah pengaturan Koneksi , untuk Pilih jenis database, dari menu dropdown pilih MySQL (dengan dukungan untuk koneksi tanpa kata sandi).
- Untuk Nama JNDI, masukkan testpasswordless atau nilai yang Anda harapkan.
- Untuk String Koneksi dari DataSource, masukkan string koneksi yang Anda peroleh pada bagian sebelumnya.
- Untuk nama pengguna database, masukkan nama pengguna database dari identitas terkelola Anda, yang nilainya adalah
${IDENTITY_LOGIN_NAME}. Dalam contoh ini, nilainya adalah identity-contoso. - Pilih Gunakan koneksi sumber data tanpa kata sandi.
- Untuk Identitas terkelola yang ditetapkan pengguna, pilih identitas terkelola yang Anda buat sebelumnya. Dalam contoh ini, namanya myManagedIdentity.
Bagian Pengaturan koneksi akan terlihat seperti cuplikan layar berikut, yang menggunakan Kluster Oracle WebLogic Server pada VM sebagai contoh.
Anda selesai mengonfigurasi koneksi tanpa kata sandi. Anda dapat terus mengisi panel berikut atau memilih Tinjau + buat, lalu Buat untuk menyebarkan penawaran.
Memverifikasi koneksi database
Koneksi database berhasil dikonfigurasi jika penyebaran penawaran selesai tanpa kesalahan.
Terus mengambil Kluster Oracle WebLogic Server pada VM sebagai contoh, setelah penyebaran selesai, ikuti langkah-langkah ini di portal Azure untuk menemukan URL konsol Admin.
- Temukan grup sumber daya tempat Anda menerapkan WLS.
- Di bawah Pengaturan, pilih Penyebaran.
- Pilih penyebaran dengan Durasi terpanjang. Penyebaran ini harus ditempatkan di bagian bawah daftar.
- Pilih Output.
- URL Konsol Administrasi WebLogic adalah nilai dari adminConsoleUrl output.
- Salin nilai variabel output adminConsoleUrl.
- Tempelkan nilai ke bilah alamat browser Anda dan tekan Enter untuk membuka halaman masuk Konsol Administrasi WebLogic.
Gunakan langkah-langkah berikut untuk memverifikasi koneksi database:
Masuk ke Konsol Administrasi WebLogic dengan nama pengguna dan kata sandi yang Anda berikan di panel Dasar .
Di bawah Struktur Domain, pilih Layanan, Sumber Data, lalu testpasswordless.
Pilih tab Pemantauan, di mana status sumber data adalah Berjalan, seperti yang ditunjukkan pada cuplikan layar berikut:
Pilih tab Pengujian, lalu pilih tombol radio di samping server yang diinginkan.
Pilih Sumber Data Uji. Anda akan melihat pesan yang menunjukkan keberhasilan pengujian, seperti yang ditunjukkan pada cuplikan layar berikut:
Membersihkan sumber daya
Jika Anda tidak memerlukan sumber daya ini, Anda dapat menghapusnya dengan menggunakan perintah berikut:
az group delete --name ${RESOURCE_GROUP_NAME}
az group delete --name <resource-group-name-that-deploys-the-offer>
Langkah selanjutnya
Pelajari selengkapnya tentang menjalankan WLS di AKS atau komputer virtual dengan mengikuti tautan berikut: