File tree Expand file tree Collapse file tree 3 files changed +53
-0
lines changed
examples/iam-role-for-service-accounts-eks
modules/iam-role-for-service-accounts-eks Expand file tree Collapse file tree 3 files changed +53
-0
lines changed Original file line number Diff line number Diff line change @@ -44,6 +44,8 @@ Run `terraform destroy` when you don't need these resources.
44
44
| <a name =" module_external_dns_irsa_role " ></a > [ external\_ dns\_ irsa\_ role] ( #module\_ external\_ dns\_ irsa\_ role ) | ../../modules/iam-role-for-service-accounts-eks | n/a |
45
45
| <a name =" module_external_secrets_irsa_role " ></a > [ external\_ secrets\_ irsa\_ role] ( #module\_ external\_ secrets\_ irsa\_ role ) | ../../modules/iam-role-for-service-accounts-eks | n/a |
46
46
| <a name =" module_fsx_lustre_csi_irsa_role " ></a > [ fsx\_ lustre\_ csi\_ irsa\_ role] ( #module\_ fsx\_ lustre\_ csi\_ irsa\_ role ) | ../../modules/iam-role-for-service-accounts-eks | n/a |
47
+ | <a name =" module_iam_eks_role " ></a > [ iam\_ eks\_ role] ( #module\_ iam\_ eks\_ role ) | terraform-aws-modules/iam/aws//modules/iam-role-for-service-accounts-eks | n/a |
48
+ | <a name =" module_iam_policy " ></a > [ iam\_ policy] ( #module\_ iam\_ policy ) | terraform-aws-modules/iam/aws//modules/iam-policy | n/a |
47
49
| <a name =" module_irsa_role " ></a > [ irsa\_ role] ( #module\_ irsa\_ role ) | ../../modules/iam-role-for-service-accounts-eks | n/a |
48
50
| <a name =" module_karpenter_controller_irsa_role " ></a > [ karpenter\_ controller\_ irsa\_ role] ( #module\_ karpenter\_ controller\_ irsa\_ role ) | ../../modules/iam-role-for-service-accounts-eks | n/a |
49
51
| <a name =" module_load_balancer_controller_irsa_role " ></a > [ load\_ balancer\_ controller\_ irsa\_ role] ( #module\_ load\_ balancer\_ controller\_ irsa\_ role ) | ../../modules/iam-role-for-service-accounts-eks | n/a |
Original file line number Diff line number Diff line change @@ -328,6 +328,53 @@ module "vpc_cni_ipv6_irsa_role" {
328
328
tags = local. tags
329
329
}
330
330
331
+ # ###############################################################################
332
+ # Custom IRSA Roles
333
+ # ###############################################################################
334
+
335
+ # This is an example of a custom IRSA role which allows workloads with the specified serviceccount to perform actions in a S3 bucket.
336
+ module "iam_policy" {
337
+ source = " terraform-aws-modules/iam/aws//modules/iam-policy"
338
+
339
+ name = " myapp"
340
+ path = " /"
341
+ description = " Example policy"
342
+
343
+ policy = jsonencode ({
344
+ Version = " 2012-10-17"
345
+ Statement = [
346
+ {
347
+ Effect = " Allow"
348
+ Action = [
349
+ " s3:*" ,
350
+ ]
351
+ Resource = " *"
352
+ }
353
+ ]
354
+ })
355
+
356
+ }
357
+
358
+ module "iam_eks_role" {
359
+ source = " terraform-aws-modules/iam/aws//modules/iam-role-for-service-accounts-eks"
360
+ role_name = " my-app"
361
+
362
+ role_policy_arns = {
363
+ policy = " arn:aws:iam::012345678901:policy/myapp"
364
+ }
365
+
366
+ oidc_providers = {
367
+ one = {
368
+ provider_arn = " arn:aws:iam::012345678901:oidc-provider/oidc.eks.us-east-1.amazonaws.com/id/5C54DDF35ER19312844C7333374CC09D"
369
+ namespace_service_accounts = [" default:my-app-staging" , " canary:my-app-staging" ]
370
+ }
371
+ two = {
372
+ provider_arn = " arn:aws:iam::012345678901:oidc-provider/oidc.eks.ap-southeast-1.amazonaws.com/id/5C54DDF35ER54476848E7333374FF09G"
373
+ namespace_service_accounts = [" default:my-app-staging" ]
374
+ }
375
+ }
376
+ }
377
+
331
378
# ###############################################################################
332
379
# Supporting Resources
333
380
# ###############################################################################
Original file line number Diff line number Diff line change @@ -27,6 +27,10 @@ module "iam_eks_role" {
27
27
source = "terraform-aws-modules/iam/aws//modules/iam-role-for-service-accounts-eks"
28
28
role_name = "my-app"
29
29
30
+ role_policy_arns = {
31
+ policy = "arn:aws:iam::012345678901:policy/myapp"
32
+ }
33
+
30
34
oidc_providers = {
31
35
one = {
32
36
provider_arn = "arn:aws:iam::012345678901:oidc-provider/oidc.eks.us-east-1.amazonaws.com/id/5C54DDF35ER19312844C7333374CC09D"
You can’t perform that action at this time.
0 commit comments