AWS In Practice
Courses
  • Welcome to AWS In Practice by IT Assist Labs!
  • Courses
    • AWS Powered E-commerce Application: A Guided Tour
      • Lesson Learning Paths
        • Lesson Learning Paths - Certification Prep
        • Lesson Learning Paths - Interview Prep
      • Lesson Summaries
        • Introduction
          • E-commerce Application Architecture
        • Multi-Account Strategy
          • Multi-Account Strategy Overview
          • Organization Units
          • Core Accounts
        • Core Microservices
          • Services Overview
          • AWS Well-Architected design framework application
          • Site Reliability Engineering Application
          • DevOps Application
          • Monitoring, Logging and Observability Application
        • AWS Service By Layer
          • AWS Service By Layer Overview
          • Presentation Layer
          • Business Logic Layer
          • Data Layer
        • E-commerce Application Use Cases
          • E-commerce Application Use Cases
          • Roles
      • Lesson Content Navigation Demonstration
    • Explore a Live AWS Environment Powering an E-commerce Application
  • Resources
    • AWS Certification Guide
      • Concepts
        • Security, Identity & Compliance
          • AWS IAM-Related Concepts in Certification Exams
        • Design High-Performing Architectures
          • Designing a high-performing architecture with EC2 and Auto Scaling Groups (ASGs)
    • Insights
      • Zero Trust Architecture (ZTA)
      • Implementing a Zero Trust Architecture(ZTA) with AWS
      • The Modern Application Development Lifecycle - Blue/Green Deployments
      • Microservices Communication Patterns
    • Interview Preparation
      • AWS Solutions Archictect
  • AWS Exploration
    • Use Cases
      • Multi-Region Resiliency with Active-Active Setup
        • Exploration Summary
    • Foundational Solutions Architect Use Cases
    • Security Engineer / Cloud Security Architect Use Cases
    • DevOps / Site Reliability Engineer (SRE) Use Cases
    • Cloud Engineer / Cloud Developer
    • Data Engineer Use Cases
    • Machine Learning Engineer / AI Practitioner Use Cases
    • Network Engineer (Cloud) Use Cases
    • Cost Optimization / FinOps Practitioner Use Cases
    • IT Operations / Systems Administrator Use Cases
  • Study Group
    • AWS Certified Solutions Architect - Associate
      • Study Guide Introduction
      • Domain 1: Design Secure Architectures
        • Task Statement 1.1: Design secure access to AWS resources
          • SecureCart's Journey
          • AWS Identity & Access Management (IAM) Fundamentals
          • AWS Security Token Service (STS)
          • AWS Organization
          • IAM Identity Center
          • AWS Policies
          • Federated Access
          • Directory Service
          • Managing Access Across Multiple Accounts
          • Authorization Models in IAM
          • AWS Control Tower
          • AWS Service Control Policies (SCPs)
          • Use Cases
            • Using IAM Policies and Tags for Access Control in AWS
        • Task Statement 1.2: Design Secure Workloads and Applications
          • SecureCart Journey
          • Application Configuration & Credential Security
          • Copy of Application Configuration & Credential Security
          • Network Segmentation Strategies & Traffic Control
          • Securing Network Traffic & AWS Service Endpoints
          • Protecting Applications from External Threats
          • Securing External Network Connections
          • AWS Network Firewall
          • AWS Firewall Manager
          • IAM Authentication Works with Databases
          • AWS WAF (Web Application Firewall)
          • Use Cases
            • AWS Endpoint Policy for Trusted S3 Buckets
            • Increasing Fault Tolerance for AWS Direct Connect in SecureCart’s Multi-VPC Network
            • Securing Multi-Domain SSL with ALB in SecureCart Using SNI-Based SSL
            • Configuring a Custom Domain Name for API Gateway with AWS Certificate Manager and Route 53
            • Application Load Balancer (ALB) – Redirecting HTTP to HTTPS
            • Security Considerations in ALB Logging & Monitoring
          • Amazon CloudFront and Different Origin Use Cases
          • Security Group
          • CloudFront
          • NACL
          • Amazon Cognito
          • VPC Endpoint
        • Task Statement 1.3: Determine appropriate data security controls
          • SecureCart Journey
          • Data Access & Governance
          • Data Encryption & Key Management
          • Data Retention, Classification & Compliance
          • Data Backup, Replication & Recovery
          • Managing Data Lifecycle & Protection Policies
          • KMS
          • S3 Security Measures
          • KMS Use Cases
          • Use Cases
            • Safely Storing Sensitive Data on EBS and S3
            • Managing Compliance & Security with AWS Config
            • Preventing Sensitive Data Exposure in Amazon S3
            • Encrypting EBS Volumes for HIPAA Compliance
            • EBS Encryption Behavior
            • Using EBS Volume While Snapshot is in Progress
          • Compliance
          • Implementing Access Policies for Encryption Keys
          • Rotating Encryption Keys and Renewing Certificates
          • Implementing Policies for Data Access, Lifecycle, and Protection
          • Rotating encryption keys and renewing certificates
          • Instance Store
          • AWS License Manager
          • Glacier
          • AWS CloudHSM Key Management & Zeroization Protection
          • EBS
        • AWS Security Services
        • Use Cases
          • IAM Policy & Directory Setup for S3 Access via Single Sign-On (SSO)
          • Federating AWS Access with Active Directory (AD FS) for Hybrid Cloud Access
      • Domain 2
        • Task Statement 2.1: Design Scalable and Loosely Coupled Architectures
          • SecureCart Journey
          • API Creation & Management
          • Microservices & Event-Driven Architectures
          • Load Balancing & Scaling Strategies
          • Caching Strategies & Edge Acceleration
          • Serverless & Containerization
          • Workflow Orchestration & Multi-Tier Architectures
        • Task Statement 2.2: Design highly available and/or fault-tolerant architectures
          • SecureCart Journey
          • AWS Global Infrastructure & Distributed Design
          • Load Balancing & Failover Strategies
          • Disaster Recovery (DR) Strategies & Business Continuity
          • Automation & Immutable Infrastructure
          • Monitoring & Workload Visibility
          • Use Cases
            • Amazon RDS Failover Events & Automatic Failover Mechanism
      • Domain 3
        • Task Statement 3.1: Determine high-performing and/or scalable storage solutions
          • SecureCart Journey
          • Understanding AWS Storage Types & Use Cases
          • Storage Performance & Configuration Best Practices
          • Scalable & High-Performance Storage Architectures
          • Hybrid & Multi-Cloud Storage Solutions
          • Storage Optimization & Cost Efficiency
          • Hands-on Labs & Final Challenge
        • Task Statement 3.2: Design High-Performing and Elastic Compute Solutions
          • SecureCart
          • AWS Compute Services & Use Cases
          • Elastic & Auto-Scaling Compute Architectures
          • Decoupling Workloads for Performance
          • Serverless & Containerized Compute Solutions
          • Compute Optimization & Cost Efficiency
        • Task Statement 3.3: Determine High-Performing Database Solutions
          • SecureCart Journey
          • AWS Database Types & Use Cases
          • Database Performance Optimization
          • Caching Strategies for High-Performance Applications
          • Database Scaling & Replication
          • High Availability & Disaster Recovery for Databases
        • Task Statement 3.4: Determine High-Performing and/or Scalable Network Architectures
          • SecureCart Journey
          • AWS Networking Fundamentals & Edge Services
          • Network Architecture & Routing Strategies
          • Load Balancing for Scalability & High Availability
          • Hybrid & Private Network Connectivity
          • Optimizing Network Performance
          • Site-to-Site VPN Integration for SAP HANA in AWS
        • Task Statement 3.5: Determine High-Performing Data Ingestion and Transformation Solutions
          • SecureCart Journey
          • Data Ingestion Strategies & Patterns
          • Data Transformation & ETL Pipelines
          • Secure & Scalable Data Transfer
          • Building & Managing Data Lakes
          • Data Visualization & Analytics
      • Domain 4
        • Task Statement 4.1: Design Cost-Optimized Storage Solutions
          • SecureCart Journey
          • AWS Storage Services & Cost Optimization
          • Storage Tiering & Auto Scaling
          • Data Lifecycle Management & Archival Strategies
          • Hybrid Storage & Data Migration Cost Optimization
          • Cost-Optimized Backup & Disaster Recovery
        • Task Statement 4.2: Design Cost-Optimized Compute Solutions
          • SecureCart Journey
          • AWS Compute Options & Cost Management Tools
          • Compute Purchasing Models & Optimization
          • Scaling Strategies for Cost Efficiency
          • Serverless & Container-Based Cost Optimization
          • Hybrid & Edge Compute Cost Strategies
          • AWS License Manager
        • Task Statement 4.3: Design cost-optimized database solutions
          • SecureCart Journey
          • AWS Database Services & Cost Optimization Tools
          • Database Sizing, Scaling & Capacity Planning
          • Caching Strategies for Cost Efficiency
          • Backup, Retention & Disaster Recovery
          • Cost-Optimized Database Migration Strategies
        • Task Statement 4.4: Design Cost-Optimized Network Architectures
          • SecureCart Journey
          • AWS Network Cost Management & Monitoring
          • Load Balancing & NAT Gateway Cost Optimization
          • Network Connectivity & Peering Strategies
          • Optimizing Data Transfer & Network Routing Costs
          • Content Delivery Network & Edge Caching
      • Week Nine
        • Final Review Session
        • Final Practice Test
Powered by GitBook

@ 2024 IT Assist LLC

On this page
  • 📌 Use Case: SecureCart’s Trusted S3 Buckets
  • 📌 Additional Enhancements
  • 📌 Summary
  • Hands-On Guide: Implementing a Secure VPC Endpoint Policy for Trusted S3 Buckets in SecureCart’s AWS Environment
  • 📌 Step 1: Create a VPC Endpoint for Amazon S3
  • 📌 Step 2: Attach a Secure Endpoint Policy
  • 📌 Step 3: Restrict Access to Specific IAM Roles
  • 📌 Step 4: Enforce Access from a Specific VPC
  • 📌 Step 5: Test & Validate the Secure Setup
  • 📌 Summary
  1. Study Group
  2. AWS Certified Solutions Architect - Associate
  3. Domain 1: Design Secure Architectures
  4. Task Statement 1.2: Design Secure Workloads and Applications
  5. Use Cases

AWS Endpoint Policy for Trusted S3 Buckets

An AWS VPC Endpoint Policy for Amazon S3 controls who can access specific S3 buckets when using a VPC Endpoint. This is useful for restricting access to trusted AWS accounts, IAM roles, or specific resources.


📌 Use Case: SecureCart’s Trusted S3 Buckets

📌 Scenario: SecureCart stores customer order data and transaction logs in Amazon S3. To enhance security: ✔ Only SecureCart’s AWS accounts should access S3 via VPC Endpoints. ✔ Public access to S3 should be blocked. ✔ Only specific IAM roles should have read/write access to the bucket.


✅ Sample S3 VPC Endpoint Policy (Allow Only Trusted Accounts & IAM Roles)

jsonCopyEdit{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::securecart-private-bucket",
        "arn:aws:s3:::securecart-private-bucket/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:PrincipalAccount": "123456789012"
        }
      }
    },
    {
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::securecart-private-bucket",
        "arn:aws:s3:::securecart-private-bucket/*"
      ],
      "Condition": {
        "Bool": {
          "aws:SecureTransport": "false"
        }
      }
    }
  ]
}

📌 Explanation of Policy:

🔹 Statement 1 (Allow Access for Trusted AWS Account) ✔ Allows all actions (s3:*) on SecureCart’s S3 bucket. ✔ Restricts access to SecureCart’s AWS Account (123456789012).

🔹 Statement 2 (Deny Unencrypted Requests) ✔ Blocks requests where TLS (SSL) is not used (aws:SecureTransport: false). ✔ Ensures all access to SecureCart’s S3 bucket happens over HTTPS only.


📌 Additional Enhancements

1️⃣ Restrict Access to Specific IAM Roles

jsonCopyEdit"Condition": {
  "ArnEquals": {
    "aws:PrincipalArn": "arn:aws:iam::123456789012:role/SecureCartDataAccess"
  }
}

🔹 Only allows IAM role SecureCartDataAccess to access the bucket.

2️⃣ Restrict Access to a Specific VPC

jsonCopyEdit"Condition": {
  "StringEquals": {
    "aws:SourceVpc": "vpc-abcdef123456"
  }
}

🔹 Ensures SecureCart’s S3 bucket is only accessible from a specific VPC.

3️⃣ Limit Access to Read-Only or Write-Only

  • Allow only read access (s3:GetObject) to certain roles.

  • Allow only write access (s3:PutObject) for specific workloads.


📌 Summary

🚀 This VPC Endpoint Policy ensures SecureCart’s S3 buckets are: ✔ Only accessible to SecureCart’s AWS account. ✔ Restricted to IAM roles that should access it. ✔ Only reachable from a trusted VPC. ✔ Forces encryption (TLS/SSL) for all requests.

Hands-On Guide: Implementing a Secure VPC Endpoint Policy for Trusted S3 Buckets in SecureCart’s AWS Environment

This guide walks through the step-by-step process of securing SecureCart’s Amazon S3 buckets using a VPC Endpoint Policy that ensures: ✔ Only SecureCart’s AWS account can access the bucket ✔ Only specific IAM roles can perform actions ✔ Access is restricted to a specific VPC ✔ Requests must use HTTPS (TLS/SSL)


📌 Step 1: Create a VPC Endpoint for Amazon S3

📌 Why? VPC Endpoints allow SecureCart’s S3 bucket to be accessed privately from within the VPC—without using the public internet.

✅ Actions:

1️⃣ Sign in to the AWS Management Console. 2️⃣ Navigate to VPC → Endpoints → Create Endpoint. 3️⃣ Select AWS Service and search for S3. 4️⃣ Choose the VPC where SecureCart’s applications are running. 5️⃣ Select the private subnets that need access. 6️⃣ Choose an appropriate security group (allowing outbound HTTPS traffic). 7️⃣ Click Create Endpoint.

✅ Result: A new VPC endpoint is created, allowing S3 access from within the VPC.


📌 Step 2: Attach a Secure Endpoint Policy

📌 Why? The endpoint policy restricts who can access S3 via the VPC Endpoint.

✅ Actions:

1️⃣ Navigate to the VPC Endpoint you just created. 2️⃣ Click Policy → Edit Policy. 3️⃣ Copy and paste the following policy (adjusting AWS Account ID, VPC ID, and IAM role names).

jsonCopyEdit{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::securecart-private-bucket",
        "arn:aws:s3:::securecart-private-bucket/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:PrincipalAccount": "123456789012"
        }
      }
    },
    {
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::securecart-private-bucket",
        "arn:aws:s3:::securecart-private-bucket/*"
      ],
      "Condition": {
        "Bool": {
          "aws:SecureTransport": "false"
        }
      }
    }
  ]
}

✔ Restricts access to SecureCart’s AWS Account (123456789012) ✔ Denies requests that are not encrypted (HTTPS required)

4️⃣ Click Save.

✅ Result: Now, only SecureCart’s trusted AWS account can access the bucket, and unencrypted requests are denied.


📌 Step 3: Restrict Access to Specific IAM Roles

📌 Why? Only authorized IAM roles should have access.

✅ Actions:

1️⃣ Edit the VPC Endpoint Policy. 2️⃣ Add the IAM Role Restriction:

jsonCopyEdit"Condition": {
  "ArnEquals": {
    "aws:PrincipalArn": "arn:aws:iam::123456789012:role/SecureCartDataAccess"
  }
}

📌 Example Updated Policy

jsonCopyEdit{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::securecart-private-bucket",
        "arn:aws:s3:::securecart-private-bucket/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:PrincipalAccount": "123456789012"
        },
        "ArnEquals": {
          "aws:PrincipalArn": "arn:aws:iam::123456789012:role/SecureCartDataAccess"
        }
      }
    },
    {
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::securecart-private-bucket",
        "arn:aws:s3:::securecart-private-bucket/*"
      ],
      "Condition": {
        "Bool": {
          "aws:SecureTransport": "false"
        }
      }
    }
  ]
}

✅ Result: ✔ Only the IAM role SecureCartDataAccess can access the bucket. ✔ No unauthorized IAM roles or users can access it.


📌 Step 4: Enforce Access from a Specific VPC

📌 Why? Ensure S3 is only accessible from SecureCart’s trusted VPC.

✅ Actions:

1️⃣ Edit the VPC Endpoint Policy. 2️⃣ Add the VPC Restriction:

jsonCopyEdit"Condition": {
  "StringEquals": {
    "aws:SourceVpc": "vpc-abcdef123456"
  }
}

📌 Example Updated Policy

jsonCopyEdit{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::securecart-private-bucket",
        "arn:aws:s3:::securecart-private-bucket/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:PrincipalAccount": "123456789012",
          "aws:SourceVpc": "vpc-abcdef123456"
        },
        "ArnEquals": {
          "aws:PrincipalArn": "arn:aws:iam::123456789012:role/SecureCartDataAccess"
        }
      }
    },
    {
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::securecart-private-bucket",
        "arn:aws:s3:::securecart-private-bucket/*"
      ],
      "Condition": {
        "Bool": {
          "aws:SecureTransport": "false"
        }
      }
    }
  ]
}

✅ Result: ✔ Only requests originating from SecureCart’s VPC (vpc-abcdef123456) are allowed. ✔ Even if an IAM role is authorized, access from an external network is denied.


📌 Step 5: Test & Validate the Secure Setup

📌 Why? Ensure SecureCart’s security restrictions are working.

✅ Actions:

1️⃣ Try accessing S3 from an unauthorized IAM user → Request should be denied. 2️⃣ Try accessing S3 without HTTPS → Request should be denied. 3️⃣ Access S3 from a trusted IAM role & VPC → Request should be allowed. 4️⃣ Monitor AWS CloudTrail logs to verify access patterns.

✅ Final Result: SecureCart’s S3 bucket is now fully locked down, allowing only trusted accounts, IAM roles, and VPC access while enforcing TLS encryption.


📌 Summary

🚀 SecureCart’s Trusted S3 VPC Endpoint Setup Achieves: ✔ Secure access without exposing S3 to the public internet. ✔ IAM Role-based access control for granular security. ✔ Restricts access to a specific AWS VPC. ✔ Forces HTTPS encryption to prevent data leaks.

PreviousUse CasesNextIncreasing Fault Tolerance for AWS Direct Connect in SecureCart’s Multi-VPC Network

Last updated 2 months ago