Megosztás a következőn keresztül:


Jelszó nélküli adatbázis-kapcsolatok konfigurálása Java-alkalmazásokhoz az IBM WebSphere Alkalmazáskiszolgálón

Ez a cikk bemutatja, hogyan konfigurálhat jelszó nélküli adatbázis-kapcsolatokat Java-alkalmazásokhoz az IBM WebSphere Application 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.
  • Konfiguráljon jelszó nélküli adatbázis-kapcsolatot az IBM WebSphere Application Server ajánlataiban az Azure Portallal.
  • Ellenőrizze az adatbázis-kapcsolatot.

Az ajánlatok támogatják a PostgreSQL-, MySQL- és Azure SQL-adatbázisok jelszó nélküli kapcsolatait.

Előfeltételek

Válasszon egy régiót az üzembe helyezéshez

Válasszon ki egy régiót, amelyben elérhető termékváltozatok érhetők el a kívánt adatbázishoz. Az alábbi Azure CLI-parancs felsorolja az adott régióban elérhető termékváltozatokat. Próbálja ki a különböző régiókat, amíg meg nem találja az eredményeket tartalmazó régiót.

az mysql flexible-server list-skus --location "$REGION" --output table

Erőforráscsoport létrehozása

Erőforráscsoport létrehozása az group create. 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 kezdőbetűit, a mai dátumot és valamilyen azonosítót kombinálnak – például abc1228rg. Ez a példa létrehoz egy, a helyen elnevezett abc1228rg erőforráscsoportot eastus .

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

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

Hozzon létre egy rugalmas kiszolgálót a az mysql flexible-server create paranccsal. Ez a példa egy rendszergazdai felhasználóval mysql20221201 és rendszergazdai jelszóval azureuserellátott Secret123456 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 ${REGION} \
    --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 mysql flexible-server db createalapján.

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 MySQL Flexible Server a kezelt identitásokkal való kapcsolatáról lásd az Azure Database for MySQL dokumentációját.

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 identity create, és rendelje hozzá az identitást a MySQL-kiszolgálóhoz 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 az aktuális Azure CLI felhasználót állítsa be Microsoft Entra rendszergazdai fiókként a az mysql flexible-server ad-admin createhasználatával.

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ésben a 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 alábbi lépésekben, az az identity show paranccsal tárolja az identitás ügyfélazonosítóját egy parancssori vá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

Először létre kell hoznia egy tűzfalszabályt az adatbázis-kiszolgáló parancssori felületről való eléréséhez. Futtassa a következő parancsokat az aktuális IP-cím lekéréséhez:

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

Ha linuxos Windows-alrendszeren (WSL) 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. Állítsa be az MY_IP környezeti változót az adatbázishoz csatlakozni kívánt IPv4-címként. Az adatbázis tűzfalát később ezzel az IP-címmel konfigurálhatja.

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.

Hozzon létre egy ideiglenes tűzfalszabályt 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}

Ezután készítsen elő egy SQL-fájlt, hogy adatbázis-felhasználót hozzon létre a felügyelt identitáshoz. Az alábbi példa hozzáad egy identity-contoso bejelentkezési névvel rendelkező felhasználót, és jogosultságokat biztosít számára az contosoadatbázis eléréséhez.

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 az SQL-fájlt a az mysql flexible-server executeparanccsal. A hozzáférési jogkivonatot a az account get-access-tokenparanccsal is lekérheti.

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 felkéri a rdbms-connect bővítmény telepítésére, ahogy az az alábbi kimenetben is látható. A folytatáshoz nyomja le y. Amennyiben nem a root felhasználóval dolgozik, 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 az SQL-fájl sikeresen fut, a kimenet az alábbi példához hasonló:

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 kérje le a következő szakaszban használt kapcsolati sztringet:

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ó IBM WebSphere-alkalmazáskiszolgálóhoz

Mielőtt továbblép, győződjön meg arról, hogy a jelen cikk végrehajtásához és bejelentkezéséhez használt Azure-identitás tulajdonosi szerepkört kap az aktuális előfizetésben, vagy a közreműködői és felhasználói hozzáférés-rendszergazdai szerepköröket az aktuális előfizetésben. Az Azure-szerepkörök áttekintéséért lásd : Mi az Azure szerepköralapú hozzáférés-vezérlése (Azure RBAC)? Az Oracle WebLogic marketplace-ajánlat által igényelt szerepkörökkel kapcsolatos részletekért tekintse meg az Azure beépített szerepköreivel kapcsolatos információkat.

Ez a szakasz bemutatja, hogyan konfigurálhatja a jelszó nélküli adatforrás-kapcsolatot az IBM WebSphere Alkalmazáskiszolgálóhoz 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, adja meg a szükséges információkat az Alapismeretek panelen és más paneleken. Amikor eléri a Adatbázis panelt, adja meg a jelszó nélküli konfigurációt az alábbi lépésekben látható módon:

  1. Csatlakozás adatbázishoz?, válassza az Igen lehetőséget.
  2. A Kapcsolatbeállítások területen az Adatbázistípus kiválasztása területen nyissa meg a legördülő menüt, majd válassza az Azure SQL-t (jelszó nélküli kapcsolat támogatásával).
  3. JNDI-névként adja meg a testpasswordless vagy a várt értéket.
  4. A DataSource kapcsolati sztring mezőhöz írja be az előző szakaszban beszerzett kapcsolati sztringet.
  5. Válassza a Jelszó nélküli adatforrás-kapcsolat használata lehetőséget.
  6. A felhasználó által hozzárendelt felügyelt identitás esetében válassza ki az előző lépésben létrehozott felügyelt identitást. Ebben a példában a neve myManagedIdentity.
  7. Válassza a Hozzáadás lehetőséget.

A Kapcsolat beállításai szakasznak az alábbi képernyőképhez hasonlóan kell kinéznie:

Képernyőkép az Azure Portalról, amelyen az Adatbázistípus kiválasztása lap látható.

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.

Az üzembe helyezés befejezése után kövesse az alábbi lépéseket az Azure Portalon a felügyeleti konzol URL-címének megkereséséhez.

  1. Keresse meg azt az erőforráscsoportot, amelyben üzembe helyezte a WebSphere-et.
  2. A Beállítások menüben válassza a 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. Az integrált megoldáskonzol URL-címe az adminSecuredConsole kimenet értéke.
  6. Másolja ki az adminSecuredConsole kimeneti változó értékét.
  7. Illessze be az értéket a böngésző címsorába, és nyomja le az Enter billentyűt az Integrált megoldások 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 az Integrált megoldások konzoljára az Alapismeretek panelen megadott felhasználónévvel és jelszóval.
  2. A navigációs panelen bontsa ki az Erőforrások , majd a JDBC elemet.
  3. Válassza ki az adatforrásokat.
  4. Jelölje be a sor melletti jelölőnégyzetet az Adatbázis lapon megadott értéknek megfelelő JNDI névértékkel.
  5. Válassza a Kapcsolat tesztelése elemet.
  6. A következőhöz hasonló üzenetet kell látnia: The test connection operation for data source dataSource-sqlserver on server server1 at node was0aef4a-vmNode01 was successful.

Az alábbi képernyőkép a megfelelő felhasználói felületi elemeket emeli ki:

Képernyőkép az integrált megoldások konzoljáról, amely a tesztadatbázis oldalát mutatja.

Erőforrások tisztí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

A WebSphere Application Server AKS-en, Azure RedHat OpenShiften vagy virtuális gépeken való futtatásáról az alábbi hivatkozásokra kattintva tudhat meg többet: