s3.tf 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #S3 bucket for codebuild output
  2. #resource "aws_s3_bucket" "artifacts" {
  3. # bucket = "xdr-codebuild-artifacts"
  4. # force_destroy = true
  5. #}
  6. #resource "aws_s3_bucket_acl" "s3_acl_artifacts" {
  7. # bucket = aws_s3_bucket.artifacts.id
  8. # acl = "private"
  9. #}
  10. #resource "aws_s3_bucket_server_side_encryption_configuration" "s3_sse_artifacts" {
  11. # bucket = aws_s3_bucket.artifacts.id
  12. #
  13. # rule {
  14. # apply_server_side_encryption_by_default {
  15. # kms_master_key_id = aws_kms_key.s3_codebuild_artifacts.arn
  16. # sse_algorithm = "aws:kms"
  17. # }
  18. # }
  19. #}
  20. resource "aws_s3_bucket_policy" "artifacts" {
  21. bucket = aws_s3_bucket.artifacts.id
  22. policy = data.aws_iam_policy_document.artifacts.json
  23. }
  24. data "aws_iam_policy_document" "artifacts" {
  25. statement {
  26. sid = "AllowS3Access"
  27. actions = [ "s3:GetObject", "s3:GetObjectVersion" ]
  28. effect = "Allow"
  29. resources = [ "${aws_s3_bucket.artifacts.arn}/*" ]
  30. principals {
  31. type = "AWS"
  32. identifiers = sort([ for a in var.responsible_accounts[var.environment]: "arn:${var.aws_partition}:iam::${a}:root" ])
  33. }
  34. }
  35. }
  36. //AWS Provider outdated arguments <4.4.0
  37. resource "aws_s3_bucket" "artifacts" {
  38. bucket = "xdr-codebuild-artifacts"
  39. force_destroy = true
  40. acl = "private"
  41. server_side_encryption_configuration {
  42. rule {
  43. apply_server_side_encryption_by_default {
  44. kms_master_key_id = aws_kms_key.s3_codebuild_artifacts.arn
  45. sse_algorithm = "aws:kms"
  46. }
  47. }
  48. }
  49. }