Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk bemutatja, hogyan konfigurálhat jelszó nélküli adatbázis-kapcsolatokat Java-alkalmazásokhoz a Red Hat JBoss EAP-ajánlatokon az Azure Portalon.
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 a Red Hat JBoss EAP-ajánlatokban az Azure Portallal.
- Ellenőrizze az adatbázis-kapcsolatot.
Az ajánlatok támogatják a jelszó nélküli kapcsolatokat az Azure Database for PostgreSQL-hez és az Azure SQL-adatbázisokhoz.
Előfeltételek
Egy Azure-előfizetés. Ha nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.
Használja Azure Cloud Shell- a Bash-környezet használatával. Győződjön meg arról, hogy az Azure CLI 2.43.0-s vagy újabb verziója van.
Ha szeretné, telepítse az Azure CLI 2.43.0-s vagy újabb verzióját az Azure CLI-parancsok futtatásához.
- Ha helyi telepítést használ, jelentkezzen be az Azure CLI-vel a
az loginparanccsal. Az azonosítási folyamat befejezéséhez kövesse a terminálján megjelenő lépéseket. További bejelentkezési lehetőségekért tekintse meg az Azure CLI-vel való bejelentkezést. - Ha a rendszer kéri, az első használatkor telepítse az Azure CLI-bővítményeket. További információ a bővítményekről: Bővítmények használata az Azure CLI-vel.
- Futtassa a
az versiona telepített verzió és a függő kódtárak megkereséséhez. A legújabb verzióra való frissítéshez futtassa a következőtaz upgrade: .
- Ha helyi telepítést használ, jelentkezzen be az Azure CLI-vel a
Győződjön meg arról, hogy az Azure-identitás, amelyet a jelen cikkben való bejelentkezéshez és elvégzéséhez használ, az aktuális előfizetésben rendelkezik a Tulajdonos szerepkörrel, vagy a Közreműködő és a Felhasználói hozzáférés-rendszergazda szerepkörökkel. 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.
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 a Red Hat JBoss EAP-hoz Azure-beli virtuális gépeken
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)? A Red Hat JBoss EAP marketplace-ajánlat által igényelt konkrét szerepkörökkel kapcsolatos részletekért tekintse meg az Azure beépített szerepköreit.
Ez a szakasz bemutatja, hogyan konfigurálhatja a jelszó nélküli adatforrás-kapcsolatot a Red Hat JBoss EAP-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:
- JBoss EAP önálló üzemmód RHEL virtuális gépen
- JBoss EAP klaszter RHEL virtuális gépeken. További információkért lásd Rövid útmutató: JBoss EAP-fürt üzembe helyezése Azure-beli virtuális gépeken.
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:
- Csatlakozás adatbázishoz?, válassza az Igen lehetőséget.
- A Kapcsolatbeállítások területen az Adatbázistípus kiválasztása beállításnál nyissa meg a legördülő menüt, majd válassza az Azure SQL -t (támogatja a jelszó nélküli kapcsolatot).
- A JNDI-névesetében adja meg a(z) testpasswordless vagy a várt értéket.
- A DataSource kapcsolati sztring mezőhöz írja be az előző szakaszban beszerzett kapcsolati sztringet.
- Válassza a Jelszó nélküli adatforrás-kapcsolat használata lehetőséget.
- 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.
- 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:
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.
- Keresse meg azt az erőforráscsoportot, amelyben üzembe helyezte a JBoss EAP-t.
- A Beállítások menüben válassza a Telepítések lehetőséget.
- Válassza ki a leghosszabb időtartamú üzembe helyezést. Ennek az üzembe helyezésnek a lista alján kell lennie.
- Válassza a Kimenetek lehetőséget.
- A felügyeleti konzol URL-címe az adminConsole kimenet értéke.
- Másolja ki az adminConsole kimeneti változó értékét.
- 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:
Jelentkezzen be a felügyeleti konzolra az Alapismeretek panelen megadott felhasználónévvel és jelszóval.
A bejelentkezés után válassza a Főmenü Konfiguráció elemét .
Az oszlopböngészőben válassza az
Alrendszerek ,Adatforrások & Illesztőprogramok ,Adatforrások ,dataSource-mssqlserver lehetőséget.A legördülő menüben válassza a Kapcsolat tesztelése lehetőséget
A következőhöz hasonló üzenetet kell látnia:
Successfully tested connection for data source dataSource-mssqlserver.
Az alábbi képernyőkép a megfelelő felhasználói felületi elemeket emeli ki:
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 JBoss EAP Azure RedHat OpenShiften és virtuális gépeken való futtatásáról az alábbi hivatkozásokra kattintva tudhat meg többet: