[英]Terraform Azure Linux VM with Azure AD Access
我正在嘗試使用 Terraform 提供一個簡單的 Ubuntu Linux VM,允許用戶使用他們的 Azure AD 憑據進行連接。 我是 Terraform 的新手,我正在嘗試從下面的屏幕截圖鏈接中顯示的 GUI 中找到啟用“使用 Azure AD 登錄”設置的正確資源部分/命令。
https://i.stack.imgur.com/Gg9p8.png
下面是配置 VM 的代碼片段:
resource "azurerm_linux_virtual_machine" "dev" {
name = "devhost01"
resource_group_name = azurerm_resource_group.dev.name
location = azurerm_resource_group.ev.location
size = "Standard_D2s_v3"
admin_username = "admin"
network_interface_ids = [
azurerm_network_interface.dev.id,
]
admin_ssh_key {
username = "admin"
public_key = file("~/.ssh/admin.pub")
}
os_disk {
caching = "ReadWrite"
storage_account_type = "Standard_LRS"
}
source_image_reference {
publisher = "Canonical"
offer = "UbuntuServer"
sku = "18.04-LTS"
version = "latest"
}
}
我也有一個相關但次要的問題; 我不確定它是否需要一個單獨的問題/帖子。 我通過啟用“使用 Azure AD 登錄”的 GUI 手動創建了一個 VM,嘗試連接
az ssh vm --ip XXX.XXX.XXX.XXX
並收到
Permission denied (publickey).
我沒有指定用戶需要使用 ssh 密鑰進行連接(至少不是故意的)。 我是否需要添加另一部分以允許經過身份驗證的 AD 用戶進行基本的 SSH 訪問?
使用 Azure AD 登錄到 linux VM。 您需要執行以下操作。
Virtual Machine Administrator Login
或Virtual Machine User Login
角色之一。第三個與允許 AD 登錄的前輩一樣重要。
執行所有三個步驟后, az ssh vm --ip XXX.XXX.XXX.XXX
會讓您登錄到 VM。
---- 根據評論中的要求添加 tf 代碼-----
resource "azurerm_linux_virtual_machine" "dev" {
// blah-blah
identity {
type = "SystemAssigned"
}
}
resource "azurerm_role_assignment" "assign-vm-role" {
scope = azurerm_linux_virtual_machine.dev.id
role_definition_name = "Virtual Machine Administrator Login"
principal_id = <id-of-group/user/sp>
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.