Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuDen här webbläsaren stöds inte längre.
Uppgradera till Microsoft Edge och dra nytta av de senaste funktionerna och säkerhetsuppdateringarna, samt teknisk support.
Den här artikeln visar hur du konfigurerar lösenordslösa databasanslutningar för Java-appar på Oracle WebLogic Server-erbjudanden med Azure Portal.
I den här guiden utför du följande uppgifter:
Erbjudandena stöder lösenordslösa anslutningar för PostgreSQL-, MySQL- och Azure SQL-databaser.
En Azure-prenumeration. Om du inte har en Azure-prenumeration kan du skapa ettkostnadsfritt konto innan du börjar.
Använd Azure Cloud Shell- med hjälp av Bash-miljön. Kontrollera att Azure CLI-versionen är 2.43.0 eller senare.
Om du vill kan du installera Azure CLI 2.43.0 eller senare för att köra Azure CLI-kommandon.
az login
. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Se Logga in med Azure CLI för andra inloggningsalternativ.az version
för att hitta den version och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade
.Kontrollera att den Azure-identitet som du använder för att logga in och slutföra den här artikeln har rollen Ägare i den aktuella prenumerationen eller rollen Deltagare och Administratör för användaråtkomst i den aktuella prenumerationen. En översikt över Azure-roller finns i Vad är rollbaserad åtkomstkontroll i Azure (Azure RBAC)? Mer information om de specifika roller som krävs av Oracle WebLogic Marketplace-erbjudandet finns i Inbyggda Roller i Azure.
Skapa en resursgrupp med az group create
. Eftersom resursgrupper måste vara unika i en prenumeration väljer du ett unikt namn. Ett enkelt sätt att få unika namn är att använda en kombination av dina initialer, dagens datum och någon identifierare – till exempel abc1228rg
. I det här exemplet skapas en resursgrupp med namnet abc1228rg
på platsen eastus
:
export RESOURCE_GROUP_NAME="abc1228rg"
az group create \
--name ${RESOURCE_GROUP_NAME} \
--location eastus
Skapa en flexibel server med kommandot az mysql flexible-server create
. Det här exemplet skapar en flexibel server med namnet mysql20221201
med administratörsanvändare azureuser
och administratörslösenord Secret123456
. Ersätt lösenordet med ditt. Mer information finns i Skapa en flexibel Azure Database for MySQL-server med 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 eastus \
--admin-user $MYSQL_ADMIN_USER \
--admin-password $MYSQL_ADMIN_PASSWORD \
--public-access 0.0.0.0 \
--tier Burstable \
--sku-name Standard_B1ms
Skapa en databas med 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
När kommandot har slutförts bör du se utdata som liknar följande exempel:
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"
}
Nu när du har skapat databasen måste du göra den redo att stödja lösenordslösa anslutningar. En lösenordslös anslutning kräver en kombination av hanterade identiteter för Azure-resurser och Microsoft Entra-autentisering. En översikt över hanterade identiteter för Azure-resurser finns i Vad är hanterade identiteter för Azure-resurser?
Information om hur MySQL – flexibel server interagerar med hanterade identiteter finns i dokumentationen Azure Database for MySQL.
I följande exempel konfigureras den aktuella Azure CLI-användaren som ett Microsoft Entra-administratörskonto. För att aktivera Azure-autentisering är det nödvändigt att tilldela en identitet till MySQL – flexibel server.
Skapa först en hanterad identitet med az identity create
och tilldela identiteten till MySQL-servern med 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
Ange sedan den aktuella Azure CLI-användaren som Microsoft Entra-administratörskonto med 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
I Azure CLI skapar du sedan en identitet i din prenumeration med hjälp av kommandot az identity create
. Du använder den här hanterade identiteten för att ansluta till databasen.
az identity create \
--resource-group ${RESOURCE_GROUP_NAME} \
--name myManagedIdentity
Om du vill konfigurera identiteten i följande steg använder du kommandot az identity show
för att lagra identitetens klient-ID i en gränssnittsvariabel.
# 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)
Först måste du skapa en brandväggsregel för åtkomst till databasservern från CLI-klienten. Kör följande kommandon för att hämta din aktuella IP-adress:
export MY_IP=$(curl http://whatismyip.akamai.com)
Om du arbetar med Windows Undersystem för Linux (WSL) med VPN aktiverat kan följande kommando returnera en felaktig IPv4-adress. Ett sätt att få din IPv4-adress är genom att besöka whatismyipaddress.com. Ange miljövariabeln MY_IP
som den IPv4-adress som du vill ansluta till databasen från. Du konfigurerar databasbrandväggen med den här IP-adressen senare.
Anslut som Microsoft Entra-administratörsanvändare till din MySQL-databas och skapa en MySQL-användare för din hanterade identitet.
Skapa en tillfällig brandväggsregel med 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}
Förbered sedan en SQL-fil för att skapa en databasanvändare för den hanterade identiteten. I följande exempel läggs en användare med inloggningsnamn identity-contoso
och ger användaren behörighet att komma åt databasen 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
Kör SQL-filen med kommandot az mysql flexible-server execute
. Du kan hämta din åtkomsttoken med kommandot 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"
Du kan uppmanas att installera tillägget rdbms-connect
, som visas i följande utdata. Tryck på y för att fortsätta. Om du inte arbetar med root
användaren måste du ange användarlösenordet.
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:
Om SQL-filen körs korrekt liknar dina utdata följande exempel:
Running *.sql* file 'createuser.sql'...
Successfully executed the file.
Closed the connection to mysql20221201
Den hanterade identiteten myManagedIdentity
har nu åtkomst till databasen när du autentiserar med användarnamnet identity-contoso
.
Om du inte längre vill komma åt servern från den här IP-adressen kan du ta bort brandväggsregeln med hjälp av följande kommando:
az mysql flexible-server firewall-rule delete \
--resource-group $RESOURCE_GROUP_NAME \
--name $MYSQL_NAME \
--rule-name AllowCurrentMachineToConnect \
--yes
Använd slutligen följande kommando för att hämta anslutningssträngen som du använder i nästa avsnitt:
export CONNECTION_STRING="jdbc:mysql://${MYSQL_NAME}.mysql.database.azure.com:3306/${DATABASE_NAME}?useSSL=true"
echo ${CONNECTION_STRING}
Det här avsnittet visar hur du konfigurerar den lösenordslösa datakällanslutningen med hjälp av Azure Marketplace-erbjudandena för Oracle WebLogic Server.
Börja med att distribuera ett erbjudande. Följande erbjudanden stöder lösenordslösa databasanslutningar:
Ange nödvändig information i fönstret Grundläggande och andra fönster om du vill aktivera funktionerna. När du når fönstret Database anger du den lösenordslösa konfigurationen enligt följande steg:
${IDENTITY_LOGIN_NAME}
. I det här exemplet är värdet identity-contoso.Avsnittet Anslutningsinställningar bör se ut som i följande skärmbild, som använder Oracle WebLogic Server Cluster på virtuella datorer som exempel.
Du har konfigurerat den lösenordslösa anslutningen. Du kan fortsätta att fylla i följande fönster eller välja Granska + skapa och sedan Skapa för att distribuera erbjudandet.
Databasanslutningen har konfigurerats om erbjudandedistributionen slutförs utan fel.
Om du fortsätter att använda Oracle WebLogic Server Cluster på virtuella datorer som exempel följer du de här stegen i Azure Portal för att hitta url:en för administratörskonsolen.
Använd följande steg för att verifiera databasanslutningen:
Logga in på WebLogic-administrationskonsolen med det användarnamn och lösenord som du angav i fönstret Grundläggande.
Under Domänstruktur väljer du Tjänster, Datakällor och sedan testpasswordless.
Välj fliken Övervakning, där datakällans tillstånd är Körs, som visas i följande skärmdump:
Välj fliken Testning och välj sedan radioknappen bredvid önskad server.
Välj Testa datakälla. Du bör se ett meddelande som anger ett lyckat test, enligt följande skärmbild:
Om du inte behöver dessa resurser kan du ta bort dem med hjälp av följande kommandon:
az group delete --name ${RESOURCE_GROUP_NAME}
az group delete --name <resource-group-name-that-deploys-the-offer>
Läs mer om att köra WLS på AKS eller virtuella datorer genom att följa dessa länkar:
Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuUtbildning
Modul
Distribuera ett Java EE-program (Jakarta EE) till Azure - Training
Distribuera ett Java EE-program (Jakarta EE) till JBoss EAP i Azure App Service och binda det till Azure Database for MySQL.
Certifiering
Microsoft-certifierad: Azure-databasadministratör associate - Certifications
Administrera en SQL Server-databasinfrastruktur för molndatabaser, lokala databaser och hybridrelationsdatabaser med hjälp av microsoft PaaS-relationsdatabaserbjudanden.
Dokumentation
Lär dig hur du migrerar befintliga program med Hjälp av Azure Database for MySQL från autentiseringsmönster som lösenord till säkrare metoder som hanterad identitet.
Lär dig hur du migrerar ett Java-program för att använda lösenordslösa anslutningar med Azure SQL Database.
Lär dig hur du migrerar befintliga program med Hjälp av Azure Database for PostgreSQL från autentiseringsmönster som lösenord till säkrare metoder som Hanterad identitet.