【问题标题】:How to give a role to a role - "arn:aws:sts::913xxxxx71:assumed-role"如何为角色赋予角色 - “arn:aws:sts::913xxxxx71:assumed-role”
【发布时间】:2019-10-19 12:26:43
【问题描述】:

我正在按照这些说明将我们的 EKS 集群日志发送到 CloudWatch:

https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-setup-logs.html

由于它不起作用,我运行了建议的命令来跟踪其中一个 fluentd pod 的日志:

kubectl logs fluentd-cloudwatch-fc7vx -n amazon-cloudwatch

我看到了这个错误:

error_class=Aws::CloudWatchLogs::Errors::AccessDeniedException 错误=“用户: arn:aws:sts::913xxxxx71:assumed-role/eksctl-prod-nodegroup-standard-wo-NodeInstanceRole-1ESBFXHSI966X/i-0937e3xxxx07ea6 无权执行:日志:资源上的DescribeLogGroups: arn:aws:logs:us-west-2:913617820371:log-group::log-stream:"

我有一个具有正确权限的角色,但如何将角色授予arn:aws:sts::913xxxxx71:assumed-role/eksctl-prod-nodegroup-standard-wo-NodeInstanceRole-1ESBFXHSI966X/i-0937e3xxxx07ea6 用户?

【问题讨论】:

    标签: amazon-web-services amazon-iam amazon-cloudwatch amazon-eks


    【解决方案1】:

    您需要执行将 CloudWatchAgentServerPolicy 策略附加到此处记录的集群工作程序节点角色的步骤:https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-prerequisites.html

    【讨论】:

    • 我还需要重启k8s集群的ec2实例才能正常工作。
    【解决方案2】:

    为此,您需要担任该角色。这可以通过几种不同的方式完成:

    1. 您可以设置一个AWS profile 并使用它以不同的角色执行命令。
    2. 您可以使用awsudo 之类的工具

    需要注意的是,您所承担的角色必须具有信任关系设置,以便允许其他人承担该角色。上面 (1) 的链接中有一个这种信任关系设置的示例。

    话虽如此,您可能不应该为您的用例做任何这些。

    如果您的其他角色处于需要更新以允许假设的状态,则只需使用您需要的权限直接更新 eksctl-prod-nodegroup-standard-wo-NodeInstanceRole-1ESBFXHSI966X 角色会更容易、更安全。

    理想情况下,您可以将角色与附加到具有所需权限的其他角色的相同策略相关联。

    【讨论】:

    • 是的,我认为我需要为角色制定政策
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-07
    • 1970-01-01
    • 2020-01-01
    相关资源
    最近更新 更多