<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: ColWillis</title>
    <description>The latest articles on Forem by ColWillis (@colwillis).</description>
    <link>https://forem.com/colwillis</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F311622%2F75361e4b-9845-4d09-9fe0-8f603811e1e2.jpg</url>
      <title>Forem: ColWillis</title>
      <link>https://forem.com/colwillis</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/colwillis"/>
    <language>en</language>
    <item>
      <title>Productionize multi AWS Accounts (org-formation Landing Zone)</title>
      <dc:creator>ColWillis</dc:creator>
      <pubDate>Tue, 17 Aug 2021 11:59:12 +0000</pubDate>
      <link>https://forem.com/colwillis/productionize-multi-aws-accounts-org-formation-landing-zone-5h74</link>
      <guid>https://forem.com/colwillis/productionize-multi-aws-accounts-org-formation-landing-zone-5h74</guid>
      <description>&lt;p&gt;Following-on from the &lt;a href="https://dev.to/aws-builders/landing-zones-organizations-ous-and-multi-account-environments-1243"&gt;'Landing Zones, Organizations, OUs and Multi-Account Environments blog'&lt;/a&gt;, I decided to "practice what I preach" with my personal AWS Accounts!&lt;/p&gt;

&lt;p&gt;Currently I have 5-10 Accounts for different workloads (spikes, storage of personal data, web app hosting etc); I have had these accounts for many years and I manually used AWS Organizations via the Console to create &amp;amp; manage them&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NO&lt;/strong&gt; guardrails or SCPs have been implemented, I have probably deployed &amp;amp; configured some AWS services wrong and I have probably created IAM users with broad (*) permissions&lt;/p&gt;

&lt;p&gt;The purpose of this blog is to address the above concerns; To refactor my accounts into a Landing Zone that follows the AWS best practices.&lt;/p&gt;

&lt;h1&gt;
  
  
  My Accounts - Current Account Architecture
&lt;/h1&gt;

&lt;p&gt;The below Diagram shows my current Account structure&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwnji4b9lxkjbzsy0e407.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwnji4b9lxkjbzsy0e407.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  org-formation - Overview
&lt;/h1&gt;

&lt;p&gt;Taken from &lt;a href="https://github.com/org-formation/org-formation-cli" rel="noopener noreferrer"&gt;github org-formation&lt;/a&gt;; &lt;em&gt;AWS Organization Formation is an Infrastructure as Code (IaC) tool for AWS Organizations.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;org-formation orchestrates CloudFormation and AWS Organizations for account creation and resource provisioning&lt;/p&gt;

&lt;h2&gt;
  
  
  Tasks / Features
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Tasks&lt;/strong&gt; files can be added to enable a variety of Automated features such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OrganizationAccountAccessRole restrictions (SCPs)&lt;/li&gt;
&lt;li&gt;Budget Alarms&lt;/li&gt;
&lt;li&gt;AWS Access Key Rotation checks&lt;/li&gt;
&lt;li&gt;Enabling CloudTrail&lt;/li&gt;
&lt;li&gt;Centralising and Enabling Guard Duty&lt;/li&gt;
&lt;li&gt;Many IAM Configurations (Password Policy, force MFA)&lt;/li&gt;
&lt;li&gt;Many S3 Configurations (Prohibit Read &amp;amp; Write, Enable encryption)&lt;/li&gt;
&lt;li&gt;VPC Security Groups conform to (user-defined) ALLOW list&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This feature list is what I intend to implement on my Accounts.&lt;br&gt;
For the full list of available org-formation features, please refer to the &lt;strong&gt;40mb&lt;/strong&gt; &lt;a href="https://github.com/org-formation/org-formation-cli/raw/master/docs/features.pdf" rel="noopener noreferrer"&gt;pdf&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  FYI on Tooling Decision
&lt;/h2&gt;

&lt;p&gt;Control Tower? Terraform? CloudFormation? org-formation? CDK?...&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It is not the purpose of this post to go into the detailed comparisons of these tools.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I am an AWS Architect at Version 1, I have experienced all of the above tools used to produce Landing Zones for Clients.&lt;/p&gt;

&lt;h2&gt;
  
  
  org-formation (DAPx)
&lt;/h2&gt;

&lt;p&gt;One of the Version 1 DAPx Landing Zone Accelerators is built upon &lt;a href="https://github.com/org-formation/org-formation-cli" rel="noopener noreferrer"&gt;org-formation&lt;/a&gt;, I have used this for my Landing Zone.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It is not the purpose of this post to &lt;em&gt;sell&lt;/em&gt; DAPx, please message me if you would like to know more about &lt;a href="https://www.version1.com/it-service/dapx/" rel="noopener noreferrer"&gt;DAPx&lt;/a&gt;, &lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  My Accounts - Target Accounts Architecture Design
&lt;/h1&gt;

&lt;p&gt;The below diagram shows the Target Account structure that is aligned to the best practices &amp;amp; architecture detailed in the &lt;a href="https://dev.to/aws-builders/landing-zones-organizations-ous-and-multi-account-environments-1243"&gt;'LZs, Organizations, OUs and Multi-Account Environments blog'&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn23otqwohbpnxt727oj7.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn23otqwohbpnxt727oj7.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Development Summary
&lt;/h2&gt;

&lt;p&gt;org-formation is a highly flexible and powerful toolkit, to prevent content bloat I will provide only a few code/console snippets for key important featues.&lt;/p&gt;

&lt;h3&gt;
  
  
  IAM Role - Account/OU Access
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjao4ovi7us7zisr394ov.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjao4ovi7us7zisr394ov.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe48vh4ohoqe6pyl7n18e.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe48vh4ohoqe6pyl7n18e.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Secure Defaults
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo81ddh9s4gbebrxynyts.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo81ddh9s4gbebrxynyts.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Budget Alarms
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faisldhp6os36xj2dvpen.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faisldhp6os36xj2dvpen.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhis986d5imisr0if4zad.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhis986d5imisr0if4zad.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  GuardDuty
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F40wlsmcq5w1nz5smw7g2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F40wlsmcq5w1nz5smw7g2.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5dh3qz18gg2ur2ocm3is.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5dh3qz18gg2ur2ocm3is.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  AWS Config
&lt;/h3&gt;

&lt;p&gt;Centralised AWS Config in the Master Account, AWS Config has access to all member/child accounts.&lt;br&gt;
The LogArchive Bucket is in the LogArchive Account, this has Access Restrictions and Cleardown Policies by-default&lt;br&gt;
AWS Config Findings Alerts (inc SNS Topic by-default), All &lt;a href="https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html" rel="noopener noreferrer"&gt;AWS Config Managed Rules&lt;/a&gt; are available to use&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj18rx0gkgpumqacsn2ap.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj18rx0gkgpumqacsn2ap.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  CloudTrail
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnazgy3nams8ddgu0rtb3.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnazgy3nams8ddgu0rtb3.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  SCPs
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr7m7d2v6ng9qyzaznlcy.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr7m7d2v6ng9qyzaznlcy.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9ib3uk5ove7dh5lkis2o.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9ib3uk5ove7dh5lkis2o.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  The End Result
&lt;/h1&gt;

&lt;p&gt;The below diagram shows the final Account Structure &amp;amp; AWS Services that have now been implemented&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl0pced9aorz8yzz7ja9f.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl0pced9aorz8yzz7ja9f.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Cleanup on isle "Config Findings"
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F41zaedne1xfxod8hnzlc.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F41zaedne1xfxod8hnzlc.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
These Config Rule Alerts include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;access-keys-rotated&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;iam-password-policy&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;root-account-mfa-enabled&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;s3-bucket-server-side-encryption-enabled&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;vpc-sg-open-only-to-authorized-ports&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once I have remediated these I will feel a lot better about the security of my AWS accounts!&lt;/p&gt;

&lt;p&gt;Thank you for reading, constructive feedback is welcomed.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>security</category>
      <category>organizations</category>
      <category>devops</category>
    </item>
    <item>
      <title>Landing Zones, Organizations, OUs and Multi-Account Environments</title>
      <dc:creator>ColWillis</dc:creator>
      <pubDate>Wed, 21 Jul 2021 16:33:54 +0000</pubDate>
      <link>https://forem.com/aws-builders/landing-zones-organizations-ous-and-multi-account-environments-1243</link>
      <guid>https://forem.com/aws-builders/landing-zones-organizations-ous-and-multi-account-environments-1243</guid>
      <description>&lt;h2&gt;
  
  
  This Post is a notes-summary of AWS Best Practices for:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Governance, risk, and compliance when establishing your cloud presence (&lt;a href="https://aws.amazon.com/blogs/mt/governance-risk-and-compliance-when-establishing-your-cloud-presence/?blog_multi_account_ct" rel="noopener noreferrer"&gt;AWS Blog Page&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Organizational Units with AWS Organizations (&lt;a href="https://aws.amazon.com/blogs/mt/best-practices-for-organizational-units-with-aws-organizations/" rel="noopener noreferrer"&gt;AWS Blog Page&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Managing the multi-account environment using AWS Organizations and AWS Control Tower (&lt;a href="https://aws.amazon.com/blogs/mt/managing-the-multi-account-environment-using-aws-organizations-and-aws-control-tower/" rel="noopener noreferrer"&gt;AWS Blog Page&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h1&gt;
  
  
  PART 1. Best Practices for... Governance, risk, and compliance when establishing your cloud presence
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://aws.amazon.com/blogs/mt/governance-risk-and-compliance-when-establishing-your-cloud-presence/?blog_multi_account_ct" rel="noopener noreferrer"&gt;AWS Blog Page&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Check the &lt;a href="https://docs.aws.amazon.com/wellarchitected/latest/management-and-governance-lens/management-and-governance-lens.html?did=wp_card&amp;amp;trk=wp_card" rel="noopener noreferrer"&gt;Management and Governance Lens&lt;/a&gt; (A Well-Architected Lens extension)
This is built up from years of migrations and best practices learned along the way&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Introducing a Landing Zone
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Separation of concerns get more important and also difficult as companies grow in AWS&lt;/li&gt;
&lt;li&gt;Separate costs for budgets and billing&lt;/li&gt;
&lt;li&gt;Security enforcement, resource isolation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A Landing Zone is a...&lt;strong&gt;Well-architected multi-account AWS environment that is stable and secure&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The starting point for your cloud journey&lt;/li&gt;
&lt;li&gt;Built on AWS Organization w/ multiple accounts&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Landing Zone Framework
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbbejzqjzumktywesglob.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbbejzqjzumktywesglob.jpg" alt="Landing Zone Framework"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Foundational OUs
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Shared Services&lt;/strong&gt; OU is for things like log archival, networking - Usually the responsibility of central teams&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Infrastructure&lt;/strong&gt; - Shared IT Services &amp;amp; Networking&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security&lt;/strong&gt; - Log Archival, security tools, break-glass / forensics&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Additional OUs
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Sandbox OU&lt;/strong&gt; to allow developers to have their own accountsa to spike/experiment&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Workloads OU&lt;/strong&gt; to isolate and tightly control production/app services&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;etc&lt;/strong&gt; - These are a guide, pick which fits the company the best&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Landing Zone Automation
&lt;/h2&gt;

&lt;p&gt;2 Tools to assist here...&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AWS Control Tower&lt;/strong&gt; - AWS Managed Service to setup and govern multi-account env
** It uses AWS Organizations and a number of other services to automate the orchestration
** Easier option, minimal customisations; Still allows your to centrally manage governance and has preconfigured best practices&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AWS Organizations&lt;/strong&gt; - Use this directly, high levels of customisation
Personal Note: Check out &lt;a href="https://github.com/org-formation/org-formation-cli" rel="noopener noreferrer"&gt;org-formation&lt;/a&gt; or Terraform&lt;/li&gt;
&lt;/ul&gt;




&lt;h1&gt;
  
  
  PART 2. Best Practices for... Organizational Units with AWS Organizations
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://aws.amazon.com/blogs/mt/governance-risk-and-compliance-when-establishing-your-cloud-presence/?blog_multi_account_ct" rel="noopener noreferrer"&gt;AWS Blog Page&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Apply SCPs at an OU Level&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;SDLC OUs&lt;/strong&gt; - Think of having SCPs at each stage of the lifecycle of the application&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffxw0oqvidpe1n1tsxjw4.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffxw0oqvidpe1n1tsxjw4.jpg" alt="SDLC OUs"&gt;&lt;/a&gt;&lt;br&gt;
e.g Different Policies in different Stages/Environments (Dev vs Test)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Deployments OU&lt;/strong&gt; - If you have different governance and operational models for CICD compared to accounts in Workloads OU (Prod / SDLC)&lt;br&gt;
** Reduces dependency on shared CI/CD environments&lt;br&gt;
** Pipelines and CICD should match the operational model of the software service it builds and deploys&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2t04wjay8lscub15q00x.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2t04wjay8lscub15q00x.jpg" alt="Deployments OUs"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Infra OU&lt;/strong&gt; may looks like this:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdtqqmh6mvs3ybcecofjh.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdtqqmh6mvs3ybcecofjh.jpg" alt="Infra OU"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security OU&lt;/strong&gt; for hosting security-related services, should be managed by Security team(s)&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffwc743gn3yczf4zdwygb.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffwc743gn3yczf4zdwygb.jpg" alt="Security OU"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Log Archive&lt;/strong&gt; - Audits&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;ReadOnlyAccess&lt;/strong&gt; - Humans for Read-Only permission, cross-account role from here&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Breakglass&lt;/strong&gt; - Humans in rare scenarios/security incidents, special authorisation would be required, all access to this logged in detail&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Tooling&lt;/strong&gt; - MINIMAL Humans, Master Account for Guard Duty, Security Hub and Amazon Detective...Human Access for Admin purposes only, infrequent&lt;br&gt;
** IaC should be heavily used&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Sandbox OU&lt;/strong&gt; for individuals wanting to play, should limit internet access if possible&lt;br&gt;
** Individuals Accounts created in here e.g ColinWillisAccount&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Workloads OUs&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsh81vb7d69yw3krfnnud.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsh81vb7d69yw3krfnnud.jpg" alt="Workloads OUs"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Suspended OU&lt;/strong&gt; - Accounts that are to be deleted from the Organisation&lt;br&gt;
** Apply an SCP to deny all actions, add Tags for traceability if they need to be restored&lt;br&gt;
** Accounts are permanent deleted after 90 days&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Exceptions OU&lt;/strong&gt; - Accounts that warrant exceptions to Security or Auditing conditions&lt;br&gt;
** SCP may be applied directly to the accounts here&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Think Top-Secret Project Account; it may have MORE scrutiny than standard accounts&lt;/p&gt;




&lt;h1&gt;
  
  
  PART 3. Best Practices for... Managing the multi-account environment using AWS Organizations and AWS Control Tower
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://aws.amazon.com/blogs/mt/managing-the-multi-account-environment-using-aws-organizations-and-aws-control-tower/" rel="noopener noreferrer"&gt;AWS Blog Page&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Permissions Management
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Once Organization is created, enable AWS SSO&lt;/li&gt;
&lt;li&gt;AWS SSO can recognize existing users and groups who need access&lt;/li&gt;
&lt;li&gt;Prebuild in AWS or use External Identity store (like Azure AD or Okta)&lt;/li&gt;
&lt;li&gt;SCP can restrict boundaries e.g Which AZ a user can work in&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://dev.toGuardrails%20in%20Control%20Tower"&gt;https://docs.aws.amazon.com/controltower/latest/userguide/guardrails.html&lt;/a&gt; is good to reference&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;** &lt;strong&gt;Preventative guardrails&lt;/strong&gt; are SCPs that limit actions based on your policies.&lt;/p&gt;

&lt;p&gt;** &lt;strong&gt;Detection guardrails&lt;/strong&gt; are AWS Config rules paired with AWS Lambda&lt;/p&gt;

&lt;p&gt;*** These detect noncompliant resources and alert you through the Control Tower dashboard for remediation&lt;/p&gt;

&lt;h2&gt;
  
  
  Security
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;AWS offers a feature called Delegated Administration, which allows you to designate an account (such as via Security Tooling Account)
** Use this to then manage the following AWS security and audit services on behalf of the entire organization
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;AWS Audit Manager - automates the continuous collection of evidence to help you audit your use of cloud services.
AWS Config - detects and provides mitigation recommendations for incorrectly configured resources.
Amazon GuardDuty - detects unexpected and potentially unauthorized and malicious activity in your AWS environment.
Amazon Macie - continuously evaluates your content to identify business-critical or potentially confidential data.
AWS Trusted Advisor - identifies opportunities to improve stability, save money, or help close security gaps.
IAM Access Analyzer - helps you identify any resources or data in your AWS environment that are shared with external entities.
AWS Security Hub - provides you with security checks and recommendations across your organization.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Security users can then centrally view and manage security events&lt;/li&gt;
&lt;li&gt;NOTE: You may need to enable certain Security Services at the management/organizational account level&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Account Management
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;After initial Organization setup, new or invited Accounts can be assigned to OUs&lt;/li&gt;
&lt;li&gt;Integrated into AWS Organizations, these help you get accounts ready to use:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;** &lt;strong&gt;AWS Resource Access Manager&lt;/strong&gt; - Make resources available cross-account e.g EC2 Capacity Reservation, VPC Endpoints&lt;/p&gt;

&lt;p&gt;** &lt;strong&gt;AWS CloudFormation StackSets&lt;/strong&gt; - Share Stacks cross account e.g Automatically delete or create resources when an Account joins or leaves the Organization&lt;/p&gt;

</description>
      <category>aws</category>
      <category>security</category>
      <category>organizations</category>
    </item>
  </channel>
</rss>
