|
@@ -1,30 +1,37 @@
|
|
|
-resource "aws_iam_instance_profile" "vault_instance_profile" {
|
|
|
- name = "vault-instance-profile"
|
|
|
- role = aws_iam_role.vault.name
|
|
|
+module "instance_profile" {
|
|
|
+ source = "../../submodules/iam/base_instance_profile"
|
|
|
+ prefix = "vault"
|
|
|
+ aws_partition = var.aws_partition
|
|
|
+ aws_account_id = var.aws_account_id
|
|
|
}
|
|
|
|
|
|
-resource "aws_iam_role" "vault" {
|
|
|
- name = "vault-instance-role"
|
|
|
-
|
|
|
- assume_role_policy = <<EOF
|
|
|
-{
|
|
|
- "Version": "2012-10-17",
|
|
|
- "Statement": [
|
|
|
- {
|
|
|
- "Sid": "",
|
|
|
- "Effect": "Allow",
|
|
|
- "Principal": {
|
|
|
- "Service": [
|
|
|
- "ec2.amazonaws.com",
|
|
|
- "ssm.amazonaws.com"
|
|
|
- ]
|
|
|
- },
|
|
|
- "Action": "sts:AssumeRole"
|
|
|
- }
|
|
|
- ]
|
|
|
- }
|
|
|
-EOF
|
|
|
-}
|
|
|
+#resource "aws_iam_instance_profile" "vault_instance_profile" {
|
|
|
+# name = "vault-instance-profile"
|
|
|
+# role = aws_iam_role.vault.name
|
|
|
+#}
|
|
|
+#
|
|
|
+#resource "aws_iam_role" "vault" {
|
|
|
+# name = "vault-instance-role"
|
|
|
+#
|
|
|
+# assume_role_policy = <<EOF
|
|
|
+#{
|
|
|
+# "Version": "2012-10-17",
|
|
|
+# "Statement": [
|
|
|
+# {
|
|
|
+# "Sid": "",
|
|
|
+# "Effect": "Allow",
|
|
|
+# "Principal": {
|
|
|
+# "Service": [
|
|
|
+# "ec2.amazonaws.com",
|
|
|
+# "ssm.amazonaws.com"
|
|
|
+# ]
|
|
|
+# },
|
|
|
+# "Action": "sts:AssumeRole"
|
|
|
+# }
|
|
|
+# ]
|
|
|
+# }
|
|
|
+#EOF
|
|
|
+#}
|
|
|
|
|
|
#-------------------------------
|
|
|
# KMS Policy
|
|
@@ -67,15 +74,10 @@ resource "aws_iam_policy" "vault_kms_key_policy" {
|
|
|
}
|
|
|
|
|
|
resource "aws_iam_role_policy_attachment" "vault_kms" {
|
|
|
- role = aws_iam_role.vault.name
|
|
|
+ role = module.instance_profile.role_id
|
|
|
policy_arn = aws_iam_policy.vault_kms_key_policy.arn
|
|
|
}
|
|
|
|
|
|
-resource "aws_iam_role_policy_attachment" "AmazonEC2RoleforSSM" {
|
|
|
- role = aws_iam_role.vault.name
|
|
|
- policy_arn = "arn:aws-us-gov:iam::aws:policy/service-role/AmazonEC2RoleforSSM"
|
|
|
-}
|
|
|
-
|
|
|
#------------------------------
|
|
|
# DynamoDB
|
|
|
#------------------------------
|
|
@@ -116,7 +118,7 @@ resource "aws_iam_policy" "vault_dynamodb_policy" {
|
|
|
}
|
|
|
|
|
|
resource "aws_iam_role_policy_attachment" "vault_dynamodb" {
|
|
|
- role = aws_iam_role.vault.name
|
|
|
+ role = module.instance_profile.role_id
|
|
|
policy_arn = aws_iam_policy.vault_dynamodb_policy.arn
|
|
|
}
|
|
|
|
|
@@ -145,6 +147,6 @@ resource "aws_iam_policy" "vault_approle_policy" {
|
|
|
}
|
|
|
|
|
|
resource "aws_iam_role_policy_attachment" "vault_approle" {
|
|
|
- role = aws_iam_role.vault.name
|
|
|
+ role = module.instance_profile.role_id
|
|
|
policy_arn = aws_iam_policy.vault_approle_policy.arn
|
|
|
-}
|
|
|
+}
|