我创建了一个
aws_grafana_workspace
,并且我可以使用 Grafana 提供程序(使用工作区 URL 和 API 密钥进行配置)与其进行交互。但是,我在自动连接此工作区与 Athena 时遇到困难。
我的问题是,在创建
grafana_data_source
资源之前,我是否需要在 Grafana 中安装 Athena 插件,或者该资源是否足以将 Athena 与 Grafana 连接并启用查询和仪表板创建?
提前谢谢您。
由于 Amazon Managed Grafana 中开箱即用地支持 Athena,因此您实际需要的唯一事情就是激活 aws_grafana_workspace
资源中的
数据源。还需要有一个 IAM 角色,该角色引用正确的 AWS 托管策略作为权限策略,并允许 Amazon Managed Grafana 工作区代入它(在信任策略中):
resource "aws_grafana_workspace" "example" {
account_access_type = "CURRENT_ACCOUNT"
authentication_providers = ["SAML"]
permission_type = "SERVICE_MANAGED"
role_arn = aws_iam_role.athena.arn
data_sources = ["ATHENA"]
}
resource "aws_iam_role" "athena" {
name = "grafana-role-for-athena"
assume_role_policy = data.aws_iam_policy_document.assume_role_policy.json
}
resource "aws_iam_role_policy_attachment" "grafana_athena_access" {
policy_arn = "arn:aws:iam::aws:policy/service-role/AmazonGrafanaAthenaAccess"
role = aws_iam_role.athena.arn
}
data "aws_iam_policy_document" "assume_role_policy" {
statement {
sid = "GrafanaAssume"
effect = "Allow"
actions = [
"sts:AssumeRole"
]
principals {
type = "Service"
identifiers = [
"grafana.amazonaws.com"
]
}
}
}