IBM Cloud Functions:如何使用 Terraform 创建安全的 Web 操作

Posted

技术标签:

【中文标题】IBM Cloud Functions:如何使用 Terraform 创建安全的 Web 操作【英文标题】:IBM Cloud Functions: How to create secured web action using Terraform 【发布时间】:2021-08-31 00:28:21 【问题描述】:

我可以create a new IBM Cloud Functions action using the Terraform provider。

resource "ibm_function_action" "sendEmail" 
  name      = "$ibm_function_package.cloudmailer.name/sendEmail"
  namespace = ibm_function_namespace.namespace.name

  exec 
    kind = "nodejs:12"
    code = file("smtp_email.js")
  
  publish = true
  user_defined_parameters = var.server_config

如何将上述操作变成web action?如何指定密码保护的配置?

【问题讨论】:

【参考方案1】:

这可以使用annotations argument 来实现。它拥有这些documented action annotations 的键/值对。

resource "ibm_function_action" "sendEmail" 
  name      = "$ibm_function_package.cloudmailer.name/sendEmail"
  namespace = ibm_function_namespace.namespace.name

  exec 
    kind = "nodejs:12"
    code = file("smtp_email.js")
  
  publish = true
  user_defined_parameters = var.server_config
  user_defined_annotations =  <<EOF
    [
      
        "key": "web-export",
        "value": true
      ,
      
        "key": "require-whisk-auth",
        "value": "your-web-secret"
      
    ]
EOF


上面的 web-export 将操作转换为 Web 操作,require-whisk-auth 启用身份验证以确保安全,其值设置密码。我已经把它变成了working sample。

【讨论】:

以上是关于IBM Cloud Functions:如何使用 Terraform 创建安全的 Web 操作的主要内容,如果未能解决你的问题,请参考以下文章