Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto článku se dozvíte, jak nakonfigurovat připojení databáze bez hesla pro aplikace v Javě v nabídkách EAP red Hat JBoss pomocí webu Azure Portal.
V této příručce provedete následující úlohy:
- Zřízení databázových prostředků pomocí Azure CLI
- Povolte správce Microsoft Entra v databázi.
- Zřiďte spravovanou identitu přiřazenou uživatelem a vytvořte pro ni uživatele databáze.
- Nakonfigurujte připojení databáze bez hesla v nabídkách EAP red Hat JBoss pomocí webu Azure Portal.
- Ověřte připojení k databázi.
Nabízí podporu bez hesel pro databáze Azure Database for PostgreSQL a databáze Azure SQL.
Požadavky
Předplatné služby Azure. Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.
Použijte Azure Cloud Shell pomocí prostředí Bash. Ujistěte se, že je verze Azure CLI 2.43.0 nebo vyšší.
Pokud chcete, nainstalujte Azure CLI 2.43.0 nebo novější a spusťte příkazy Azure CLI.
- Pokud používáte místní instalaci, přihlaste se pomocí Azure CLI pomocí příkazu
az login. Chcete-li dokončit proces ověřování, postupujte podle kroků zobrazených ve vašem terminálu. Další možnosti přihlášení najdete v tématu Přihlášení pomocí Azure CLI . - Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.
- Spuštěním
az versionvyhledejte nainstalované verze a závislé knihovny. Pokud chcete upgradovat na nejnovější verzi, spusťteaz upgrade.
- Pokud používáte místní instalaci, přihlaste se pomocí Azure CLI pomocí příkazu
Ujistěte se, že identita Azure, kterou používáte k přihlášení a dokončení tohoto článku, má buď roli Vlastník v aktuálním předplatném nebo role Přispěvatel a Správce uživatelského přístupu v aktuálním předplatném. Přehled rolí Azure najdete v tématu Co je řízení přístupu na základě role v Azure (Azure RBAC)? Podrobnosti o konkrétních rolích, které vyžaduje nabídka Oracle WebLogic marketplace, najdete v tématu Předdefinované role Azure.
Vyberte oblast pro nasazení.
Vyberte oblast s dostupnými skladovými jednotkami pro požadovanou databázi. Následující příkaz Azure CLI vypíše dostupné skladové položky v dané oblasti. Pokračujte v pokusu o různé oblasti, dokud nenajdete oblast, která obsahuje některé výsledky.
az mysql flexible-server list-skus --location "$REGION" --output table
Vytvoření skupiny zdrojů
Vytvořte skupinu prostředků pomocí az group create příkazu. Vzhledem k tomu, že skupiny prostředků musí být v rámci předplatného jedinečné, vyberte jedinečný název. Jednoduchým způsobem, jak mít jedinečné názvy, je použít kombinaci iniciály, dnešního data a identifikátoru – například abc1228rg. Tento příklad vytvoří skupinu prostředků pojmenovanou abc1228rgeastus v umístění.
export RESOURCE_GROUP_NAME="abc1228rg"
export REGION=eastus
az group create \
--name ${RESOURCE_GROUP_NAME} \
--location ${REGION}
Vytvoření databázového serveru a databáze
Vytvořte flexibilní server pomocí příkazu az mysql flexible-server create. Tento příklad vytvoří flexibilní server s názvem mysql20221201, s uživatelem azureuser a heslem Secret123456. Heslo nahraďte svým. Další informace najdete v tématu Vytvoření flexibilního serveru Azure Database for MySQL pomocí 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
Vytvořte databázi pomocí 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
Po dokončení příkazu by se měl zobrazit výstup podobný následujícímu příkladu:
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"
}
Konfigurace správce Microsoft Entra pro vaši databázi
Teď, když jste databázi vytvořili, musíte ji připravit na podporu připojení bez hesla. Připojení bez hesla vyžaduje kombinaci spravovaných identit pro prostředky Azure a ověřování Microsoft Entra. Přehled spravovaných identit pro prostředky Azure najdete v tématu Co jsou spravované identity pro prostředky Azure?
Informace o interakci flexibilního serveru MySQL se spravovanými identitami najdete v dokumentaci ke službě Azure Database for MySQL.
Následující příklad nakonfiguruje aktuálního uživatele Azure CLI jako účet správce Microsoft Entra. Pokud chcete povolit ověřování Azure, je potřeba přiřadit identitu flexibilnímu serveru MySQL.
Nejprve vytvořte spravovanou identitu s az identity create a přiřaďte ji k serveru MySQL pomocí 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
Pak nastavte aktuálního uživatele Azure CLI jako účet správce Microsoft Entra pomocí 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
Vytvořit uživatelsky přiřazenou spravovanou identitu
V dalším kroku v Azure CLI pomocí příkazu az identity create vytvořte identitu ve vašem předplatném. Tuto spravovanou identitu použijete pro připojení k databázi.
az identity create \
--resource-group ${RESOURCE_GROUP_NAME} \
--name myManagedIdentity
Pokud chcete nakonfigurovat identitu v následujících krocích, použijte příkaz az identity show k uložení ID klienta identity do shell proměnné.
# 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)
Vytvoření databázového uživatele pro spravovanou identitu
Nejprve musíte vytvořit pravidlo firewallu pro přístup k databázovému serveru z vašeho příkazového klienta. Spuštěním následujících příkazů získejte aktuální IP adresu:
export MY_IP=$(curl http://whatismyip.akamai.com)
Pokud pracujete na subsystému Windows pro Linux (WSL) s povolenou sítí VPN, může následující příkaz vrátit nesprávnou adresu IPv4. Jedním ze způsobů, jak získat adresu IPv4, je návštěva whatismyipaddress.com. Nastavte proměnnou prostředí MY_IP jako adresu IPv4, ze které se chcete připojit k databázi. Bránu firewall databáze nakonfigurujete s touto IP adresou později.
Připojte se jako uživatel správce Microsoft Entra k databázi MySQL a vytvořte uživatele MySQL pro vaši spravovanou identitu.
Vytvořte dočasné pravidlo brány firewall s 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}
Dále připravte soubor SQL k vytvoření uživatele databáze pro spravovanou identitu. Následující příklad přidá uživatele s přihlašovacím jménem identity-contoso a udělí uživateli oprávnění pro přístup k databázi 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
Spusťte soubor SQL pomocí příkazu az mysql flexible-server execute. Přístupový token můžete získat pomocí příkazu 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"
Může se zobrazit výzva k instalaci rozšíření rdbms-connect, jak je znázorněno v následujícím výstupu. Pokračujte stisknutím y. Pokud s uživatelem root nepracujete, musíte zadat heslo uživatele.
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:
Pokud se soubor SQL úspěšně spustí, bude výstup podobný následujícímu příkladu:
Running *.sql* file 'createuser.sql'...
Successfully executed the file.
Closed the connection to mysql20221201
Spravovaná identita myManagedIdentity má nyní přístup k databázi při ověřování pomocí uživatelského jména identity-contoso.
Pokud už nechcete získat přístup k serveru z této IP adresy, můžete pravidlo brány firewall odebrat pomocí následujícího příkazu:
az mysql flexible-server firewall-rule delete \
--resource-group $RESOURCE_GROUP_NAME \
--name $MYSQL_NAME \
--rule-name AllowCurrentMachineToConnect \
--yes
Nakonec pomocí následujícího příkazu získejte připojovací řetězec, který použijete v další části:
export CONNECTION_STRING="jdbc:mysql://${MYSQL_NAME}.mysql.database.azure.com:3306/${DATABASE_NAME}?useSSL=true"
echo ${CONNECTION_STRING}
Konfigurace připojení databáze bez hesla pro Red Hat JBoss EAP na virtuálních počítačích Azure
Než budete pokračovat, ujistěte se, že identita Azure, kterou používáte k přihlášení, a dokončení tohoto článku má v aktuálním předplatném roli Vlastník nebo role Přispěvatel a Správce uživatelských přístupů v aktuálním předplatném. Přehled rolí Azure najdete v tématu Co je řízení přístupu na základě role v Azure (Azure RBAC)? Podrobnosti o konkrétních rolích, které vyžaduje nabídka Marketplace Red Hat JBoss EAP, najdete v tématu Předdefinované role Azure.
V této části se dozvíte, jak nakonfigurovat připojení ke zdroji dat bez hesla pomocí nabídek Azure Marketplace pro Red Hat JBoss EAP.
Nejprve zahajte proces nasazení nabídky do provozu. Následující nabídky podporují připojení k databázi bez hesla:
- Samostatná aplikace JBoss EAP na virtuálním počítači RHEL
- Cluster JBoss EAP na virtuálních počítačích RHEL Další informace najdete v tématu Rychlý start: Nasazení clusteru JBoss EAP na virtuálních počítačích Azure.
Pokud chcete povolit funkce, zadejte požadované informace v podokně Základy a dalších podoken. Když se dostanete do podokna Databáze, zadejte konfiguraci bez hesla, jak je znázorněno v následujících krocích:
- V případě připojení k databázi vyberte Ano.
- V části Nastavení připojení v části Zvolit typ databáze otevřete rozevírací nabídku a pak vyberte Azure SQL (podporuje připojení bez hesla).
- Pro název JNDIzadejte testpasswordless nebo očekávanou hodnotu.
- Jako řetězec připojení zdroje dat zadejte řetězec připojení, který jste získali v poslední části.
- Vyberte Použít připojení zdroje dat bez hesla.
- U spravované identity přiřazené uživatelem vyberte spravovanou identitu, kterou jste vytvořili v předchozím kroku. V tomto příkladu je jeho název myManagedIdentity.
- Vyberte Přidat.
Část Nastavení připojení by měla vypadat jako na následujícím snímku obrazovky:
Ověření připojení k databázi
Připojení k databázi se úspěšně nakonfiguruje, pokud se nasazení nabídky dokončí bez chyby.
Po dokončení nasazení vyhledejte adresu URL konzoly pro správu pomocí těchto kroků na webu Azure Portal.
- Vyhledejte skupinu prostředků, ve které jste nasadili protokol JBoss EAP.
- V části Nastavení vyberte Nasazení.
- Vyberte nasazení s nejdelší dobou trvání. Toto nasazení by mělo být v dolní části seznamu.
- Vyberte Výstupy.
- Adresa URL konzoly pro správu je hodnota výstupu adminConsole .
- Zkopírujte hodnotu výstupní proměnné adminConsole.
- Vložte hodnotu do adresního řádku prohlížeče a stisknutím klávesy Enter otevřete přihlašovací stránku konzoly Integrovaná řešení.
Pomocí následujících kroků ověřte připojení k databázi:
Přihlaste se ke konzole pro správu pomocí uživatelského jména a hesla, které jste zadali v podokně Základy .
Po přihlášení vyberte v hlavní nabídce možnost Konfigurace .
V prohlížeči sloupců vyberte Subsystémy, Zdroje dat a ovladače, Zdroje dat, DataSource-mssqlserver.
V rozevírací nabídce vyberte Test připojení.
Měla by se zobrazit zpráva, která hlásí něco podobného
Successfully tested connection for data source dataSource-mssqlserver.
Následující snímek obrazovky zvýrazní relevantní prvky uživatelského rozhraní:
Vyčistěte zdroje
Pokud tyto prostředky nepotřebujete, můžete je odstranit pomocí následujících příkazů:
az group delete --name ${RESOURCE_GROUP_NAME}
az group delete --name <resource-group-name-that-deploys-the-offer>
Další kroky
Další informace o spouštění JBoss EAP v Azure RedHat OpenShiftu a virtuálních počítačích najdete na těchto odkazech: