【问题标题】:Need assistance understanding terraform code需要帮助理解 terraform 代码
【发布时间】:2021-07-29 12:03:02
【问题描述】:

我不确定我是否能够完全理解代码,请在这里帮助我。这是我的代码我不明白 Azure Active Directory 在这里做什么以及保管库的目的是什么。

data "vault_generic_secret" "client_id" {
  path = var.settings.client_id
}

data "vault_generic_secret" "client_secret" {
  path = var.settings.client_secret
}

# Display a secret client for Azure Service Principal
output "secret" {
  value = data.vault_generic_secret.client_id.data["client_id"]
}


locals {
  vault_client_id     = data.vault_generic_secret.client_id.data["client_id"]
  vault_client_secret = data.vault_generic_secret.client_secret.data["client_secret"]

  settings_with_secrets = merge(var.settings, {
    client_id     = local.vault_client_id
    client_secret = local.vault_client_secret
  })

}


resource "aws_cognito_identity_provider" "universal_provider" {

  user_pool_id  = var.user_pool_id
  provider_name = var.provider_name
  provider_type = var.provider_type

  provider_details = local.settings_with_secrets

  attribute_mapping = var.attribute_mappings

  # We use this to avoid changes to this every execution as described here: 
  # https://github.com/hashicorp/terraform-provider-aws/issues/4831
  # https://github.com/hashicorp/terraform-provider-aws/issues/4807
  lifecycle {
    ignore_changes = [
      provider_details["attributes_url"],
      provider_details["attributes_url_add_attributes"],
      provider_details["authorize_url"],
      provider_details["token_request_method"],
      provider_details["token_url"],
      provider_details["oidc_issuer"]
    ]
  }

}

【问题讨论】:

    标签: amazon-web-services azure azure-active-directory terraform


    【解决方案1】:

    AAD 在这里不做任何事情。

    Vault 提供程序允许 Terraform 读取、写入和配置 HashiCorp Vault。参考here

    因此,脚本会读取 Azure 服务主体的客户端 ID 和客户端密码(存储在 HashiCorp Vault 中)。参考here

    然后将它们放入locals 值中作为settings_with_secrets 供以后使用。

    最后,通过在provider_details中设置其客户端ID和客户端密码,它以AAD为提供者provides a Cognito User Identity Provider resource

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-26
      • 2016-07-08
      • 2018-01-27
      相关资源
      最近更新 更多