IBM Cloud:如何通过 API 或 Terraform 获取 Activity Tracker / Log Analysis 服务密钥?

IBM Cloud: How to obtain Activity Tracker / Log Analysis service key via API or Terraform?

我在 IBM Cloud 上同时使用 Activity Tracker 和 Log Analysis 服务,两者都基于 LogDNA。为了导出日志,例如导出到 search them via my scripts,它需要一个服务密钥,而不是 IBM Cloud IAM API 密钥。如何在不通过 UI 和 LogDNA 仪表板的情况下获取该密钥?理想情况下,这是通过 REST API 或与 Terraform 提供程序集成。

Activity Tracker / Log Analysis 的服务密钥现在似乎包含在 IBM Cloud 资源密钥信息中。可以创建资源密钥并通过 Resource Controller API.

获取现有密钥

这将检索现有的资源密钥,包括 LogDNA 服务密钥:

curl -X GET  \
https://resource-controller.cloud.ibm.com/v2/resource_keys/000-my-resource-key-id-0000 \
 -H "Authorization: $TOKEN"

因此,也可以使用 IBM Cloud Terraform provider and its Resource Management functions.

创建或检索服务密钥
data "ibm_resource_instance" "AT_instance" {
    name ="ActivityTracker-Henrik-Dallas"
    service="logdnaat"
}

data "ibm_resource_key" "AT_rk" {
    resource_instance_id=data.ibm_resource_instance.AT_instance.id
    name="TESTkey_Dallas"
}

AT_rk 的返回数据具有 属性 属性 和 凭据。它包括 service_keyingestion_key.