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 操作的主要内容,如果未能解决你的问题,请参考以下文章

IBM Cloud Functions:在 Nodejs 中使用异步调用

IBM Cloud Functions Service 在尝试创建与 Cloudant 操作的新绑定时无法检索数据库列表

如何使用 Google Python Client for Cloud Functions 获取 Google Cloud Functions 列表?

如何使用 Google Cloud SDK 列出所有 Cloud Functions?

如何从 Cloud Functions 连接 Google Cloud SQL?

如何在 Angular 组件中正确使用 Cloud Functions?