MTB DP DEV — IAM Access Model

MTB DP DEV — IAM Access Model An architecture diagram generated by Archify. Developers (11) · mtb.ua engineers · Architecture component · console + API Developers (11) mtb.ua engineers console + API Developers Group · EC2+S3+RDS+EKS custom · AWS Account 315894674298 — DEV (eu-central-1) › IAM Groups — role-based access control · 11 members Developers Group EC2+S3+RDS+EKS custom 11 members sa-env-dev · PowerUser + IAM mgmt · AWS Account 315894674298 — DEV (eu-central-1) · infra SA sa-env-dev PowerUser + IAM mgmt infra SA EKS 1.33 · 2 admin + 14 edit entries · AWS Account 315894674298 — DEV (eu-central-1) EKS 1.33 2 admin + 14 edit entries Route 53 · dev.mps.mtb.ua · AWS Account 315894674298 — DEV (eu-central-1) Route 53 dev.mps.mtb.ua CI/CD Pipeline · GitHub Actions · Architecture component · automated CI/CD Pipeline GitHub Actions automated sa-pipe-dev · EKS+ECR deploy · AWS Account 315894674298 — DEV (eu-central-1) · pipeline SA sa-pipe-dev EKS+ECR deploy pipeline SA ECR (shared) · cross-account 957849... · AWS Account 315894674298 — DEV (eu-central-1) ECR (shared) cross-account 957849... CloudWatch · EKS control plane logs · AWS Account 315894674298 — DEV (eu-central-1) CloudWatch EKS control plane logs DevOps Engineer · dmoskalenko · Architecture component · infra mgmt DevOps Engineer dmoskalenko infra mgmt DevOps Group · PowerUser + IAMReadOnly · AWS Account 315894674298 — DEV (eu-central-1) › IAM Groups — role-based access control · 1 member DevOps Group PowerUser + IAMReadOnly 1 member IRSA Roles (8) · K8s SA → IAM Role · AWS Account 315894674298 — DEV (eu-central-1) · pod-level IRSA Roles (8) K8s SA → IAM Role pod-level S3 Buckets · dev-bin-range-files · AWS Account 315894674298 — DEV (eu-central-1) S3 Buckets dev-bin-range-files Manager · mrakov (project lead) · Architecture component · read-only Manager mrakov (project lead) read-only ReadOnly Group · ReadOnlyAccess · AWS Account 315894674298 — DEV (eu-central-1) › IAM Groups — role-based access control · 14 members ReadOnly Group ReadOnlyAccess 14 members IAM Security · MFA + Password Policy · AWS Account 315894674298 — DEV (eu-central-1) · enforced IAM Security MFA + Password Policy enforced RDS (3 instances) · PG 15.12 db.t3.small · AWS Account 315894674298 — DEV (eu-central-1) RDS (3 instances) PG 15.12 db.t3.small member admin credentials push/pull member IRSA member DNS audit logs AWS Account 315894674298 — DEV (eu-central-1) IAM Groups — role-based access control Legend Backend Database Cloud Security External

IAM Groups (7)

  • • Administrators — AdministratorAccess (senior DevOps only)
  • • DevOps — PowerUserAccess + IAMReadOnly + Terraform custom
  • • Developers — EC2Full + S3Full + RDSFull + EKS custom
  • • Developers: Deny ec2:Terminate, rds:Delete, s3:DeleteBucket
  • • ReadOnly — ReadOnlyAccess (analysts, managers)
  • • SecurityAuditors — SecurityAudit + ReadOnly
  • • Billing — Billing + BillingReadOnly (finance)
  • • read-write-bucket — S3 RW on dev-bin-range-files

IAM Users (14 human + 2 SA)

  • • DevOps: dmoskalenko — groups: DevOps, ReadOnly
  • • Manager: mrakov — groups: ReadOnly + MFA policy
  • • Developer: ahromov — groups: Developers, ReadOnly, S3-RW
  • • Developer: eprystash — groups: Developers, ReadOnly, S3-RW
  • • Developer: asharando — groups: Developers, ReadOnly, S3-RW
  • • Developer: ikosenkov, ypopenkov, kshuba, opiven, rhushpit
  • • Developer: ykhorolska, mpetrov (+MFA), azhyvotovskyi (+MFA)
  • • Developer: msurzhyk (+MFA) — all: Developers, ReadOnly, S3-RW
  • • SA: sa-env-dev — PowerUser + IAM mgmt + TF state RW + ECR read
  • • SA: sa-pipe-dev — EKS + ECR full + TF state RO

EKS Access Entries (16)

  • • Admin (AmazonEKSClusterAdminPolicy):
  • • sa-env-dev, sa-pipe-dev
  • • Edit (AmazonEKSEditPolicy) — 14 users:
  • • ahromov, eprystash, asharando, ikosenkov
  • • ypopenkov, kshuba, opiven, rhushpit
  • • ykhorolska, mpetrov, azhyvotovskyi, msurzhyk
  • • nhaitanov, osebalo
  • • Note: nhaitanov, osebalo have EKS access but no IAM user in TF

IRSA Roles (8 pod-level bindings)

  • • cert-manager-route53 (ns: cert-manager) → Route53 DNS-01
  • • dev-s3-access (ns: dev, sa: payment-service) → S3 bin-range
  • • binrange-s3-access (ns: dev, sa: binrange-payment-svc) → S3
  • • cluster-autoscaler (ns: kube-system) → ASG scale
  • • node-health-monitor (ns: kube-system) → ASG SetInstanceHealth
  • • ebs-csi-driver (ns: kube-system) → EBS CSI policy
  • • fluent-bit-cloudwatch (ns: infra-services) → CloudWatch logs
  • • ecr-cross-account (ns: default, sa: ecr-pull) → ECR 957849...

Security Controls

  • • Password policy: min 20 chars, MFA enforcement module
  • • MFA policy attached to: mpetrov, azhyvotovskyi, msurzhyk, mrakov
  • • Developers group: Deny destructive ops (Terminate, DeleteDB, DeleteBucket)
  • • Service accounts: /service-accounts/ path, no console access
  • • Human users: /users/ path, console + programmatic access
  • • Password reset required on first login for all users