gpt4 book ai didi

amazon-web-services - Terraform AWS Newrelic 与 IAM 角色的集成

转载 作者:行者123 更新时间:2023-12-01 23:55:13 25 4
gpt4 key购买 nike

我的要求是将我们的 AWS 帐户与带有 Terraform 的 NewRelic 集成,我能够使用控制台访问将 AWS 帐户与 NewRelic 链接,作为先决条件,我需要创建 IAM 角色,将受信任的实体包含在 New-Relic 帐户中, 按照下面列出的步骤

  1. 转到 infrastructure.newrelic.com > AWS。单击其中一个可用的服务磁贴即可开始。

  2. 在 IAM 控制台中,点击创建角色,然后点击另一个 AWS 账户。

  3. 对于帐户 ID,请使用 7XXXXXXXXXX。选中需要外部 ID 框。对于外部 ID,输入您的 New Relic 帐户 ID。

  4. 不要启用需要 MFA(多重身份验证)的设置。附加策略:搜索 ReadOnlyAccess,选中名为 ReadOnlyAccess 的策略的复选框,然后单击下一步:查看。或者,您可以创建自己的托管策略并根据您要监控的 AWS 服务限制您授予 New Relic 的权限。对于角色名称,输入 NewRelicInfrastructure-Integrations,然后单击创建角色。

我的要求是对 Terraform Script 做同样的事情,我探索了 https://www.terraform.io/docs/providers/aws/r/iam_role.html ,但无法找到一些可以与上面列出的步骤(如包含另一个 AWS 帐户)相同的相关选项。

最佳答案

Terraform 提供了一个 aws_iam_policy_document可能有用的数据源。我相信以下配置可能对您有所帮助:

data "aws_iam_policy_document" "assume_role" {
statement {
actions = [
"sts:AssumeRole"
]

condition {
test = "StringEquals"

values = [
"New Relic Account ID"
]

variable = "sts:ExternalId"
}

effect = "Allow"

principals {
identifiers = [
"7XXXXXXXXXX"
]

type = "AWS"
}
}
}

resource "aws_iam_role" "new_relic" {
assume_role_policy = data.aws_iam_policy_document.assume_role.json
name = "NewRelicInfrastructure-Integrations"
}

resource "aws_iam_role_policy_attachment" "read_only_access" {
policy_arn = "arn:aws:iam::aws:policy/ReadOnlyAccess"
role = aws_iam_role.new_relic.name
}

本质上,它创建了一个名为 NewRelicInfrastructure-Integrations 的角色,并带有两个与之关联的 IAM 策略。

第一个策略允许调用 sts:AssumeRole 操作并验证 ExternalId 是否与 New Relic 帐户 ID 匹配。

第二个策略将 ReadOnlyAccess 授予所承担的角色。

关于amazon-web-services - Terraform AWS Newrelic 与 IAM 角色的集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62832297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com