使用 Terraform vSphere 提供程序在 VCenter 上分配全局权限
Assign global permission on VCenter with Terraform vSphere provider
我正在尝试弄清楚如何使用 terraform 和 vsphere 提供程序在 vCenter 中分配全局权限。
到目前为止我有:
//== VSphere ==//
provider "vsphere" {
user = var.vsphere_username
password = var.vsphere_password
vsphere_server = var.vsphere_server
# If you have a self-signed cert
allow_unverified_ssl = true
}
//== Example Role ==//
resource vsphere_role "example" {
name = "Example Read"
role_privileges = [
"Datastore.Browse",
"Global.GlobalTag",
"Performance.ModifyIntervals"
]
}
//Taking syntax from terrafrom docs:
resource "vsphere_entity_permissions" p1 {
# Is there a way to say "root/global" permission here?
entity_id = data.vsphere_virtual_machine.vm1.id
entity_type = "VirtualMachine"
permissions {
user_or_group = "mydomain\my-group"
propagate = true
is_group = true
role_id = vsphere_role.example.id
}
}
目前有办法做到这一点吗?
谢谢!
不,今天不可用。
全局权限通常由单独的 SSO-based API 服务和 SDK 管理,与标准的、单一的 vCenter 权限 API 服务是 vSphere Web 服务的一部分 API.不幸的是,Terraform 和 vSphere 提供商无法在幕后使用该单独的 SDK。
我正在尝试弄清楚如何使用 terraform 和 vsphere 提供程序在 vCenter 中分配全局权限。
到目前为止我有:
//== VSphere ==//
provider "vsphere" {
user = var.vsphere_username
password = var.vsphere_password
vsphere_server = var.vsphere_server
# If you have a self-signed cert
allow_unverified_ssl = true
}
//== Example Role ==//
resource vsphere_role "example" {
name = "Example Read"
role_privileges = [
"Datastore.Browse",
"Global.GlobalTag",
"Performance.ModifyIntervals"
]
}
//Taking syntax from terrafrom docs:
resource "vsphere_entity_permissions" p1 {
# Is there a way to say "root/global" permission here?
entity_id = data.vsphere_virtual_machine.vm1.id
entity_type = "VirtualMachine"
permissions {
user_or_group = "mydomain\my-group"
propagate = true
is_group = true
role_id = vsphere_role.example.id
}
}
目前有办法做到这一点吗? 谢谢!
不,今天不可用。
全局权限通常由单独的 SSO-based API 服务和 SDK 管理,与标准的、单一的 vCenter 权限 API 服务是 vSphere Web 服务的一部分 API.不幸的是,Terraform 和 vSphere 提供商无法在幕后使用该单独的 SDK。