小编Gva*_*ana的帖子

Terraform Cloud / Enterprise - 如何使用 AWS 承担角色

我想将 AWS Assume Roles 与 Terraform Cloud / Enterprise 一起使用

在 Terraform 开源中,您通常只需执行假设角色,利用 CLI 上的 .aws/Credential Profile(这是初始身份验证)并执行假设角色:

provider "aws" {
  assume_role {
    role_arn     = "arn:aws:iam::ACCOUNT_ID:role/ROLE_NAME"
    session_name = "SESSION_NAME"
    external_id  = "EXTERNAL_ID"
  }
}
Run Code Online (Sandbox Code Playgroud)

问题是,使用 Terraform Enterprise 或 Cloud,您无法引用配置文件,因为不可变基础架构的目录中不会包含该文件。

Terraform Cloud/Enterprise 需要将访问密钥 ID 和秘密访问密钥设置为变量,以便其基础设施可以通过其管道执行 Terraform RUN,并对您想要在其中配置的任何 AWS 账户进行身份验证。

所以问题是:如何利用 AWS 账户的访问密钥 ID 和秘密访问密钥以及“Action”:“sts:AssumeRole”策略来执行 AWS 承担角色?

我认为,下面的方法可行,但是 Terraform 正在通过 AWS Credential Profile 凭证对具有 sts:AssumeRole 策略的帐户进行初始身份验证

当尝试承担角色时,Terraform 是否可以查看 access_key 和 Secret_key 来确定要使用的 AWS 账户,而不是使用 AWS 凭证配置文件?

provider "aws" {
  region                  = var.aws_region …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services terraform-enterprise assume-role terraform-cloud

9
推荐指数
1
解决办法
4398
查看次数

Azure 广告应用程序 - 以编程方式更新清单

我试图找到一种方法来使用 json 文件通过 powershell 更新 Azure Ad 注册应用程序的清单。

Json 文件包含所有应用程序角色,我想简单地将应用程序角色:[] 注入应用程序角色括号中

有没有办法通过电源外壳或 CLI 实现这一点?

json azure azure-active-directory azure-ad-powershell-v2 azure-webapps

6
推荐指数
2
解决办法
4877
查看次数

Terraform Azure 应用服务 - ip_restrictions

我正在尝试在我的 Azure 应用服务应用程序中设置 IP 限制块

执行 Terraform 计划或应用时,我收到以下错误: 错误:azurerm_app_service.app-service-1:: 无效或未知密钥:ip_restriction

我根据应用服务(Web 应用程序)资源的 Terraform 文档使用了ip_restriction

这是我正在使用的 AppService 部署代码:

resource "azurerm_app_service" "app-service-1" {
  name                    = "${var.app_service_1}"
  location                = "${data.azurerm_resource_group.core-rg.location}"
  resource_group_name     = "${data.azurerm_resource_group.core-rg.name}"
  app_service_plan_id     = "${data.azurerm_app_service_plan.app-service-plan-1.id}"
  https_only              = "True"
  enabled                 = "True"
  client_affinity_enabled = "True"

  site_config {
    always_on                 = "True"
    #default_documents        = ""
    dotnet_framework_version  = "v4.0"
    #http2_enabled            = ""
    #ip_restriction           = ""
    #java_version             = ""
    #java_container           = ""
    #java_container_version   = ""
    managed_pipeline_mode     = "Integrated"
    min_tls_version           = "1.2"
    #php_version              = ""
    #python_version           = …
Run Code Online (Sandbox Code Playgroud)

ip-restrictions terraform azure-web-app-service

4
推荐指数
2
解决办法
5722
查看次数

Azure Terraform - 加密 VM OS 磁盘

我正在尝试通过 Terraform 在 Azure VM 上加密“storage_os_disk”。我已经在 VM OS 磁盘上设置了托管磁盘类型,因此它将被管理,因为我知道必须管理磁盘才能允许加密。

我似乎无法弄清楚如何在 terraform 中加密操作系统磁盘

这是我正在尝试的代码:

resource "azurerm_network_interface" "nic" {
  name                = "${var.project_ident}-${var.env_ident}-${var.admin_vm_name}-${var.region_suffix}-encrpytest"
  location            = "${data.azurerm_resource_group.core-rg.location}"
  resource_group_name = "${data.azurerm_resource_group.core-rg.name}"
  depends_on            = ["azurerm_virtual_machine.dns-vm"]

  ip_configuration {
    name                          = "${var.project_ident}-${var.env_ident}-${var.admin_vm_name}-${var.region_suffix}-encrpytest"
    subnet_id                     ="${data.terraform_remote_state.network.sn1_id}"
    private_ip_address_allocation = "static"
    private_ip_address            = "${cidrhost(data.terraform_remote_state.network.sn1_address_prefix, 6 )}"
  }  
}

resource "azurerm_virtual_machine" "admin-vm-encrpytest" {
  name                  = "${var.project_ident}-${var.env_ident}-${var.admin_vm_name}-encrpytest"
  location              = "${data.azurerm_resource_group.core-rg.location}"
  resource_group_name   = "${data.azurerm_resource_group.core-rg.name}"
  network_interface_ids = ["${azurerm_network_interface.nic.id}"]
  vm_size               = "Standard_B2s"
  depends_on            = ["azurerm_virtual_machine.dns-vm"]


  # Requires LRS Storage Account
   boot_diagnostics {
   enabled      = "True"
   storage_uri  = …
Run Code Online (Sandbox Code Playgroud)

encryption virtual-machine azure terraform

3
推荐指数
1
解决办法
3286
查看次数