Я создаю windows экземпляр EC2 с Terraform и пытаюсь установить Chocolatley с помощью сценария инициализации user_data. Но сценарий powershell завершается ошибкой, когда доступ запрещен
ec2_tableau.tf
resource "aws_instance" "tableau_instance" {
ami = data.aws_ami.windowsbase.id
for_each = var.tableau_instances
subnet_id = each.value
instance_type = var.tableau_instance_type
key_name = var.key_pair_name
vpc_security_group_ids = BLABLABLA
user_data = data.template_file.userdata_tableau.rendered
iam_instance_profile = aws_iam_instance_profile.tableau_iam_profile.name
associate_public_ip_address = false
root_block_device {
volume_type = "gp2"
volume_size = var.tableau_root_device_size
}
}
ec2_tableau_userdata.tf
data "template_file" "userdata_tableau" {
vars = {
#puppet_server = var.puppet_server
proxy_url = var.proxy_url
}
template = <<EOF
<powershell>
netsh winhttp set proxy $${proxy_url}
## Install Chocolatey ##
$env:chocolateyProxyLocation = 'http://$${proxy_url}'
Set-ExecutionPolicy Unrestricted -Scope Process -Force ;
[System.Net.WebRequest]::DefaultWebProxy.Credentials = [System.Net.CredentialCache]::DefaultCredentials; iex ((New-Object Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))"
## Update path for Chocolatey
BLABLABLA
start-service ShellHWDetection
</powershell>
EOF
}
Powershell запускается в новом экземпляре EC2, но когда я попадаю в эту строку,
Set-ExecutionPolicy Unrestricted -Scope Process -Force;
Файл Temp .ps1 запускается, работает нормально, но завершается неудачно в этой строке с «доступ запрещен» . Причина в том, что сценарий temp .ps1 выполняется без повышенных привилегий
Поэтому мой вопрос:
Как в Terraform я могу выполнить сценарий Powershell user_data с повышенными привилегиями?