Az Azure CLI telepítése az Azure Stack Hubban
Telepítheti az Azure CLI-t az Azure Stack Hub windowsos vagy Linux rendszerű gépeken való kezeléséhez. Ez a cikk végigvezeti az Azure CLI telepítésének és beállításának lépésein.
Telepítse az Azure CLI-t
Jelentkezzen be a fejlesztői munkaállomásra, és telepítse a parancssori felületet. Az Azure Stack Hubhoz az Azure CLI 2.0-s vagy újabb verziója szükséges.
Fontos
Mivel a CVE a 2.40.0-snál korábbi Azure CLI-verziókat érinti, már nem ajánlott az Azure CLI 2.29.2 for AD FS használata az Azure Stack Hubban. Frissíthet az Azure CLI 2.40.0-s vagy újabb verziójára. Az AD FS-ügyfelek azonban problémákba ütközhetnek a Microsoft Graph-végpontokkal kommunikáló Azure CLI-parancsokkal kapcsolatban. Ennek az az oka, hogy az AD FS nem támogatja a Microsoft Graphot. A Microsoft Graph-problémák kerülő megoldásait az Általános ismert problémák című szakaszban találja.
A PARANCSSORI-t az Azure CLI telepítése című cikk lépéseit követve telepítheti.
A telepítés sikerességének ellenőrzéséhez nyisson meg egy terminált vagy egy parancssori ablakot, és futtassa a következő parancsot:
az --version
Látnia kell az Azure CLI verzióját és a számítógépre telepített egyéb függő kódtárakat.
Jegyezze fel a parancssori felület Python-helyét.
Tanúsítvány hozzárendelése
Exportálja, majd importálja az Azure Stack Hub-tanúsítványt a leválasztott integrált rendszerekhez és az ASDK-hoz. Csatlakoztatott integrált rendszerek esetén a tanúsítvány nyilvánosan alá van írva, és erre a lépésre nincs szükség. Útmutatásért lásd: Tanúsítványok beállítása az Azure CLI-hez az Azure Stack Development Kiten.
Csatlakozás az Azure CLI-vel
- Microsoft Entra azonosító Windows rendszeren
- AD FS Windows rendszeren
- Microsoft Entra-azonosító Linuxon
- AD FS Linux
Ez a szakasz végigvezeti a parancssori felület beállításán, ha Microsoft Entra ID-t használ identitáskezelési szolgáltatásként, és parancssori felületet használ Egy Windows rendszerű gépen.
Csatlakozás az Azure Stack Hubhoz
Ha az ASDK-t használja, bízzon meg az Azure Stack Hub hitelesítésszolgáltató főtanúsítványában. Útmutatásért lásd: Megbízható a tanúsítvány.
Regisztrálja az Azure Stack Hub-környezetet a
az cloud register
parancs futtatásával.Regisztrálja a környezetet. Futtassa
az cloud register
a következő paramétereket:Érték Példa Leírás Környezet neve AzureStackUser Használja AzureStackUser
a felhasználói környezethez. Ha Ön operátor, adja meg a értéketAzureStackAdmin
.Resource Manager végpont https://management.contoso.onmicrosoft.com
Az ASDK-ban a ResourceManagerUrl a következő: https://management.local.azurestack.external/
Az integrált rendszerekben a ResourceManagerUrl :https://management.<region>.<fqdn>/
Ha kérdése van az integrált rendszervégponttal kapcsolatban, lépjen kapcsolatba a felhőszolgáltatóval.Tárolási végpont local.contoso.onmicrosoft.com local.azurestack.external
az ASDK-hoz tartozik. Integrált rendszer esetén használjon végpontot a rendszerhez.Keyvault-utótag .vault.contoso.onmicrosoft.com .vault.local.azurestack.external
az ASDK-hoz tartozik. Integrált rendszer esetén használjon végpontot a rendszerhez.Végpont Active Directory-gráf erőforrás-azonosítója https://graph.windows.net/ Az Active Directory erőforrás-azonosító. az cloud register ` -n <environmentname> ` --endpoint-resource-manager "https://management.<region>.<fqdn>" ` --suffix-storage-endpoint "<fqdn>" ` --suffix-keyvault-dns ".vault.<fqdn>"
A register parancsra vonatkozó hivatkozást az Azure CLI referenciadokumentációjában találja.
Állítsa be az aktív környezetet az alábbi parancsokkal.
az cloud set -n <environmentname>
Frissítse a környezeti konfigurációt az Azure Stack Hub-specifikus API-verzióprofil használatára. A konfiguráció frissítéséhez futtassa a következő parancsot:
az cloud update --profile 2020-09-01-hybrid
Jelentkezzen be az Azure Stack Hub-környezetbe az
az login
paranccsal.Az Azure Stack Hub-környezetbe a felhasználói hitelesítő adataival vagy a felhőszolgáltató által biztosított egyszerű szolgáltatásnévvel (SPN) jelentkezhet be.
Bejelentkezés felhasználóként:
A felhasználónevet és a jelszót közvetlenül a
az login
parancson belül adhatja meg, vagy egy böngésző használatával végezhet hitelesítést. Az utóbbit akkor kell elvégeznie, ha a fiókjában engedélyezve van a többtényezős hitelesítés:az login -u "user@contoso.onmicrosoft.com" -p 'Password123!' --tenant contoso.onmicrosoft.com
Megjegyzés
Ha a felhasználói fiókjában engedélyezve van a többtényezős hitelesítés, használja a
az login
parancsot a-u
paraméter megadása nélkül. A parancs futtatásával egy URL-címet és egy kódot kap, amelyet a hitelesítéshez kell használnia.Jelentkezzen be szolgáltatásnévként:
Bejelentkezés előtt hozzon létre egy szolgáltatásnevet a Azure Portal vagy a parancssori felületen, és rendeljen hozzá egy szerepkört. Most jelentkezzen be a következő paranccsal:
az login ` --tenant <Azure Active Directory Tenant name. ` For example: myazurestack.onmicrosoft.com> ` --service-principal ` -u <Application Id of the Service Principal> ` -p <Key generated for the Service Principal>
Ellenőrizze, hogy a környezet helyesen van-e beállítva, és hogy a környezet az aktív felhő-e.
az cloud list --output table
Látnia kell, hogy a környezet megjelenik a listában, az IsActive pedig .
true
Például:IsActive Name Profile ---------- ----------------- ----------------- False AzureCloud 2020-09-01-hybrid False AzureChinaCloud latest False AzureUSGovernment latest False AzureGermanCloud latest True AzureStackUser 2020-09-01-hybrid
Kapcsolat tesztelése
Ha minden beállítás be van állítva, a parancssori felülettel erőforrásokat hozhat létre az Azure Stack Hubon belül. Létrehozhat például egy erőforráscsoportot egy alkalmazáshoz, és hozzáadhat egy virtuális gépet. A következő paranccsal hozzon létre egy "MyResourceGroup" nevű erőforráscsoportot:
az group create -n MyResourceGroup -l local
Ha az erőforráscsoport létrehozása sikeresen megtörtént, az előző parancs az újonnan létrehozott erőforrás következő tulajdonságait adja ki:
{
"id": "/subscriptions/84edee99-XXXX-4f5c-b646-5cdab9759a03/resourceGroups/RGCL11",
"location": "local",
"name": "RGCLI1",
" properties ": {
"provisioningState": "Succeeded"
},
"tags ": null
}
Általános ismert problémák
A legtöbb probléma általános megoldása az, hogy az az rest
aktuális Azure Stack-környezetet használó parancsot használja, és REST API-hívást kezdeményez a problémához társított parancshoz. Az alábbi problémák listájában szereplő kerülő megoldások általában alkalmazhatók más Azure CLI-problémákhoz, feltéve, hogy ezeket a problémákat az Azure CLI okozza, és nem az Azure Stack Hub erőforrás-szolgáltatói vagy más Azure Stack Hub-szolgáltatások.
Microsoft Graph-problémák
Ezek az Azure Stack Hubhoz készült Azure CLI 2.40.0-s vagy újabb verziójával kapcsolatos ismert Microsoft Graph-problémák. Ez elsősorban az ADFS-környezeteket érinti, mivel nem támogatja a Microsoft Graphot.
az keyvault create
használja a Microsoft Graphot. Az alábbiakban egy példa kerülő megoldás található az ADFS-hez. A kerülő megoldás elsősorban a Azure AD Graph használatával kéri le a felhasználói adatokat, például aobjectId
Microsoft Graph helyett.# First, sign into Azure CLI account you want to create the Key Vault from. # TODO: change the principal name to name of principal you want to create the key vault with. $principalNameLike = "CloudUser*" # TODO: change location to your preference. $location = "local" $aadGraph = az cloud show --query endpoints.activeDirectoryGraphResourceId --output tsv $tenantId = az account show --query tenantId --output tsv if ($aadGraph[-1] -ne '/') { $aadGraph += '/' } $userObject = az rest --method get --url "${aadGraph}${tenantId}/users?api-version=1.6" ` | ConvertFrom-Json ` | Select-Object -ExpandProperty value ` | Where-Object {$_.userPrincipalName -like $principalNameLike} $body = '{ "location": "' + $location + '", "properties": { "tenantId": "' + $tenantId + '", "sku": { "family": "A", "name": "standard" }, "accessPolicies": [ { "tenantId": "' + $tenantId + '", "objectId": "' + $userObject.objectId + '", "permissions": { "keys": [ "get", "create", "delete", "list", "update", "import", "backup", "restore", "recover" ], "secrets": [ "get", "list", "set", "delete", "backup", "restore", "recover" ], "certificates": [ "get", "list", "delete", "create", "import", "update", "managecontacts", "getissuers", "listissuers", "setissuers", "deleteissuers", "manageissuers", "recover" ], "storage": [ "get", "list", "delete", "set", "update", "regeneratekey", "setsas", "listsas", "getsas", "deletesas" ] } } ], "enabledForDeployment": true, "enabledForTemplateDeployment": true } }' $body | Out-File -FilePath (Join-Path -Path "." -ChildPath "body.json") $resourceGroupName = "testrg123" az group create -n $resourceGroupName -l $location $armEndpoint = az cloud show --query endpoints.resourceManager --output tsv if ($armEndpoint[-1] -ne '/') { $armEndpoint += '/' } $subscriptionId = az account show --query id --output tsv $keyVaultName = "testkv123" az rest --method put --url "${armEndpoint}subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.KeyVault/vaults/${keyVaultName}?api-version=2016-10-01" --body `@body.json # OPTIONAL: test access to the Key Vault. # az keyvault secret set --name MySecretName --vault-name $keyVaultName --value MySecret
A KEY VAULT REST API-val kapcsolatos további információkért lásd a Key Vault REST API-referenciát.
Egyéb problémák
Az alábbi problémák nem korlátozódnak az Azure CLI adott verzióira vagy verzióinak tartományára.
az role assignment create
az Azure CLI jelenleg nem támogatja az Azure Stack Hubhoz egy régi API-probléma miatt. A Microsoft Entra azonosítóhoz és az ADFS-hez egyaránt az alábbi kerülő megoldás szükséges.
A szerepkör-hozzárendelés REST API-val kapcsolatos további információkért lásd a szerepkör-hozzárendeléseket ismertető cikket.# First, sign into account with access to the resource that is being given access or a role to another user. # TODO: change the principal name to name of principal you want to assign the role to. $principalNameLike = "CloudUser*" # TODO: change role name to your preference. $roleName = "Owner" # TODO: change location to your preference. $location = "local" $aadGraph = az cloud show --query endpoints.activeDirectoryGraphResourceId --output tsv $tenantId = az account show --query tenantId --output tsv if ($aadGraph[-1] -ne '/') { $aadGraph += '/' } $userObject = az rest --method get --url "${aadGraph}${tenantId}/users?api-version=1.6" ` | ConvertFrom-Json ` | Select-Object -ExpandProperty value ` | Where-Object {$_.userPrincipalName -like $principalNameLike} $roleDefinitionId = az role definition list --query "[?roleName=='${roleName}'].id" --output tsv $body = @{ properties = @{ roleDefinitionId = $roleDefinitionId principalId = $userObject.objectId } } $body | ConvertTo-Json | Out-File -FilePath (Join-Path -Path "." -ChildPath "body.json") $resourceGroupName = "testrg123" az group create -n $resourceGroupName -l $location $armEndpoint = az cloud show --query endpoints.resourceManager --output tsv if ($armEndpoint[-1] -ne '/') { $armEndpoint += '/' } $scope = az group show --name $resourceGroupName --query id --output tsv $guid = (New-Guid).ToString() az rest --method put --url "${armEndpoint}${scope}/providers/Microsoft.Authorization/roleAssignments/${guid}?api-version=2015-07-01" --body `@body.json # OPTIONAL: test access to the resource group, or use the portal. # az login -u <assigned user name> -p <assigned user password> --tenant $tenantId # Test a resource creation command in the resource group: # az network dns zone create -g $resourceGroupName -n "www.mysite.com"
Következő lépések
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: