Cloud security

Cloud configuration and permissions described as code — checked before they exist, not after an incident.

We address the technical requirements of
DORANIS2UKSCISO 27001
The path of a cloud change
  1. Proposalchange described as code
  2. Reviewa second person approves
  3. Checkpolicies before launch
  4. Permissionsonly what is needed
  5. Deploymentfrom the pipeline, not the console
  6. Operationsdrift detection

A quick manual change is still possible — it just stops being invisible.

How it looks today

This is the starting point in many companies that ship fast and are regulated.

A cloud environment grows faster than anyone documents it. Permissions are granted "for now" and no one takes them away. A resource accidentally exposed to the internet looks identical in the console to every other one.

  1. Console
  2. “Temporary” change
  3. Resource exposed online
  4. Months later
  5. Audit or incident

What we do

We define the scope after an assessment — starting with the element that lowers your risk fastest.

A change in the cloud goes through review like code.

We start with a review of identities and permissions — including the service accounts no one usually remembers. We move the environment configuration into code, so every change has an author, a reason and the ability to be rolled back. We wire checks in before a resource launches, so a misconfiguration stops at the proposal stage instead of surfacing in an audit six months later. On top of that we watch for drift from the approved state, because a quick manual change happens in every organization.

Four stages

Each stage leaves you with a concrete result, not meeting notes.

  1. 01

    We review identities and permissions

    Who can do what in your environment — including service accounts.

    ResultA map of identities and permissions, including forgotten service accounts

  2. 02

    We move changes into code

    Cloud configuration goes through review like any other change.

    ResultEnvironment configuration as code: every change has an author and can be rolled back

  3. 03

    We check before launch

    A misconfiguration stops at the proposal stage, not after deployment.

    ResultChecks that stop a bad configuration before launch

  4. 04

    We watch the state continuously

    Drift from the approved configuration surfaces automatically, not at the next audit.

    ResultAn automatic signal when the environment drifts from the approved state

What you get in practice

Implementation ends with working configuration and evidence, not a report full of recommendations. Here is an example.

Configuration as codestorage.tf · excerpt
# the bucket cannot go public, even by mistake
resource "aws_s3_bucket_public_access_block" "reports" {
  bucket                  = aws_s3_bucket.reports.id
  block_public_acls       = true
  block_public_policy     = true
  ignore_public_acls      = true
  restrict_public_buckets = true
}

The setting goes through review and does not disappear with the next change.

Permission reviewexcerpt
IdentityHasDecision
service account ci-legacyadministratorrevoke
role deploywrite in all accountsnarrow to one
former employeeactive access keydisable

Permissions stop piling up because someone reviews them regularly.

Detected driftevent
Resource
security group sg-api
Change
port 22 open to the whole internet
Source
manual change in the console
Detected
comparison with the state in code
Status
approved state restored

A manual change surfaces the same day, not at the audit.

Illustration. We choose scope and tools after the assessment.

What stays with you

A change in the environment leaves a trail and goes through review

A configuration error surfaces before the resource launches

Permissions stop accumulating without end

Frequently asked questions

How long does it take?+

We define the scope after a call and an assessment. Smaller engagements close in a few weeks; larger ones we split into stages, so the result is visible after the first.

Do we have to give you access to the code?+

Usually not to all of it. In most cases access to the build pipeline configuration and organization settings is enough. We define the scope in writing before we start.

Does our team have to get involved?+

Yes, but not full time. We need contact with someone who knows the system, and a review of our changes. The rest is on us.

What if we already have tools?+

We plug into what already works for you. Replacing a tool is the most expensive and least often necessary way to improve security.

Do we become dependent on you?+

No. We work with standards and tools your team knows or will quickly learn — not a proprietary method only we understand. Everything is documented and handed over.

Won't this slow down releases?+

We wire controls so they run in the background. If one starts blocking work, we tune it or move it to a different point in the process.

Let's find where risk
enters your delivery process

We reply within 24h on business days