Snabbstart: Distribuera ett tjänstkataloghanterat program
Artikel
I den här snabbstarten använder du definitionen för det hanterade programmet som du skapade med hjälp av någon av snabbstartsartiklarna. Distributionen skapar två resursgrupper. En resursgrupp innehåller det hanterade programmet och den andra är en hanterad resursgrupp för de distribuerade resurserna. Definitionen för det hanterade programmet distribuerar en App Service-plan, App Service och ett lagringskonto.
I exemplen används de resursgruppsnamn som skapades i snabbstarten för att publicera en programdefinition. Om du använde snabbstarten för att publicera en definition med Bring Your Own Storage använder du dessa resursgruppsnamn.
Publicera programdefinition: packageStorageGroup och appDefinitionGroup.
Publicera definition med Bring Your Own Storage: packageStorageGroup, byosDefinitionStorageGroup och byosAppDefinitionGroup.
Kör följande kommandon för att hämta det hanterade programmets definition med Azure PowerShell.
Öppna en ny PowerShell-terminal i Visual Studio Code och logga in på din Azure-prenumeration.
Connect-AzAccount
Kommandot öppnar din standardwebbläsare och uppmanar dig att logga in på Azure. Mer information finns i Logga in med Azure PowerShell.
Hämta definitionen för ditt hanterade program från Azure PowerShell. I det här exemplet använder du resursgruppens namn appDefinitionGroup som skapades när du distribuerade definitionen för det hanterade programmet.
Get-AzManagedApplicationDefinition visar en lista över alla tillgängliga definitioner i den angivna resursgruppen, till exempel sampleManagedApplication.
Skapa en variabel för den hanterade programdefinitionens resurs-ID.
Du använder $definitionid variabelns värde när du distribuerar det hanterade programmet.
Kör följande kommandon för att hämta definitionen för det hanterade programmet med Azure CLI.
I Visual Studio Code öppnar du en ny Bash-terminalsession och loggar in på din Azure-prenumeration. Om du har Git installerat väljer du Git Bash.
az login
Kommandot öppnar din standardwebbläsare och uppmanar dig att logga in på Azure. Mer information finns i Logga in med Azure CLI.
Hämta definitionen för ditt hanterade program från Azure CLI. I det här exemplet använder du resursgruppens namn appDefinitionGroup som skapades när du distribuerade definitionen för det hanterade programmet.
az managedapp definition list --resource-group appDefinitionGroup
Kommandot visar alla tillgängliga definitioner i den angivna resursgruppen, till exempel sampleManagedApplication.
Skapa en variabel för den hanterade programdefinitionens resurs-ID.
definitionid=$(az managedapp definition show --resource-group appDefinitionGroup --name sampleManagedApplication --query id --output tsv)
Du använder $definitionid variabelns värde när du distribuerar det hanterade programmet.
Använd följande steg för att hämta definitionen för det hanterade programmet från Azure-portalen.
Variablerna $mrgprefix och $mrgtimestamp sammanfogas och lagras i variabeln $mrgname . Variabelns värde är i formatet mrg-sampleManagedApplication-20230512103059. Du använder $mrgname variabelns värde när du distribuerar det hanterade programmet.
Du måste ange flera parametrar för distributionskommandot för det hanterade programmet. Du kan använda en JSON-formaterad sträng eller skapa en JSON-fil. I det här exemplet använder vi en JSON-formaterad sträng. PowerShell-escape-tecknet för citattecknen är backtick-tecknet (`). Backticken används också för radfortsättning så att kommandon kan använda flera rader.
Syntaxen för den JSON-formaterade strängen är följande:
För läsbarhet använder den slutförda JSON-strängen backtick för radfortsättning. Värdena lagras i variabeln $params och används i distributionskommandot. Parametrarna i JSON-strängen krävs för att distribuera de hanterade resurserna.
Parametrarna för att skapa de hanterade resurserna:
appServicePlanName: Skapa ett plannamn. Högst 40 alfanumeriska tecken och bindestreck. Till exempel demoAppServicePlan. App Service-plannamn måste vara unika i en resursgrupp i din prenumeration.
appServiceNamePrefix: Skapa ett prefix för plannamnet. Högst 47 alfanumeriska tecken eller bindestreck. Till exempel demoApp. Under distributionen sammanfogas prefixet med en unik sträng för att skapa ett namn som är globalt unikt i Hela Azure.
storageAccountNamePrefix: Använd endast gemener och siffror och högst 11 tecken. Till exempel demostg1234. Under distributionen sammanfogas prefixet med en unik sträng för att skapa ett globalt unikt namn i Azure. Även om du skapar ett prefix söker kontrollen efter befintliga namn i Azure och kan skicka ett verifieringsmeddelande om att namnet redan finns. I så fall väljer du ett annat prefix.
storageAccountType: Alternativen är Premium_LRS, Standard_LRS och Standard_GRS.
Skapa en resursgrupp för distributionen av det hanterade programmet.
az group create --name applicationGroup --location westus
Du måste också skapa ett namn och en sökväg för resursgruppen för det hanterade programmet. Resursgruppen skapas när du distribuerar det hanterade programmet.
Kör följande kommandon för att skapa sökvägen till den hanterade resursgruppen.
Variablerna $mrgprefix och $mrgtimestamp sammanfogas och lagras i variabeln $mrgname . Variabelns värde är i formatet mrg-sampleManagedApplication-20230512103059. Variabeln mrgname och subid sammanfogas för att skapa variabelvärdet mrgpath som skapar den hanterade resursgruppen under distributionen.
Du måste ange flera parametrar för distributionskommandot för det hanterade programmet. Du kan använda en JSON-formaterad sträng eller skapa en JSON-fil. I det här exemplet använder vi en JSON-formaterad sträng. I Bash är escape-tecknet för citattecken omvänt snedstreck (\). Omvänt snedstreck används också för radfortsättning så att kommandon kan använda flera rader.
Syntaxen för den JSON-formaterade strängen är följande:
För läsbarhet använder den färdiga JSON-strängen omvänt snedstreck för radfortsättning. Värdena lagras i variabeln params och används i distributionskommandot. Parametrarna i JSON-strängen krävs för att distribuera de hanterade resurserna.
Parametrarna för att skapa de hanterade resurserna:
appServicePlanName: Skapa ett plannamn. Högst 40 alfanumeriska tecken och bindestreck. Till exempel demoAppServicePlan. App Service-plannamn måste vara unika i en resursgrupp i din prenumeration.
appServiceNamePrefix: Skapa ett prefix för plannamnet. Högst 47 alfanumeriska tecken eller bindestreck. Till exempel demoApp. Under distributionen sammanfogas prefixet med en unik sträng för att skapa ett namn som är globalt unikt i Hela Azure.
storageAccountNamePrefix: Använd endast gemener och siffror och högst 11 tecken. Till exempel demostg1234. Under distributionen sammanfogas prefixet med en unik sträng för att skapa ett globalt unikt namn i Azure. Även om du skapar ett prefix söker kontrollen efter befintliga namn i Azure och kan skicka ett verifieringsmeddelande om att namnet redan finns. I så fall väljer du ett annat prefix.
storageAccountType: Alternativen är Premium_LRS, Standard_LRS och Standard_GRS.
Ange värden för fliken Grundläggande och välj Nästa.
Prenumeration: Välj den prenumeration där du vill distribuera det hanterade programmet.
Resursgrupp: Välj resursgruppen. I det här exemplet skapar du en resursgrupp med namnet applicationGroup.
Region: Välj den plats där du vill distribuera resursen.
Programnamn: Ange ett namn för ditt hanterade program. I det här exemplet använder du demoManagedApplication.
Hanterad resursgrupp: Namnet på den hanterade resursgrupp som innehåller de resurser som distribueras för det hanterade programmet. Standardnamnet är i formatet mrg-{definitionName}-{dateTime} men du kan ändra namnet.
Ange värden för fliken Webbappinställningar och välj Nästa.
App Service-plannamn: Skapa ett plannamn. Högst 40 alfanumeriska tecken och bindestreck. Till exempel demoAppServicePlan. App Service-plannamn måste vara unika i en resursgrupp i din prenumeration.
Prefix för App Service-namn: Skapa ett prefix för plannamnet. Högst 47 alfanumeriska tecken eller bindestreck. Till exempel demoApp. Under distributionen sammanfogas prefixet med en unik sträng för att skapa ett namn som är globalt unikt i Hela Azure.
Ange ett prefix för lagringskontots namn och välj typ av lagringskonto. Välj Nästa.
Prefix för lagringskontonamn: Använd endast gemener och siffror och högst 11 tecken. Till exempel demostg1234. Under distributionen sammanfogas prefixet med en unik sträng för att skapa ett globalt unikt namn i Azure. Även om du skapar ett prefix söker kontrollen efter befintliga namn i Azure och kan skicka ett verifieringsmeddelande om att namnet redan finns. I så fall väljer du ett annat prefix.
Typ av lagringskonto: Välj Ändra typ för att välja en lagringskontotyp. Standardvärdet är Standard_LRS. De andra alternativen är Premium_LRS, Standard_LRS och Standard_GRS.
Parametrarna som används i distributionskommandot:
name: Ange ett namn för det hanterade programmet. I det här exemplet använder du demoManagedApplication.
resource-group: Namnet på resursgruppen som du skapade för det hanterade programmet.
location: Ange region för resursdistribution. I det här exemplet använder du westus.
managed-rg-id: Använder $mrgpath variabelns värde. Den hanterade resursgruppen skapas när det hanterade programmet distribueras.
managedapp-definition-id: Använder $definitionid variabelns värde för den hanterade programdefinitionens resurs-ID.
kind: Anger den typen av hanterat program. I det här exemplet används ServiceCatalog.
parameters: Använder $params variabelns värde i den JSON-formaterade strängen.
Granska sammanfattningen av de värden som du har valt och kontrollera att inga fel visas. Välj Skapa för att distribuera det hanterade programmet.
Visa resultat
När det hanterade tjänstkatalogprogrammet har distribuerats har du två nya resursgrupper. En resursgrupp innehåller det hanterade programmet. Den andra resursgruppen innehåller de hanterade resurser som har distribuerats. I det här exemplet ett App Service-, App Service-plan- och lagringskonto.
Hanterat program
När distributionen är klar kan du kontrollera statusen för det hanterade programmet.
Kör följande kommando för att kontrollera statusen för det hanterade programmet.
az managedapp list --resource-group applicationGroup
Följande kommando parsar data om det hanterade programmet för att endast visa programmets namn och etableringstillstånd.
az managedapp list --resource-group applicationGroup --query "[].{Name:name, provisioningState:provisioningState}"
Gå till resursgruppen med namnet applicationGroup och välj Översikt. Resursgruppen innehåller ditt hanterade program med namnet demoManagedApplication.
Välj namnet på det hanterade programmet för att få mer information som länken till den hanterade resursgruppen.
Hanterade resurser
Du kan visa de resurser som distribuerats till den hanterade resursgruppen.
Kör följande kommando för att visa den hanterade resursgruppens resurser. Du skapade variabeln $mrgname när du skapade parametrarna.
Get-AzResource -ResourceGroupName $mrgname
Så här visar du alla rolltilldelningar för den hanterade resursgruppen.
Get-AzRoleAssignment -ResourceGroupName $mrgname
Den definition av hanterade program som du skapade i snabbstartsartiklarna använde en grupp med rolltilldelningen Ägare. Du kan visa gruppen med följande kommando.
Du kan också lista neka tilldelningar för den hanterade resursgruppen.
Get-AzDenyAssignment -ResourceGroupName $mrgname
Kör följande kommando för att visa den hanterade resursgruppens resurser. Du skapade variabeln $mrgname när du skapade parametrarna.
az resource list --resource-group $mrgname
Kör följande kommando för att visa endast namn, typ och etableringstillstånd för de hanterade resurserna.
az resource list --resource-group $mrgname --query "[].{Name:name, Type:type, provisioningState:provisioningState}"
Kör följande kommando för att visa rolltilldelningen för den grupp som användes i det hanterade programmets definition.
az role assignment list --resource-group $mrgname
Följande kommando parsar data för gruppens rolltilldelning.
az role assignment list --resource-group $mrgname --role Owner --query "[].{ResourceGroup:resourceGroup, GroupName:principalName, RoleDefinition:roleDefinitionId, Role:roleDefinitionName}"
Om du vill granska den hanterade resursgruppens nekandetilldelningar använder du Azure-portalen eller Azure PowerShell-kommandona.
Gå till den hanterade resursgruppen med namnet mrg-sampleManagedApplication och välj Översikt för att visa de resurser som distribuerades. Resursgruppen innehåller ett App Service-, App Service-plan- och lagringskonto.
Den hanterade resursgruppen och varje resurs som skapats av det hanterade programmet har en rolltilldelning. När du använde en snabbstartsartikel för att skapa definitionen skapade du en Microsoft Entra-grupp. Den gruppen användes i definitionen för det hanterade programmet. När du distribuerade det hanterade programmet lades en rolltilldelning för den gruppen till i de hanterade resurserna.
Så här ser du rolltilldelningen från Azure-portalen:
Gå till resursgruppen mrg-sampleManagedApplication .
Välj Åtkomstkontroll (IAM)>Rolltilldelningar.
Du kan också visa resursens Neka tilldelningar.
Rolltilldelningen ger programmets utgivare åtkomst till att hantera lagringskontot. I det här exemplet kan utgivaren vara din IT-avdelning. Neka tilldelningar hindrar kunder från att göra ändringar i en hanterad resurss konfiguration. Hanterade appar är utformade så att kunderna inte behöver underhålla resurserna. Neka tilldelningar exkluderar den Microsoft Entra-grupp som tilldelades i rolltilldelningar.
Rensa resurser
När du är klar med det hanterade programmet kan du ta bort resursgrupperna och ta bort alla resurser som du har skapat. I den här snabbstarten skapade du till exempel resursgrupperna applicationGroup och en hanterad resursgrupp med prefixet mrg-sampleManagedApplication.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i: https://aka.ms/ContentUserFeedback.