Guest User

Untitled

a guest
May 27th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.16 KB | None | 0 0
  1. // grafana assume role
  2. resource "aws_iam_role" "grafana_assume" {
  3. name = "Grafana"
  4. assume_role_policy = "${data.aws_iam_policy_document.grafana_role_assume_role_policy.json}"
  5. }
  6.  
  7. resource "aws_iam_role_policy" "grafana_assume_role" {
  8. name = "ReadOnlyAccessToCloudWatchAndEC2"
  9. role = "${aws_iam_role.grafana_assume.name}"
  10. policy = "${data.aws_iam_policy_document.grafana_role.json}"
  11. }
  12.  
  13. data "aws_iam_policy_document" "grafana_role_assume_role_policy" {
  14. statement {
  15. sid = "AllowTrustedAccountsToAssumeTheRole"
  16. effect = "Allow"
  17. actions = ["sts:AssumeRole"]
  18.  
  19. principals {
  20. type = "AWS"
  21. identifiers = "${formatlist("arn:aws:iam::%s:root", values(var.aws_account_ids))}"
  22. }
  23. }
  24. }
  25.  
  26. data "aws_iam_policy_document" "grafana_role" {
  27. statement {
  28. sid = "AllowReadingMetricsFromCloudWatch"
  29. effect = "Allow"
  30.  
  31. actions = [
  32. "cloudwatch:GetMetricStatistics",
  33. "cloudwatch:ListMetrics",
  34. ]
  35.  
  36. resources = ["*"]
  37. }
  38.  
  39. statement {
  40. sid = "AllowReadingTagsFromEC2"
  41. effect = "Allow"
  42.  
  43. actions = [
  44. "ec2:DescribeInstances",
  45. "ec2:DescribeTags",
  46. ]
  47.  
  48. resources = ["*"]
  49. }
  50. }
Add Comment
Please, Sign In to add comment