Elavult: Bejelentkezés Linux rendszerű virtuális gépre az Azure Active Directoryval eszközkódfolyamat-hitelesítéssel

Figyelemfelhívás

A cikkben ismertetett nyilvános előzetes verziójú funkció 2021. augusztus 15-én elavult.

Ezt a funkciót felváltja a Azure AD-alapú SSH használata openSSH-tanúsítványalapú hitelesítéssel. Ez a funkció mostantól általánosan elérhető! További információ: Bejelentkezés Linux rendszerű virtuális gépre az Azure Active Directoryval SSH-tanúsítványalapú hitelesítéssel. Ha a régi verzióról erre a verzióra szeretne migrálni, olvassa el az Áttelepítés az előző (előzetes verzió) verzióról című témakört.

Az Azure-beli Linux rendszerű virtuális gépek (VM-ek) biztonságának javítása érdekében integrálhatja az Azure Active Directory- (AD-) hitelesítést. Ha Azure AD-hitelesítést használ Linux rendszerű virtuális gépekhez, központilag szabályozhatja és kényszerítheti azokat a szabályzatokat, amelyek engedélyezik vagy megtagadják a virtuális gépekhez való hozzáférést. Ez a cikk bemutatja, hogyan hozhat létre és konfigurálhat Linux rendszerű virtuális gépeket Azure AD hitelesítés használatára.

Az Azure-beli Linux rendszerű virtuális gépekre való bejelentkezésnek számos előnye van Azure AD-hitelesítéssel, például:

  • Nagyobb biztonság:

    • A vállalati AD-hitelesítő adataival bejelentkezhet Azure Linux rendszerű virtuális gépekre. Nincs szükség helyi rendszergazdai fiókok létrehozására és a hitelesítő adatok élettartamának kezelésére.
    • A helyi rendszergazdai fiókokra való támaszkodás csökkentésével nem kell aggódnia a hitelesítő adatok elvesztése/ellopása miatt, valamint a gyenge hitelesítő adatokat konfiguráló felhasználók miatt.
    • A Azure AD-címtárhoz konfigurált jelszóbonyolultsági és jelszó-élettartam-szabályzatok a Linux rendszerű virtuális gépek biztonságát is segítik.
    • Az Azure-beli virtuális gépekre való bejelentkezés további biztonságossá tételéhez konfigurálhatja a többtényezős hitelesítést.
    • A Linux rendszerű virtuális gépekre az Azure Active Directoryval való bejelentkezés az összevonási szolgáltatásokat használó ügyfelek számára is működik.
  • Zökkenőmentes együttműködés: Az Azure szerepköralapú hozzáférés-vezérlésével (Azure RBAC) megadhatja, hogy ki jelentkezhet be egy adott virtuális gépre normál felhasználóként vagy rendszergazdai jogosultságokkal. Amikor a felhasználók csatlakoznak a csoporthoz, vagy elhagyják a csoportot, frissítheti a virtuális gép Azure RBAC-szabályzatát, hogy a megfelelő hozzáférést biztosítsa. Ez a felület sokkal egyszerűbb, mint a virtuális gépek megtisztítása a szükségtelen nyilvános SSH-kulcsok eltávolításához. Amikor az alkalmazottak elhagyják a szervezetet, és a felhasználói fiókjuk le van tiltva vagy el lesz távolítva Azure AD, többé nem férhetnek hozzá az Ön erőforrásaihoz.

Támogatott Azure-régiók és Linux-disztribúciók

A funkció előzetes verziója jelenleg a következő Linux-disztribúciókat támogatja:

Disztribúció Verzió
CentOS CentOS 6, CentOS 7
Debian Debian 9
openSUSE openSUSE Leap 42.3
RedHat Enterprise Linux RHEL 6, RHEL 7
SUSE Linux Enterprise Server SLES 12
Ubuntu Server Ubuntu 14.04 LTS, Ubuntu Server 16.04 és Ubuntu Server 18.04

Fontos

Az előzetes verzió nem támogatott Azure Government vagy szuverén felhőkben.

Ez a bővítmény nem használható Azure Kubernetes Service (AKS-) fürtökön. További információ: Támogatási szabályzatok az AKS-hez.

Ha a parancssori felület helyi telepítését és használatát választja, ehhez az oktatóanyaghoz az Azure CLI 2.0.31-es vagy újabb verzióját kell futtatnia. A verzió azonosításához futtassa a következőt: az --version. Ha telepíteni vagy frissíteni szeretne: Az Azure CLI telepítése.

A hálózatra vonatkozó követelmények

Ha engedélyezni szeretné Azure AD hitelesítést Linux rendszerű virtuális gépeihez az Azure-ban, győződjön meg arról, hogy a virtuális gépek hálózati konfigurációja engedélyezi a kimenő hozzáférést a következő végpontokhoz a 443-os TCP-porton keresztül:

  • https://login.microsoftonline.com
  • https://login.windows.net
  • https://device.login.microsoftonline.com
  • https://pas.windows.net
  • https://management.azure.com
  • https://packages.microsoft.com

Megjegyzés

Az Azure hálózati biztonsági csoportjai jelenleg nem konfigurálhatók Azure AD hitelesítéssel engedélyezett virtuális gépekhez.

Linux rendszerű virtuális gép létrehozása

Hozzon létre egy erőforráscsoportot az az group create paranccsal, majd hozzon létre egy virtuális gépet az az vm create paranccsal egy támogatott disztribúcióval és egy támogatott régióban. Az alábbi példa egy myVM nevű virtuális gépet helyez üzembe, amely Ubuntu 16.04 LTS-t használ egy myResourceGroup nevű erőforráscsoportban a southcentralus régióban. Az alábbi példákban igény szerint megadhatja saját erőforráscsoportját és virtuálisgép-nevét.

az group create --name myResourceGroup --location southcentralus

az vm create \
    --resource-group myResourceGroup \
    --name myVM \
    --image UbuntuLTS \
    --admin-username azureuser \
    --generate-ssh-keys

A virtuális gép és a kapcsolódó erőforrások létrehozása csak néhány percet vesz igénybe.

A Azure AD bejelentkezési virtuálisgép-bővítmény telepítése

Megjegyzés

Ha ezt a bővítményt egy korábban létrehozott virtuális gépen helyezi üzembe, győződjön meg arról, hogy a gép legalább 1 GB memóriával rendelkezik, különben a bővítmény telepítése sikertelen lesz.

Ha Azure AD hitelesítő adatokkal szeretne bejelentkezni egy Linux rendszerű virtuális gépre, telepítse az Azure Active Directory bejelentkezési virtuálisgép-bővítményt. A virtuálisgép-bővítmények kisméretű alkalmazások, amelyek üzembe helyezés utáni konfigurációs és automatizálási feladatokat biztosítanak az Azure-beli virtuális gépeken. Az az vm extension set használatával telepítse az AADLoginForLinux bővítményt a myResourceGrouperőforráscsoportban lévő myVM nevű virtuális gépre:

az vm extension set \
    --publisher Microsoft.Azure.ActiveDirectory.LinuxSSH \
    --name AADLoginForLinux \
    --resource-group myResourceGroup \
    --vm-name myVM

A sikeres provisioningStateérték akkor jelenik meg, ha a bővítmény sikeresen telepítve van a virtuális gépen. A bővítmény telepítéséhez a virtuális gépnek egy futó virtuálisgép-ügynökre van szüksége. További információkért lásd a virtuálisgép-ügynök áttekintését.

Szerepkör-hozzárendelések konfigurálása a virtuális géphez

Az Azure szerepköralapú hozzáférés-vezérlési (Azure RBAC) szabályzata határozza meg, hogy ki jelentkezhet be a virtuális gépre. A virtuális gépek bejelentkezésének engedélyezéséhez két Azure-szerepkör van használatban:

  • Virtuálisgép-rendszergazdai bejelentkezés: Az ezzel a szerepkörrel rendelkező felhasználók Bejelentkezhetnek egy Azure-beli virtuális gépre Windows-rendszergazdai vagy Linux-gyökérszintű felhasználói jogosultságokkal.
  • Virtuális gép felhasználói bejelentkezése: Az ezzel a szerepkörrel rendelkező felhasználók normál felhasználói jogosultságokkal jelentkezhetnek be egy Azure-beli virtuális gépre.

Megjegyzés

Ahhoz, hogy egy felhasználó SSH-val bejelentkezhessen a virtuális gépre, virtuálisgép-rendszergazdai bejelentkezési vagy virtuálisgép-felhasználói bejelentkezési szerepkört kell hozzárendelnie. A virtuálisgép-rendszergazdai bejelentkezési és virtuálisgép-felhasználói bejelentkezési szerepkörök dataActions-t használnak, így nem rendelhetők hozzá a felügyeleti csoport hatókörében. Ezek a szerepkörök jelenleg csak az előfizetés, az erőforráscsoport vagy az erőforrás hatókörében rendelhetők hozzá. A virtuális géphez hozzárendelt tulajdonosi vagy közreműködői szerepkörrel rendelkező Azure-felhasználók nem rendelkeznek automatikusan jogosultságokkal a virtuális gépre való bejelentkezéshez SSH-kapcsolaton keresztül.

Az alábbi példa az az role assignment create használatával rendeli hozzá a virtuális gép rendszergazdai bejelentkezési szerepkörét a virtuális géphez az aktuális Azure-felhasználó számára. Az aktív Azure-fiók felhasználónevét az az account show használatával szerezheti be, a hatókör pedig az előző lépésben létrehozott virtuális gépre van beállítva az az vm show használatával. A hatókör erőforráscsoport vagy előfizetés szintjén is hozzárendelhető, és a normál Azure RBAC-öröklési engedélyek érvényesek. További információ: Azure RBAC.

username=$(az account show --query user.name --output tsv)
vm=$(az vm show --resource-group myResourceGroup --name myVM --query id -o tsv)

az role assignment create \
    --role "Virtual Machine Administrator Login" \
    --assignee $username \
    --scope $vm

Megjegyzés

Ha az AAD-tartomány és a bejelentkezési felhasználónév tartománya nem egyezik, a felhasználói fiók objektumazonosítóját a --assignee-object-id azonosítóval kell megadnia, nem csak a --assignee felhasználónevét. A felhasználói fiók objektumazonosítóját az az ad user listával szerezheti be.

Az Azure RBAC azure-előfizetési erőforrásokhoz való hozzáférésének kezelésével kapcsolatos további információkért tekintse meg az Azure CLI, a Azure Portal vagy a Azure PowerShell használatát.

Feltételes hozzáférés használata

Feltételes hozzáférési szabályzatokat, például többtényezős hitelesítést vagy felhasználói bejelentkezési kockázat-ellenőrzést kényszeríthet ki, mielőtt engedélyezi az Azure-beli, Azure AD bejelentkezéssel engedélyezett Linux rendszerű virtuális gépekhez való hozzáférést. A feltételes hozzáférési szabályzat alkalmazásához ki kell választania a "Microsoft Azure Linux rendszerű virtuális gép bejelentkezése" alkalmazást a felhőalkalmazások vagy műveletek hozzárendelési lehetőségéből, majd feltételként be kell jelentkeznie, és/vagy többtényezős hitelesítést kell megkövetelnie hozzáférés-vezérlésként.

Figyelmeztetés

Felhasználónként engedélyezett/kényszerített Azure AD a többtényezős hitelesítés nem támogatott a virtuális gépek bejelentkezéséhez.

Bejelentkezés a Linux rendszerű virtuális gépre

Először tekintse meg a virtuális gép nyilvános IP-címét az az vm show segítségével:

az vm show --resource-group myResourceGroup --name myVM -d --query publicIps -o tsv

Jelentkezzen be az Azure Linux rendszerű virtuális gépre a Azure AD hitelesítő adataival. A -l paraméter lehetővé teszi saját Azure AD fiókcím megadását. Cserélje le a példafiókot a sajátjára. A fiókcímeket kisbetűkben kell megadni. Cserélje le a példa IP-címet az előző parancsban szereplő virtuális gép nyilvános IP-címére.

ssh -l azureuser@contoso.onmicrosoft.com 10.11.123.456

A rendszer arra kéri, hogy jelentkezzen be a Azure AD egy egyszeri használatú kóddal a következő helyenhttps://microsoft.com/devicelogin: . Másolja és illessze be az egyszeri használatú kódot az eszköz bejelentkezési oldalára.

Amikor a rendszer kéri, adja meg Azure AD bejelentkezési hitelesítő adatait a bejelentkezési oldalon.

A következő üzenet jelenik meg a webböngészőben, ha sikeresen elvégezte a hitelesítést: You have signed in to the Microsoft Azure Linux Virtual Machine Sign-In application on your device.

Zárja be a böngészőablakot, térjen vissza az SSH-parancssorba, és nyomja le az Enter billentyűt.

Most már bejelentkezett az Azure Linux rendszerű virtuális gépre a hozzárendelt szerepkör-engedélyekkel, például a virtuális gép felhasználójával vagy a virtuális gép rendszergazdájával. Ha a felhasználói fiókjához virtuálisgép-rendszergazdai bejelentkezési szerepkör van hozzárendelve, akkor gyökérszintű sudo jogosultságokat igénylő parancsokat futtathat.

Sudo és AAD bejelentkezés

Amikor először futtatja a sudo parancsot, a rendszer egy második alkalommal fogja kérni a hitelesítést. Ha nem szeretne újra hitelesíteni a sudo futtatásához, szerkesztheti a sudoers fájlt /etc/sudoers.d/aad_admins , és lecserélheti ezt a sort:

%aad_admins ALL=(ALL) ALL

Ezzel a sortal:

%aad_admins ALL=(ALL) NOPASSWD:ALL

Bejelentkezéssel kapcsolatos problémák elhárítása

Az SSH Azure AD hitelesítő adatokkal való használatakor előforduló gyakori hibák közé tartozik, hogy nincs hozzárendelve Azure-szerepkör, és ismétlődően kéri a bejelentkezést. Ezeket a problémákat az alábbi szakaszokban háríthatja el.

Hozzáférés megtagadva: Az Azure-szerepkör nincs hozzárendelve

Ha a következő hibaüzenet jelenik meg az SSH-parancssorban, ellenőrizze, hogy konfigurálta-e az Azure RBAC-szabályzatokat a virtuális géphez, amelyek a felhasználónak virtuálisgép-rendszergazdai bejelentkezési vagy virtuálisgép-felhasználói bejelentkezési szerepkört biztosítanak:

login as: azureuser@contoso.onmicrosoft.com
Using keyboard-interactive authentication.
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code FJX327AXD to authenticate. Press ENTER when ready.
Using keyboard-interactive authentication.
Access denied:  to sign-in you be assigned a role with action 'Microsoft.Compute/virtualMachines/login/action', for example 'Virtual Machine User Login'
Access denied

Megjegyzés

Ha problémákba ütközik az Azure-beli szerepkör-hozzárendelésekkel kapcsolatban, tekintse meg az Azure RBAC hibaelhárítását.

Folyamatos SSH-bejelentkezési kérések

Ha sikeresen végrehajtotta a hitelesítési lépést egy webböngészőben, előfordulhat, hogy a rendszer azonnal kérni fogja, hogy jelentkezzen be újra egy új kóddal. Ezt a hibát általában az SSH-parancssorban megadott bejelentkezési név és a Azure AD bejelentkezett fiók közötti eltérés okozza. A probléma megoldása:

  • Ellenőrizze, hogy az SSH-parancssorban megadott bejelentkezési név helyes-e. A bejelentkezési névben szereplő elírások eltérést okozhatnak az SSH-parancssorban megadott bejelentkezési név és a fiók között, amellyel bejelentkezett Azure AD. Például ahelyett, hogy beírta azuresuer@contoso.onmicrosoft.comazureuser@contoso.onmicrosoft.coma szöveget.
  • Ha több felhasználói fiókkal rendelkezik, győződjön meg arról, hogy nem ad meg másik felhasználói fiókot a böngészőablakban, amikor bejelentkezik Azure AD.
  • A Linux egy kis- és nagybetűkre érzékeny operációs rendszer. Különbség van a "" és a "Azureuser@contoso.onmicrosoft.comazureuser@contoso.onmicrosoft.com" között, ami eltérést okozhat. Győződjön meg arról, hogy az SSH-parancssorban a megfelelő kis- és nagybetűknek megfelelő egyszerű felhasználónév van megadva.

Egyéb korlátozások

Azok a felhasználók, akik beágyazott csoportokon vagy szerepkör-hozzárendeléseken keresztül öröklik a hozzáférési jogosultságokat, jelenleg nem támogatottak. A felhasználót vagy csoportot közvetlenül kell hozzárendelni a szükséges szerepkör-hozzárendelésekhez. Például a felügyeleti csoportok vagy a beágyazott csoportok szerepkör-hozzárendelései nem adnak megfelelő engedélyeket ahhoz, hogy a felhasználó bejelentkezhessen.

Az előzetes verzióval kapcsolatos visszajelzés

Ossza meg visszajelzését erről az előzetes verziójú funkcióról, vagy jelentse a problémákat a Azure AD visszajelzési fórumán.

Következő lépések

Az Azure Active Directoryval kapcsolatos további információkért lásd : Mi az az Azure Active Directory?