Aracılığıyla paylaş


Oracle WebLogic Server'da Java uygulamaları için parolasız veritabanı bağlantılarını yapılandırma

Bu makalede, Azure portalı ile Oracle WebLogic Server tekliflerinde Java uygulamaları için parolasız veritabanı bağlantılarını yapılandırma adımları gösterilmektedir.

Bu kılavuzda aşağıdaki görevleri yerine getirebilirsiniz:

  • Azure CLI kullanarak veritabanı kaynakları sağlama.
  • Veritabanında Microsoft Entra yöneticisini etkinleştirin.
  • Kullanıcı tarafından atanan bir yönetilen kimlik sağlayın ve bunun için bir veritabanı kullanıcısı oluşturun.
  • Azure portalı ile Oracle WebLogic tekliflerinde parolasız veritabanı bağlantısı yapılandırın.
  • Veritabanı bağlantısını doğrulayın.

PostgreSQL, MySQL ve Azure SQL veritabanları için parolasız bağlantıları destekler.

Önkoşullar

Bir kaynak grubu oluşturun

az group createile bir kaynak grubu oluşturun. Kaynak gruplarının bir abonelik içinde benzersiz olması gerektiğinden, benzersiz bir ad seçin. Benzersiz adlar kullanmanın kolay bir yolu, baş harflerinizin, bugünün tarihinin ve bazı tanımlayıcıların (örneğin, abc1228rg) bir bileşimini kullanmaktır. Bu örnek, abc1228rg konumunda eastus adlı bir kaynak grubu oluşturur.

export RESOURCE_GROUP_NAME="abc1228rg"
az group create \
    --name ${RESOURCE_GROUP_NAME} \
    --location eastus

Veritabanı sunucusu ve veritabanı oluşturma

az mysql flexible-server create komutuyla esnek bir sunucu oluşturun. Bu örnek, yönetici kullanıcı mysql20221201 ve yönetici parolası azureuserile adlı Secret123456 esnek bir sunucu oluşturur. Parolayı sizinkiyle değiştirin. Daha fazla bilgi için bkz. Azure CLI kullanarak MySQL için Azure Veritabanı Esnek Sunucu Oluşturma.

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 eastus \
    --admin-user $MYSQL_ADMIN_USER \
    --admin-password $MYSQL_ADMIN_PASSWORD \
    --public-access 0.0.0.0 \
    --tier Burstable \
    --sku-name Standard_B1ms

az mysql flexible-server db createile veritabanı oluşturun.

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

Komut tamamlandığında aşağıdaki örneğe benzer bir çıktı görmeniz gerekir:

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"
}

Veritabanınız için bir Microsoft Entra yöneticisi yapılandırma

Veritabanını oluşturduğunuza göre artık parolasız bağlantıları desteklemeye hazır hale getirmeniz gerekir. Parolasız bağlantı, Azure kaynakları ve Microsoft Entra kimlik doğrulaması için yönetilen kimliklerin bir bileşimini gerektirir. Azure kaynakları için yönetilen kimliklere genel bakış için bkz . Azure kaynakları için yönetilen kimlikler nelerdir?

MySQL Esnek Sunucusunun yönetilen kimliklerle nasıl etkileşime geçtiğini öğrenmek içinMySQL için Azure Veritabanı belgelerine bakın.

Aşağıdaki örnek, geçerli Azure CLI kullanıcısını bir Microsoft Entra yönetici hesabı olarak yapılandırıyor. Azure kimlik doğrulamasını etkinleştirmek için MySQL Esnek Sunucusuna kimlik atamak gerekir.

İlk olarak, az identity create ile yönetilen bir kimlik oluşturun ve kimliği az mysql flexible-server identity assignile MySQL sunucusuna atayın.

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

Ardından, geçerli Azure CLI kullanıcısını az mysql flexible-server ad-admin createile Microsoft Entra yönetici hesabı olarak ayarlayın.

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

Kullanıcının atadığı yönetilen kimliği oluşturun

Ardından Azure CLI'da az identity create komutunu kullanarak aboneliğinizde bir kimlik oluşturun. Veritabanınıza bağlanmak için bu yönetilen kimliği kullanırsınız.

az identity create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myManagedIdentity

Aşağıdaki adımlarda kimliği yapılandırmak için az identity show komutunu kullanarak kimliğin istemci kimliğini bir kabuk değişkeninde depolayın.

# 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)

Yönetilen kimliğiniz için veritabanı kullanıcısı oluşturma

İlk olarak, CLI istemcinizden veritabanı sunucusuna erişmek için bir güvenlik duvarı kuralı oluşturmanız gerekir. Geçerli IP adresinizi almak için aşağıdaki komutları çalıştırın:

export MY_IP=$(curl http://whatismyip.akamai.com)

VPN etkin linux için Windows Alt Sistemi (WSL) üzerinde çalışıyorsanız, aşağıdaki komut yanlış bir IPv4 adresi döndürebilir. IPv4 adresinizi alma yollarından biri whatismyipaddress.com ziyaret etmektir. MY_IP ortam değişkenini veritabanına bağlanmak istediğiniz IPv4 adresi olarak ayarlayın. Veritabanı güvenlik duvarını daha sonra bu IP adresiyle yapılandıracaksınız.

Microsoft Entra yönetici kullanıcısı olarak MySQL veritabanınıza bağlanın ve yönetilen kimliğiniz için bir MySQL kullanıcısı oluşturun.

az mysql flexible-server firewall-rule createile geçici bir güvenlik duvarı kuralı oluşturun.

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}

Ardından, yönetilen kimlik için veritabanı kullanıcısı oluşturmak üzere bir SQL dosyası hazırlayın. Aşağıdaki örnek, oturum açma adı identity-contoso olan bir kullanıcıyı ekler ve kullanıcıya veritabanı contosoerişme ayrıcalıkları verir:

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

sql dosyasını az mysql flexible-server executekomutuyla yürütür. erişim belirtecinizi az account get-access-tokenkomutuyla alabilirsiniz.

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"

Aşağıdaki çıkışta gösterildiği gibi rdbms-connect uzantısını yüklemeniz istenebilir. Devam etmek için y basın. root kullanıcısıyla çalışmıyorsanız, o kullanıcının parolasını girmeniz gerekir.

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:

SQL dosyası başarıyla yürütülürse, çıkışınız aşağıdaki örneğe benzer:

Running *.sql* file 'createuser.sql'...
Successfully executed the file.
Closed the connection to mysql20221201

Yönetilen kimlik myManagedIdentity, identity-contoso kullanıcı adıyla kimlik doğrulaması yaparken artık veritabanına erişime sahiptir.

Sunucuya artık bu IP adresinden erişmek istemiyorsanız, aşağıdaki komutu kullanarak güvenlik duvarı kuralını kaldırabilirsiniz:

az mysql flexible-server firewall-rule delete \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $MYSQL_NAME \
    --rule-name AllowCurrentMachineToConnect \
    --yes

Son olarak, sonraki bölümde kullandığınız bağlantı dizesini almak için aşağıdaki komutu kullanın:

export CONNECTION_STRING="jdbc:mysql://${MYSQL_NAME}.mysql.database.azure.com:3306/${DATABASE_NAME}?useSSL=true"
echo ${CONNECTION_STRING}

Azure VM'lerinde Oracle WebLogic Server için parolasız veritabanı bağlantısı yapılandırma

Devam etmeden önce, oturum açmak ve bu makaleyi tamamlamak için kullandığınız Azure kimliğinin geçerli abonelikte Sahip rolüne veya geçerli abonelikteki Katkıda Bulunan ve Kullanıcı Erişimi Yöneticisi rollerine sahip olduğundan emin olun. Azure rollerine genel bakış için bkz. Azure rol tabanlı erişim denetimi (Azure RBAC) nedir? Oracle WebLogic market teklifinin gerektirdiği belirli roller hakkında ayrıntılı bilgi için bkz . Azure yerleşik rolleri.

Bu bölümde, Oracle WebLogic Server için Azure Market tekliflerini kullanarak parolasız veri kaynağı bağlantısını yapılandırma gösterilmektedir.

İlk olarak, bir teklif dağıtma işlemine başlayın. Aşağıdakiler parolasız veritabanı bağlantılarını destekler:

Özellikleri etkinleştirmek istiyorsanız Temel bilgiler bölmesine ve diğer bölmelere gerekli bilgileri girin. Veritabanı bölmesine ulaştığınızda, aşağıdaki adımlarda gösterildiği gibi parolasız yapılandırmayı girin:

  1. Veritabanına bağlanın mı? için Evet'i seçin.
  2. Bağlantı ayarlarıaltında, Veritabanı türünü seçiniçin açılan menüden MySQL (parolasız bağlantı desteğiyle)seçin.
  3. JNDI Adıiçin testpasswordless veya beklenen değerinizi girin.
  4. DataSource Bağlantı Dizesiiçin, son bölümde aldığınız bağlantı dizesini girin.
  5. Veritabanı kullanıcı adıiçin, yönetilen kimliğinizin veritabanı kullanıcı adını (${IDENTITY_LOGIN_NAME}değeri) girin. Bu örnekte değer identity-contosodeğeridir.
  6. Parolasız veri kaynağı bağlantısını kullan seçin.
  7. Kullanıcı tarafından atanan yönetilen kimlik için daha önce oluşturduğunuz yönetilen kimliği seçin. Bu örnekte adı myManagedIdentity.

Bağlantı ayarları bölümü, örnek olarak VM'lerde Oracle WebLogic Server Kümesini kullanan aşağıdaki ekran görüntüsü gibi görünmelidir.

VM'lerde Oracle WebLogic Server Oluşturma sayfasının Veritabanı yapılandır bölmesini gösteren Azure portalının ekran görüntüsü.

Parolasız bağlantıyı yapılandırmayı tamamladınız. Aşağıdaki bölmeleri doldurmaya devam edebilir veya gözden geçir + oluştur'u ve ardından Oluştur'u seçerek teklifi dağıtabilirsiniz.

Veritabanı bağlantısını doğrulama

Teklif dağıtımı hatasız tamamlanırsa veritabanı bağlantısı başarıyla yapılandırılır.

Vm'lerde Oracle WebLogic Server Kümesi'ni örnek olarak almaya devam ederek, dağıtım tamamlandıktan sonra Yönetici konsolu URL'sini bulmak için Azure portalında aşağıdaki adımları izleyin.

  1. WLS'yi dağıtdığınız kaynak grubunu bulun.
  2. Ayarlar'ın altında Dağıtımlar'ı seçin.
  3. En uzun Süreye sahip dağıtımı seçin. Bu dağıtım listenin en altında olmalıdır.
  4. Çıkışlar’ı seçin.
  5. WebLogic Yönetim Konsolu'nun URL'si adminConsoleUrl çıkışının değeridir.
  6. adminConsoleUrlçıktı değişkeninin değerini kopyalayın.
  7. Değeri tarayıcı adres çubuğuna yapıştırın ve WebLogic Yönetim Konsolu'nun oturum açma sayfasını açmak için Enter tuşuna basın.

Veritabanı bağlantısını doğrulamak için aşağıdaki adımları kullanın:

  1. Temel Bilgiler bölmesinde sağladığınız kullanıcı adı ve parolayla WebLogic Yönetim Konsolu'nda oturum açın.

  2. Etki Alanı Yapısı'nın altında Hizmetler, Veri Kaynakları'nı ve ardından testpasswordless öğesini seçin.

  3. Aşağıdaki ekran görüntüsünde gösterildiği gibi veri kaynağının durumunun Çalışanolduğu İzleme sekmesini seçin:

  4. Test sekmesini seçin ve ardından istediğiniz sunucunun yanındaki radyo düğmesini seçin.

  5. Test Veri Kaynağını seçin. Aşağıdaki ekran görüntüsünde gösterildiği gibi testin başarılı olduğunu belirten bir ileti görmeniz gerekir:

    Veri kaynağının başarılı bir testini gösteren WebLogic Console portalının ekran görüntüsü.

Kaynakları temizle

Bu kaynaklara ihtiyacınız yoksa, aşağıdaki komutları kullanarak bunları silebilirsiniz:

az group delete --name ${RESOURCE_GROUP_NAME}
az group delete --name <resource-group-name-that-deploys-the-offer>

Sonraki Adımlar

Aşağıdaki bağlantıları izleyerek AKS veya sanal makinelerde WLS çalıştırma hakkında daha fazla bilgi edinin: