iam.tf 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. # Create an IAM role for the Web Servers.
  2. resource "aws_iam_role" "nuxeo_iam_role" {
  3. name = "${var.stack_name}"
  4. assume_role_policy = <<EOF
  5. {
  6. "Version": "2012-10-17",
  7. "Statement": [
  8. {
  9. "Action": "sts:AssumeRole",
  10. "Principal": {
  11. "Service": "ec2.amazonaws.com"
  12. },
  13. "Effect": "Allow",
  14. "Sid": ""
  15. }
  16. ]
  17. }
  18. EOF
  19. }
  20. resource "aws_iam_instance_profile" "nuxeo_instance_profile" {
  21. name = "${var.stack_name}"
  22. roles = ["nuxeo_iam_role"]
  23. }
  24. resource "aws_iam_role_policy" "nuxeo_iam_role_policy" {
  25. name = "${var.stack_name}"
  26. role = "${aws_iam_role.nuxeo_iam_role.id}"
  27. policy = <<EOF
  28. {
  29. "Version": "2012-10-17",
  30. "Statement": [
  31. {
  32. "Effect": "Allow",
  33. "Action": ["s3:ListBucket"],
  34. "Resource": ["arn:aws:s3:::bucket-name"]
  35. },
  36. {
  37. "Effect": "Allow",
  38. "Action": [
  39. "s3:PutObject",
  40. "s3:GetObject",
  41. "s3:DeleteObject"
  42. ],
  43. "Resource": [
  44. "arn:aws:s3:::nuxeo-${sha1("${var.stack_name}")}/*",
  45. "arn:aws:s3:::nuxeo-backup-${sha1("${var.stack_name}")}/*" <
  46. ]
  47. }
  48. ]
  49. }
  50. EOF
  51. }
  52. resource "aws_s3_bucket" "apps_bucket" {
  53. bucket = "bucket-name"
  54. acl = "private"
  55. versioning {
  56. enabled = true
  57. }
  58. tags {
  59. Name = "bucket-name"
  60. }
  61. }