Organizations | Stack | Fluid Attacks Help

Organizations

Rationale

We have a single AWS account to contain our development and production resources. This goes in line with the monorepo paradigm used in the code.

Note on AWS Sandbox OU
Note: A second account called Innovation is used as a Sandbox OU but is limited to be used as a playground.

The main benefits of using the single-account approach are the following:
  1. It is compatible with Fluid Attacks' engineering team structure. We are a single team in a horizontal hierarchy, with no dedicated teams for test/QA, security, networking or infrastructure.
  2. Our monorepo gives us a centralized place with complete observability. No need to split relevant configuration.
  3. There is less complexity and management, especially in networking and access policies.
  4. Although account isolation is desirable, authentication (Okta SAML) and authorization (IAM roles) are properly implemented. Besides, accidental deletion and unauthorized access is enforced via policies rather than isolation.
  5. Our tagging strategy is currently enough to segregate costs, and billing aggregation for multi-account could be difficult.
  6. A transition to multi-account is hard to undo.

Alternatives

  1. Establishing, designing and implementing a multi-account environment
  2. Implementing the recommended OUs and accounts
  3. Leveraging the services AWS Control Tower and AWS Identity Center to ease the management burden
Some possible benefits of changing to a multi-account environment, having more teams or isolated products, could be the following:
  1. It is encouraged as a security and governance best practice
  2. It enables exceeding service limits and quotas
  3. Limiting the blast radius in case of a change or configuration error
  4. Data residency, thus GDPR compliance, through Control Tower guardrails

Usage

We use a single AWS account for hosting our AWS resources and their management:
  1. Cost management
  2. Access control
  3. Networking
  4. Compute
  5. Storage
  6. Security
  7. Logging