Se connecter à Azure Resource Manager sur votre appareil Azure Stack Edge
S’APPLIQUE À : Azure Stack Edge Pro : GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
Azure Resource Manager fournit une couche de gestion qui vous permet de créer, mettre à jour et supprimer des ressources dans votre abonnement Azure. L’appareil Azure Stack Edge prend en charge les mêmes API Azure Resource Manager pour créer, mettre à jour et supprimer des machines virtuelles dans un abonnement local. Cette prise en charge vous permet de gérer l’appareil d’une manière cohérente avec le cloud.
Cet article explique comment se connecter aux API locales sur votre appareil Azure Stack Edge via Azure Resource Manager à l’aide d’Azure PowerShell.
Point de terminaison sur l’appareil Azure Stack Edge
Le tableau suivant récapitule les différents points de terminaison exposés sur votre appareil, les protocoles pris en charge et les ports pour accéder à ces points de terminaison. Des références à ces points de terminaison sont disponibles tout au long de l’article.
# | Point de terminaison | Protocoles pris en charge | Port utilisé | Utilisé pour |
---|---|---|---|---|
1. | Azure Resource Manager | https | 443 | Pour se connecter à Azure Resource Manager pour l’automatisation |
2. | Service d’émission de jeton de sécurité | https | 443 | Pour s’authentifier via des jetons d’accès et d’actualisation |
3. | Blob* | httpsà e | 443 | Pour se connecter au service Stockage Blob via REST |
* La connexion au point de terminaison du stockage Blob n’est pas nécessaire pour se connecter à Azure Resource Manager.
Connexion au flux de travail Azure Resource Manager
Le processus de connexion aux API locales de l’appareil à l’aide d’Azure Resource Manager nécessite les étapes suivantes :
N° de l’étape | Effectuez cette étape... | .. à cet emplacement. |
---|---|---|
1. | Configurer votre appareil Azure Stack Edge | Interface utilisateur web locale |
2. | Créer et installer des certificats | Client Windows/interface utilisateur web locale |
3. | Examiner les conditions préalables et configurer en conséquence | Client Windows |
4. | Configurer Azure PowerShell sur le client | Client Windows |
5. | Modifier le fichier hôte pour la résolution de nom de point de terminaison | Client Windows ou serveur DNS |
6. | Vérifier que le nom du point de terminaison est résolu | Client Windows |
7. | Utiliser des cmdlets Azure PowerShell pour vérifier la connexion à Azure Resource Manager | Client Windows |
Les sections suivantes décrivent chacune des étapes ci-dessus de connexion à Azure Resource Manager.
Prérequis
Avant de commencer, assurez-vous que le client utilisé pour se connecter à l’appareil via Azure Resource Manager utilise le protocole TLS 1.2. Pour plus d’informations, accédez à Configurer le protocole TLS 1.2 sur le client Windows accédant à l’appareil Azure Stack Edge.
Étape 1 : configurer un appareil Azure Stack Edge
Suivez les étapes suivantes dans l’interface utilisateur web locale de votre appareil Azure Stack Edge.
Définissez les paramètres réseau de votre appareil Azure Stack Edge.
Prenez note de l’adresse IP de l’appareil. Vous allez utiliser cette adresse IP ultérieurement.
Configurez le nom de l’appareil et le domaine DNS à partir de la page Appareil. Notez le nom de l’appareil et le domaine DNS, car vous allez les utiliser ultérieurement.
Important
Le nom de l’appareil et le domaine DNS seront utilisés pour former les points de terminaison exposés. Utilisez les points de terminaison Azure Resource Manager et Blob de la page Appareil de l’interface utilisateur web locale.
Étape 2 : créer et installer les certificats
Les certificats garantissent que votre communication est approuvée. Sur votre appareil Azure Stack Edge, l’appliance auto-signée, le blob et les certificats Azure Resource Manager sont générés automatiquement. Si vous le souhaitez, vous pouvez également insérer votre propre blob signé ainsi que vos certificats Azure Resource Manager.
Lorsque vous apportez votre propre certificat signé, vous avez également besoin de la chaîne de signature correspondante du certificat. Pour la chaîne de signature, Azure Resource Manager et les certificats de blob sur l’appareil, il vous faut les certificats correspondants sur l’ordinateur client pour vous authentifier et communiquer avec l’appareil.
Pour vous connecter à Azure Resource Manager, vous devez créer ou obtenir des certificats de chaîne de signature et de point de terminaison, importer ces certificats sur votre client Windows, puis charger ces certificats sur l’appareil.
Créer des certificats
À des fins de développement ou de test uniquement, vous pouvez utiliser Windows PowerShell pour créer des certificats sur votre système local. Lors de la création des certificats pour le client, suivez les instructions suivantes :
Vous commencer par créer un certificat racine pour la chaîne de signature. Pour plus d’informations, consultez les étapes à suivre pour Créer des certificats de chaîne de signature.
Vous pouvez ensuite créer les certificats de point de terminaison pour Azure Resource Manager et le blob (facultatif). Vous pouvez accéder à ces points de terminaison à partir de la page Appareil dans l’interface utilisateur web locale. Consultez les étapes à suivre pour Créer des certificats de point de terminaison.
Pour tous ces certificats, assurez-vous que le nom de l’objet et l’autre nom de l’objet sont conformes aux recommandations suivantes :
Type Nom de l’objet (SN) Autre nom de l’objet (SAN) Exemple de nom de sujet Azure Resource Manager management.<Device name>.<Dns Domain>
login.<Device name>.<Dns Domain>
management.<Device name>.<Dns Domain>
management.mydevice1.microsoftdatabox.com
Stockage blob* *.blob.<Device name>.<Dns Domain>
*.blob.< Device name>.<Dns Domain>
*.blob.mydevice1.microsoftdatabox.com
Certificat unique à plusieurs SAN pour les deux points de terminaison <Device name>.<dnsdomain>
login.<Device name>.<Dns Domain>
management.<Device name>.<Dns Domain>
*.blob.<Device name>.<Dns Domain>
mydevice1.microsoftdatabox.com
* Le stockage blob n’est pas nécessaire pour se connecter à Azure Resource Manager. Il est répertorié au cas où vous créez des comptes de stockage locaux sur votre appareil.
Pour plus d’informations sur les certificats, consultez la procédure Charger des certificats sur votre appareil et importer des certificats sur les clients qui accèdent à votre appareil.
Charger des certificats sur l’appareil
Les certificats créés à l’étape précédente se trouvent dans le magasin personnel sur votre client. Ces certificats doivent être exportés sur votre client dans des fichiers de format appropriés qui peuvent ensuite être chargés sur votre appareil.
Le certificat racine doit être exporté sous la forme d’un fichier de format DER avec l’extension .cer. Pour obtenir des instructions détaillées, consultez Exporter des certificats au format .cer.
Les certificats de point de terminaison doivent être exportés en tant que fichiers .pfx avec des clés privées. Pour obtenir des instructions détaillées, consultez Exporter des certificats en tant que fichiers .pfx avec des clés privées.
Les certificats racines et de point de terminaison sont ensuite chargés sur l’appareil à l’aide de l’option + Ajouter un certificat dans la page Certificats de l’interface utilisateur web locale. Pour charger les certificats, suivez les étapes décrites dans la section Charger des certificats.
Importer des certificats sur le client exécutant Azure PowerShell
Le client Windows dans lequel vous appelez des API Azure Resource Manager doit établir la confiance avec l’appareil. À cette fin, les certificats que vous avez créés à l’étape précédente doivent être importés sur votre client Windows dans le magasin de certificats approprié.
Le certificat racine que vous avez exporté au format DER avec l’extension .cer doit maintenant être importé dans les Autorités de certification racine approuvées sur votre système client. Pour obtenir des instructions détaillées, consultez Importer des certificats dans le magasin Autorités de certification racine approuvées.
Les certificats de point de terminaison que vous avez exportés dans un fichier de format .pfx doivent être exportés dans un fichier de format .cer. Ce fichier .cer est ensuite importé dans le magasin de certificats Personnel sur votre système. Pour obtenir des instructions détaillées, consultez Importer des certificats dans le magasin personnel.
Étape 3 : installer PowerShell sur le client
Votre client Windows doit remplir les conditions préalables suivantes :
Exécutez Windows PowerShell 5.1. Vous devez avoir Windows PowerShell 5.1. Pour vérifier la version de PowerShell installée sur votre système, exécutez la cmdlet suivante :
$PSVersionTable.PSVersion
Comparez la version Principale et assurez-vous qu’il s’agit de la version 5.1 ou d’une version ultérieure.
Si vous avez une version obsolète, voir Mise à niveau de la version existante de Windows PowerShell.
Si vous n’avez pas PowerShell 5.1, suivez les instructions d’Installation de PowerShell.
Voici un exemple de sortie obtenue.
Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. Try the new cross-platform PowerShell https://aka.ms/pscore6 PS C:\windows\system32> $PSVersionTable.PSVersion Major Minor Build Revision ----- ----- ----- -------- 5 1 19041 906
Vous pouvez accéder à la PowerShell Gallery.
Démarrez PowerShell en tant qu'administrateur. Vérifiez que la version PowerShellGet est antérieure à 2.2.3. Vérifiez également que la
PSGallery
est inscrite en tant que référentiel.Install-Module PowerShellGet -MinimumVersion 2.2.3 Import-Module -Name PackageManagement -ErrorAction Stop Get-PSRepository -Name "PSGallery"
Voici un exemple de sortie obtenue.
PS C:\windows\system32> Install-Module PowerShellGet -MinimumVersion 2.2.3 PS C:\windows\system32> Import-Module -Name PackageManagement -ErrorAction Stop PS C:\windows\system32> Get-PSRepository -Name "PSGallery" Name InstallationPolicy SourceLocation ---- ------------------ -------------- PSGallery Trusted https://www.powershellgallery.com/api/v2
Si votre référentiel n’est pas approuvé ou si vous avez besoin d’informations supplémentaires, consultez Vérifier l’accessibilité de PowerShell Gallery.
Étape 4 : Configurer Azure PowerShell sur le client
Installez sur votre client des modules Azure PowerShell qui fonctionnent sur votre appareil.
Exécutez PowerShell ISE en tant qu’administrateur. Vous devez avoir accès à la galerie PowerShell.
Vérifiez tout d’abord qu’il n’existe aucune version de modules
AzureRM
etAz
sur votre client. Pour vérifier, exécutez les commandes suivantes :# Check existing versions of AzureRM modules Get-InstalledModule -Name AzureRM -AllVersions # Check existing versions of Az modules Get-InstalledModule -Name Az -AllVersions
S’il existe des versions, utilisez le cmdlet
Uninstall-Module
pour les désinstaller. Pour plus d’informations, consultez la rubriquePour installer les modules Azure PowerShell requis à partir de la PowerShell Gallery, exécutez la commande suivante :
Si votre client utilise PowerShell Core 7.0 ou une version ultérieure :
# Install the Az.BootStrapper module. Select Yes when prompted to install NuGet. Install-Module -Name Az.BootStrapper # Install and import the API Version Profile into the current PowerShell session. Use-AzProfile -Profile 2020-09-01-hybrid -Force # Confirm the installation of PowerShell Get-Module -Name "Az*" -ListAvailable
Si votre client utilise PowerShell 5.1 ou une version ultérieure :
#Install the Az module version 1.10.0 Install-Module -Name Az -RequiredVersion 1.10.0
Assurez-vous que la version appropriée du module Az s’exécute à la fin de l’installation.
Si vous avez utilisé PowerShell 7 ou une version ultérieure, l’exemple de sortie suivant indique une installation réussie des modules Az version 2.0.1 (ou ultérieure).
PS C:\windows\system32> Install-Module -Name Az.BootStrapper PS C:\windows\system32> Use-AzProfile -Profile 2020-09-01-hybrid -Force Loading Profile 2020-09-01-hybrid PS C:\windows\system32> Get-Module -Name "Az*" -ListAvailable
Si vous avez utilisé PowerShell 5.1 ou une version ultérieure, l’exemple de sortie suivant indique une installation réussie des modules Az version 1.10.0 (ou ultérieure).
PS C:\WINDOWS\system32> Get-InstalledModule -Name Az -AllVersions Version Name Repository Description ------- ---- ---------- ----------- 1.10.0 Az PSGallery Mic... PS C:\WINDOWS\system32>
Étape 5 : Modifier le fichier d’hébergement pour la résolution du nom du point de terminaison
Vous devez maintenant ajouter l’adresse IP de l’appareil à :
- Le fichier d’hôte sur le client, OU,
- configuration du serveur DNS.
Important
Nous vous recommandons de modifier la configuration du serveur DNS pour la résolution des noms de points de terminaison.
Sur le client Windows utilisé pour vous connecter à l’appareil, procédez comme suit :
Démarrez le Bloc-notes en tant qu’administrateur, puis ouvrez le fichier hosts qui se trouve dans C:\Windows\System32\Drivers\etc.
Ajoutez les entrées suivantes à votre fichier hosts, en les remplaçant par les valeurs appropriées pour votre appareil :
<Device IP> login.<appliance name>.<DNS domain> <Device IP> management.<appliance name>.<DNS domain> <Device IP> <storage name>.blob.<appliance name>.<DNS domain>
Important
L’entrée dans le fichier hosts doit correspondre exactement à celle fournie pour se connecter à Azure Resource Manager à une étape ultérieure. Assurez-vous que l’entrée Domaine DNS ici est entièrement en minuscules. Pour obtenir les valeurs de
<appliance name>
et<DNS domain>
, accédez à la page Appareil dans l’interface utilisateur locale de votre appareil.Vous avez enregistré l’adresse IP de l’appareil à partir de l’interface utilisateur web locale lors d’une étape précédente.
L’entrée
login.<appliance name>.<DNS domain>
est le point de terminaison du service d’émission de jeton de sécurité (STS). STS est responsable de la création, de la validation, du renouvellement et de l’annulation des jetons de sécurité. Le service d’émission de jeton de sécurité est utilisé pour créer le jeton d’accès et le jeton d’actualisation utilisés pour la communication continue entre l’appareil et le client.Le point de terminaison du stockage blob est facultatif lors de la connexion à Azure Resource Manager. Ce point de terminaison est nécessaire pour transférer des données vers Azure via des comptes de stockage.
Pour référence, utilisez l’image suivante. Enregistrez le fichier hosts.
Étape 6 : Vérifier la résolution du nom du point de terminaison sur le client
Vérifiez la résolution du nom du point de terminaison sur le client utilisé pour vous connecter à l’appareil.
Vous pouvez vous servir de l’utilitaire de ligne de commande
ping.exe
pour vérifier que le nom du point de terminaison est résolu. À partir d’une adresse IP donnée, la commandeping
renvoie le nom de l’hôte TCP/IP de l’ordinateur que vous suivez.Ajoutez le commutateur
-a
à la ligne de commande, comme dans l’exemple ci-dessous. Si le nom d’hôte peut être retourné, la commande le retourne également cette information potentiellement précieuse dans la réponse.
Étape 7 : définir un environnement Azure Resource Manager
Définissez l’environnement Azure Resource Manager et vérifiez que la communication de votre appareil avec le client via Azure Resource Manager fonctionne correctement. Pour effectuer cette vérification, procédez comme suit :
Utilisez la cmdlet
Add-AzEnvironment
pour vérifier que la communication via Azure Resource Manager fonctionne correctement et que les appels d’API transitent par le port dédié pour Azure Resource Manager (443).La cmdlet
Add-AzEnvironment
ajoute des points de terminaison et des métadonnées pour permettre aux cmdlets d’Azure Resource Manager de se connecter à une nouvelle instance d’Azure Resource Manager.Important
L’URL de point de terminaison d’Azure Resource Manager que vous fournissez dans la cmdlet suivante respecte la casse. Assurez-vous que l’URL de point de terminaison est entièrement en minuscules et qu’elle correspond à ce que vous avez fourni dans le fichier hosts. Si la casse ne correspond pas, une erreur s’affiche.
Add-AzEnvironment -Name <Environment Name> -ARMEndpoint "https://management.<appliance name>.<DNSDomain>/"
Voici un exemple de sortie obtenue :
PS C:\WINDOWS\system32> Add-AzEnvironment -Name AzASE -ARMEndpoint "https://management.myasegpu.wdshcsso.com/" Name Resource Manager Url ActiveDirectory Authority ---- -------------------- ------------------------- AzASE https://management.myasegpu.wdshcsso.com/ https://login.myasegpu.wdshcsso.c...
Pour l’environnement, définissez Azure Stack Edge, et pour le port à utiliser pour les appels à Azure Resource Manager, définissez le port 443. Vous définissez l’environnement de deux manières :
Définissez l’environnement. Tapez la commande suivante :
Set-AzEnvironment -Name <Environment Name>
Voici un exemple de sortie.
PS C:\WINDOWS\system32> Set-AzEnvironment -Name AzASE Name Resource Manager Url ActiveDirectory Authority ---- -------------------- ------------------------- AzASE https://management.myasegpu.wdshcsso.com/ https://login.myasegpu.wdshcsso.c...
Pour plus d’informations, accédez à Set-AzEnvironment.
Définissez l’environnement inclus pour chaque cmdlet que vous exécutez. Cela permet de s’assurer que tous les appels d’API transitent par l’environnement approprié. Par défaut, les appels transitent par le cloud public Azure, mais vous souhaitez qu’ils transitent par l’environnement que vous avez défini pour l’appareil Azure Stack Edge.
Pour plus d’informations sur la manière de changer d’environnement, consultez Changer d’environnement Az.
Appelez les API de l’appareil local pour authentifier les connexions à Azure Resource Manager.
Ces informations d’identification sont destinées à un compte d’ordinateur local et sont uniquement utilisées pour l’accès d’API.
Vous pouvez vous connecter via
login-AzAccount
ou la commandeConnect-AzAccount
.Pour vous connecter, entrez la commande suivante.
$pass = ConvertTo-SecureString "<Your password>" -AsPlainText -Force; $cred = New-Object System.Management.Automation.PSCredential("EdgeArmUser", $pass) Connect-AzAccount -EnvironmentName AzASE -TenantId aaaabbbb-0000-cccc-1111-dddd2222eeee -credential $cred
Utilisez l’ID de locataire aaaabbbb-0000-cccc-1111-dd222eeee comme dans cette instance, il est codé en dur. Utilisez le nom d’utilisateur et le mot de passe suivants.
Nom d’utilisateur - EdgeArmUser
Mot de passe - Définissez le mot de passe pour Azure Resource Manager, puis utiliser ce mot de passe pour vous connecter.
Voici un exemple de sortie pour le
Connect-AzAccount
:PS C:\windows\system32> $pass = ConvertTo-SecureString "<Your password>" -AsPlainText -Force; PS C:\windows\system32> $cred = New-Object System.Management.Automation.PSCredential("EdgeArmUser", $pass) PS C:\windows\system32> Connect-AzAccount -EnvironmentName AzASE -TenantId aaaabbbb-0000-cccc-1111-dddd2222eeee -credential $cred Account SubscriptionName TenantId Environment ------- ---------------- -------- ----------- EdgeArmUser@localhost Default Provider Subscription aaaabbbb-0000-cccc-1111-dddd2222eeee AzASE PS C:\windows\system32>
Une autre façon de se connecter consiste à utiliser la cmdlet
login-AzAccount
.login-AzAccount -EnvironmentName <Environment Name> -TenantId aaaabbbb-0000-cccc-1111-dddd2222eeee
Voici un exemple de sortie.
PS C:\WINDOWS\system32> login-AzAccount -EnvironmentName AzASE -TenantId aaaabbbb-0000-cccc-1111-dddd2222eeee Account SubscriptionName TenantId ------- ---------------- -------- EdgeArmUser@localhost Default Provider Subscription c0257de7-538f-415c-993a-1b87a... PS C:\WINDOWS\system32>
Pour vérifier que la connexion à l’appareil fonctionne, utilisez la commande
Get-AzResource
. Cette commande doit retourner toutes les ressources qui existent localement sur l’appareil.Voici un exemple de sortie.
PS C:\WINDOWS\system32> Get-AzResource Name : aseimagestorageaccount ResourceGroupName : ase-image-resourcegroup ResourceType : Microsoft.Storage/storageaccounts Location : dbelocal ResourceId : /subscriptions/.../resourceGroups/ase-image-resourcegroup/providers/Microsoft.Storage/storageac counts/aseimagestorageaccount Tags : Name : myaselinuxvmimage1 ResourceGroupName : ASERG ResourceType : Microsoft.Compute/images Location : dbelocal ResourceId : /subscriptions/.../resourceGroups/ASERG/providers/Microsoft.Compute/images/myaselinuxvmimage1 Tags : Name : ASEVNET ResourceGroupName : ASERG ResourceType : Microsoft.Network/virtualNetworks Location : dbelocal ResourceId : /subscriptions/.../resourceGroups/ASERG/providers/Microsoft.Network/virtualNetworks/ASEVNET Tags : PS C:\WINDOWS\system32>
Si vous rencontrez des problèmes avec vos connexions Azure Resource Manager, consultez Résolution des problèmes d’Azure Resource Manager pour obtenir de l’aide.
Important
La connexion à Azure Resource Manager expire toutes les 1,5 heures ou si votre appareil Azure Stack Edge redémarre. Dans ce cas, toute cmdlet que vous exécutez retourne un message d’erreur indiquant que vous n’êtes plus connecté à Azure. Vous devez vous reconnecter.
Changer d’environnements
Vous devrez peut-être basculer entre deux environnements.
Exécutez la commande Disconnect-AzAccount
pour basculer vers un autre AzEnvironment
. Si vous vous servez de Set-AzEnvironment
et Login-AzAccount
sans utiliser Disconnect-AzAccount
, l’environnement ne change pas.
Les exemples suivants montrent comment basculer entre deux environnements, AzASE1
et AzASE2
.
Tout d’abord, répertoriez tous les environnements existants sur votre client.
PS C:\WINDOWS\system32> Get-AzEnvironment
Name Resource Manager Url ActiveDirectory Authority
---- -------------------- -------------------------
AzureChinaCloud https://management.chinacloudapi.cn/ https://login.chinacloudapi.cn/
AzureCloud https://management.azure.com/ https://login.microsoftonline.com/
AzureGermanCloud https://management.microsoftazure.de/ https://login.microsoftonline.de/
AzDBE1 https://management.HVTG1T2-Test.microsoftdatabox.com https://login.hvtg1t2-test.microsoftdatabox.com/adfs/
AzureUSGovernment https://management.usgovcloudapi.net/ https://login.microsoftonline.us/
AzDBE2 https://management.CVV4PX2-Test.microsoftdatabox.com https://login.cvv4px2-test.microsoftdatabox.com/adfs/
Ensuite, accédez à l’environnement auquel vous êtes actuellement connecté par votre Azure Resource Manager.
PS C:\WINDOWS\system32> Get-AzContext |fl *
Name : Default Provider Subscription (...) - EdgeArmUser@localhost
Account : EdgeArmUser@localhost
Environment : AzDBE2
Subscription : ...
Tenant : aaaabbbb-0000-cccc-1111-dddd2222eeee
TokenCache : Microsoft.Azure.Commands.Common.Authentication.ProtectedFileTokenCache
VersionProfile :
ExtendedProperties : {}
Vous devez maintenant vous déconnecter de l’environnement actuel avant de basculer vers l’autre environnement.
PS C:\WINDOWS\system32> Disconnect-AzAccount
Id : EdgeArmUser@localhost
Type : User
Tenants : {aaaabbbb-0000-cccc-1111-dddd2222eeee}
AccessToken :
Credential :
TenantMap : {}
CertificateThumbprint :
ExtendedProperties : {[Subscriptions, ...], [Tenants, aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e]}
Connectez-vous à l’autre environnement. Voici un exemple de sortie obtenue.
PS C:\WINDOWS\system32> Login-AzAccount -Environment "AzDBE1" -TenantId $ArmTenantId
Account SubscriptionName TenantId Environment
------- ---------------- -------- -----------
EdgeArmUser@localhost Default Provider Subscription aaaabbbb-0000-cccc-1111-dddd2222eeee AzDBE1
Exécutez cette cmdlet pour vérifier l’environnement auquel vous êtes connecté.
PS C:\WINDOWS\system32> Get-AzContext |fl *
Name : Default Provider Subscription (...) - EdgeArmUser@localhost
Account : EdgeArmUser@localhost
Environment : AzDBE1
Subscription : ...
Tenant : aaaabbbb-0000-cccc-1111-dddd2222eeee
TokenCache : Microsoft.Azure.Commands.Common.Authentication.ProtectedFileTokenCache
VersionProfile :
ExtendedProperties : {}
Vous avez maintenant basculé vers l’environnement voulu.