Jelszó nélküli adatbázis-kapcsolatok konfigurálása Java-alkalmazásokhoz az Oracle WebLogic-kiszolgálókon

Ez a cikk bemutatja, hogyan konfigurálhat jelszó nélküli adatbázis-kapcsolatokat Java-alkalmazásokhoz az Oracle WebLogic Server ajánlataiban az Azure Portallal.

Ebben az útmutatóban a következő feladatokat hajtja végre:

  • Adatbázis-erőforrások kiépítése az Azure CLI használatával.
  • Engedélyezze a Microsoft Entra rendszergazdát az adatbázisban.
  • Hozzon létre egy felhasználó által hozzárendelt felügyelt identitást, és hozzon létre egy adatbázis-felhasználót.
  • Jelszó nélküli adatbázis-kapcsolat konfigurálása az Oracle WebLogic-ajánlatokban az Azure Portallal.
  • Ellenőrizze az adatbázis-kapcsolatot.

Az ajánlatok támogatják a Jelszó nélküli kapcsolatokat a PostgreSQL- és MySQL-adatbázisokhoz és az Azure SQL-adatbázisokhoz.

Előfeltételek

Erőforráscsoport létrehozása

Hozzon létre egy erőforráscsoportot az az group create paranccsal. Mivel az erőforráscsoportoknak egyedinek kell lenniük egy előfizetésen belül, válasszon egy egyedi nevet. Az egyedi nevek egyszerű módja, ha a monogram, a mai dátum és néhány azonosító kombinációját használják. Például abc1228rg. Ez a példa létrehoz egy erőforráscsoportot abc1228rg a eastus következő helyen:

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

Adatbázis-kiszolgáló és adatbázis létrehozása

Hozzon létre egy rugalmas kiszolgálót az az mysql flexible-server create paranccsal. Ez a példa egy rendszergazdai felhasználóval azureuser és rendszergazdai jelszóval Secret123456ellátott mysql20221201 rugalmas kiszolgálót hoz létre. Cserélje le a jelszót a sajátjaira. További információ: Rugalmas Azure Database for MySQL-kiszolgáló létrehozása az Azure CLI használatával.

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

Hozzon létre egy adatbázist az az mysql flexible-server db create használatával.

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

A parancs befejeződésekor a következő példához hasonló kimenetnek kell megjelennie:

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

Microsoft Entra-rendszergazda konfigurálása az adatbázishoz

Most, hogy létrehozta az adatbázist, készen kell állnia a jelszó nélküli kapcsolatok támogatására. A jelszó nélküli kapcsolatokhoz felügyelt identitások kombinációjára van szükség az Azure-erőforrásokhoz és a Microsoft Entra-hitelesítéshez. Az Azure-erőforrások felügyelt identitásainak áttekintéséért lásd : Mik az Azure-erőforrások felügyelt identitásai?

A rugalmas MySQL-kiszolgáló felügyelt identitásokkal való használatáról további információt a Microsoft Entra ID használata a MySQL-hitelesítéshez című témakörben talál.

Az alábbi példa az aktuális Azure CLI-felhasználót Microsoft Entra rendszergazdai fiókként konfigurálja. Az Azure-hitelesítés engedélyezéséhez identitást kell hozzárendelni a rugalmas MySQL-kiszolgálóhoz.

Először hozzon létre egy felügyelt identitást az az identity create és assign the MySQL server with 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

Ezután állítsa be az aktuális Azure CLI-felhasználót Microsoft Entra rendszergazdai fiókként az az mysql rugalmas kiszolgálói ad-admin létrehozással.

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

Felhasználó által hozzárendelt felügyelt identitás létrehozása

Ezután az Azure CLI-ben hozzon létre egy identitást az előfizetésében az az identity create paranccsal. Ezzel a felügyelt identitással csatlakozhat az adatbázishoz.

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

Az identitás konfigurálásához az az identity show paranccsal tárolhatja az identitás ügyfélazonosítóját egy rendszerhéjváltozóban.

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

Adatbázis-felhasználó létrehozása a felügyelt identitáshoz

Most csatlakozzon Microsoft Entra rendszergazdai felhasználóként a MySQL-adatbázishoz, és hozzon létre egy MySQL-felhasználót a felügyelt identitáshoz.

Először létre kell hoznia egy tűzfalszabályt a MySQL-kiszolgáló cli-ügyfélről való eléréséhez. Futtassa az alábbi parancsokat az aktuális IP-cím lekéréséhez.

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

Ha Linuxos Windows-alrendszer (WSL)-en dolgozik, és engedélyezve van a VPN, az alábbi parancs helytelen IPv4-címet adhat vissza. Az IPv4-cím lekérésének egyik módja a whatismyipaddress.com felkeresése. Mindenesetre állítsa be a környezeti változót MY_IP az IPv4-címként, amelyről csatlakozni szeretne az adatbázishoz.

Hozzon létre egy ideiglenes tűzfalszabályt az az mysql flexible-server firewall-rule create használatával.

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}

Ezután készítsen elő egy .sql fájlt egy adatbázis-felhasználó létrehozásához a felügyelt identitáshoz. Az alábbi példa egy bejelentkezési névvel identity-contoso rendelkező felhasználót ad hozzá, és hozzáférést biztosít az adatbázishoz 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

Hajtsa végre a .sql fájlt az az mysql flexible-server paranccsal. A hozzáférési jogkivonatot az az account get-access-token paranccsal szerezheti be.

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"

Előfordulhat, hogy a rendszer kérni fogja a rdbms-connect bővítmény telepítését, ahogy az az alábbi kimenetben látható. A folytatáshoz nyomja le y a billentyűt. Ha nem dolgozik a root felhasználóval, meg kell adnia a felhasználói jelszót.

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:

Ha a .sql fájl sikeresen fut, az alábbi példához hasonló kimenetet talál:

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

A felügyelt identitás myManagedIdentity mostantól hozzáfér az adatbázishoz a felhasználónévvel identity-contosovaló hitelesítéskor.

Ha már nem szeretné elérni a kiszolgálót ebből az IP-címből, az alábbi paranccsal eltávolíthatja a tűzfalszabályt.

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

Végül a következő paranccsal szerezze be a következő szakaszban használt kapcsolati sztring.

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

Jelszó nélküli adatbázis-kapcsolat konfigurálása Azure-beli virtuális gépeken futó Oracle WebLogic Serverhez

Ez a szakasz bemutatja, hogyan konfigurálhatja a jelszó nélküli adatforrás-kapcsolatot az Oracle WebLogic Serverhez készült Azure Marketplace-ajánlatok használatával.

Először kezdje el az ajánlat üzembe helyezésének folyamatát. Az alábbi lehetőségek támogatják a jelszó nélküli adatbázis-kapcsolatokat:

Ha engedélyezni szeretné a funkciókat, töltse ki a szükséges információkat az Alapismeretek panelen és más paneleken. Amikor eléri az Adatbázis panelt, töltse ki a jelszó nélküli konfigurációt az alábbi lépésekben látható módon.

  1. Ha Csatlakozás adatbázisba?, válassza az Igen lehetőséget.
  2. A Csatlakozás ion beállításoknál nyissa meg a legördülő menüt az adatbázistípus kiválasztása területen, majd válassza a MySQL (jelszó nélküli kapcsolat támogatásával) lehetőséget.
  3. JNDI-név, bemeneti tesztpasswordless vagy a várt érték.
  4. DataSource Csatlakozás ion string esetén adja meg az utolsó szakaszban beszerzett kapcsolati sztring.
  5. Adatbázis-felhasználónév esetén adja meg a felügyelt identitás adatbázis-felhasználónevét ${IDENTITY_LOGIN_NAME}(a név értékét). Ebben a példában az érték a következő identity-contoso: .
  6. Válassza a Jelszó nélküli adatforrás-kapcsolat használata lehetőséget.
  7. A felhasználó által hozzárendelt felügyelt identitás esetében válassza ki a korábban létrehozott felügyelt identitást. Ebben a példában a neve .myManagedIdentity

A Csatlakozás ion-beállítások szakasznak az alábbi képernyőképhez hasonlóan kell kinéznie, amely példaként az Oracle WebLogic Server-fürtöt használja virtuális gépeken.

Képernyőkép az Azure Portalról, amelyen az Oracle WebLogic-kiszolgáló létrehozása virtuális gépeken lap Adatbázis konfigurálása panelje látható.

Ezzel befejezte a jelszó nélküli kapcsolat konfigurálását. A következő paneleket továbbra is kitöltheti, vagy a Véleményezés + létrehozás, majd a Létrehozás lehetőséget választva üzembe helyezheti az ajánlatot.

Az adatbázis-kapcsolat ellenőrzése

Az adatbázis-kapcsolat sikeresen konfigurálva van, ha az ajánlat üzembe helyezése hiba nélkül befejeződik.

Ha folytatja az Oracle WebLogic-kiszolgálófürt használatát virtuális gépeken, az üzembe helyezés befejezése után kövesse az alábbi lépéseket az Azure Portalon a Rendszergazda konzol URL-címének megkereséséhez.

  1. Keresse meg azt az erőforráscsoportot, amelyben üzembe helyezte a WLS-t.
  2. A Gépház területen válassza a Központi telepítések lehetőséget.
  3. Válassza ki a leghosszabb időtartamú üzembe helyezést. Ennek az üzembe helyezésnek a lista alján kell lennie.
  4. Válassza a Kimenetek lehetőséget.
  5. A WebLogic Rendszergazda istration console URL-címe az adminConsoleUrl-kimenet értéke.
  6. Másolja ki a kimeneti változó adminConsoleUrlértékét.
  7. Illessze be az értéket a böngésző címsorába, és nyomja le az Enter billentyűt a WebLogic Rendszergazda istration konzol bejelentkezési oldalának megnyitásához.

Az adatbázis-kapcsolat ellenőrzéséhez kövesse az alábbi lépéseket.

  1. Jelentkezzen be a WebLogic Rendszergazda istration konzolra az Alapismeretek panelen megadott felhasználónévvel és jelszóval.

  2. A Tartománystruktúra területen válassza a Szolgáltatások, adatforrások, majd a testpasswordless lehetőséget.

  3. Válassza a Figyelés lapot, ahol az adatforrás állapota fut, az alábbi képernyőképen látható módon.

  4. Válassza a Tesztelés lapot, majd a kívánt kiszolgáló melletti választógombot.

  5. Válassza az Adatforrás tesztelése lehetőséget. Az alábbi képernyőképen látható módon egy sikeres tesztet jelző üzenetnek kell megjelennie.

    Képernyőkép a WebLogic-konzol portáljáról, amelyen az adatforrás sikeres tesztelése látható.

Az erőforrások eltávolítása

Ha nincs szüksége ezekre az erőforrásokra, az alábbi parancsokkal törölheti őket:

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

Következő lépések

További információ a WLS AKS-en vagy virtuális gépeken való futtatásáról az alábbi hivatkozásokon keresztül: