Skip to content

Control Tower setup - Insufficient privileges to create a backup vault. Creating a backup vault requires backup-storage and KMS permissions.

0

I have an existing Organisation and I am trying to set up Control Tower.

I am getting following error in my dashboard:

Error
AWS Control Tower failed to deploy one or more stack set instances: StackSet Id: AWSControlTowerCentralBackup:xyz, Stack instance Id: arn:aws:cloudformation:eu-central-1:xyz:stack/StackSet-AWSControlTowerCentralBackup-xyz/xyz, Status: OUTDATED, Status Reason: ResourceLogicalId:CentralBackupVault, ResourceType:AWS::Backup::BackupVault, ResourceStatusReason:Resource handler returned message: "Insufficient privileges to create a backup vault. Creating a backup vault requires backup-storage and KMS permissions. (Service: Backup, Status Code: 403, Request ID: xyz) (SDK Attempt Count: 1)" (RequestToken: xyz, HandlerErrorCode: AccessDenied).

I understand I need more permissions but I am not sure where to set those up. I am logged in to AWS Console as administrator. Which user supposed to have the permissions and what permissions exactly?

Thank you for any help

EDIT:

The problem was with the Backup so I have been able to deploy the Control Tower by disabling the Backup features altogether. Once the Control Tower has been successfully deployed I've decided to go back to Landing Zone settings and enable the Backup features like suggested by @SHAJAM.

  1. AWS Backup not enabled Landing zone settings

  2. Modify the settings 3. step setting of the backup

  3. wait 35 minutes and then the same error is shown error

Can anyone help me with this?

asked 4 months ago231 views

5 Answers
3

I think the error occurs because the AWSControlTowerExecution role in the target account (e.g., Audit or Log Archive) lacks the necessary permissions to create the Backup Vault and interact with KMS. Since this is a StackSet deployment, it is restricted by Service Control Policies (SCPs) or Permissions Boundaries, regardless of your personal Administrator status.

I would check the following:

1. Check Service Control Policies (SCPs):

In the Management Account, go to AWS Organizations > Policies. Ensure no SCP is explicitly denying backup:* or kms:* actions. Look specifically for "Deny-All-Except-Listed-Regions" policies that might be blocking the region eu-central-1.

2. Verify KMS Key Policy:

If you enabled encryption for Control Tower, the KMS Key Policy must allow the cloudformation.amazonaws.com service principal and the AWSControlTowerExecution role to perform kms:CreateGrant and kms:GenerateDataKey.

3. Permissions Boundaries:

Check if the AWSControlTowerExecution role in the target account has a Permissions Boundary attached that excludes the AWS Backup service.

After „relaxing“ the SCP or updating the Key Policy, go to the Control Tower Dashboard and select Landing Zone Settings > Repair to re-run the deployment.

EXPERT

answered 4 months ago

EXPERT

reviewed 4 months ago

  • Hi @Florian, thank you for quick response.

    I don't have any SCP related to backup nor Permission boundaries in place.

    I wanted to add the permissions to KMS key but I am not sure which account the AWSControlTowerExecution role will be created in. It is not currently present in the account where my Tower Control is being created.

  • I noticed that the Control Tower will add various SCP policies to the Security OU whilst initializing.

    I sat 30 minutes refreshing the SCP screen and any time new policy popped up I just detached it from Security OU.

    There were 3 policies but this still didn't help and I ended up with the exactly same error.

    I don't know what else to do here. This is not user friendly at all.

1

Checking my own settings again, I think you will need to enable Backup from Landing Zone settings. I have added a screen shot below.Enter image description here

EXPERT

answered 4 months ago

EXPERT

reviewed 4 months ago

  • I was able to get through Control Tower initialization by disabling anything related to backup (eg. Central Backup and Backup Administrator accounts).

    After that I wanted to enable the backup as per your screenshot in the landing zone but it ended up with exactly the same error.

    Any advice here?

0

Check for your AWSControlTowerExecution role and confirm it has backup:* and kms:* permissions in the eu-central-1 account. If not, it has be to added to Control Tower's role. Note, backup:* and kms:* are too broad, so, you might create granular permissions as needed.

EXPERT

answered 4 months ago

EXPERT

reviewed 4 months ago

  • Hi @SHAJAM, where I can find AWSControlTowerExecution? There is no such role in the account I am trying to set up Control Tower from.

0

Hello.

The "AWSControlTowerExecution" role is automatically created for AWS accounts created in Account Factory, but you need to create it yourself if you add an existing account to Control Tower.
Please try adding it using the following documentation as a reference.
https://docs.aws.amazon.com/controltower/latest/userguide/awscontroltowerexecution.html

For accounts in the Security OU (sometimes called core accounts), AWS Control Tower creates the role at the time of initial AWS Control Tower setup.
For an Account Factory account created through the AWS Control Tower console, AWS Control Tower creates this role at the time of account creation.
For a single account enrollment, we ask customers to manually create the role and then enroll the account in AWS Control Tower.
When extending governance to an OU, AWS Control Tower uses the StackSet-AWSControlTowerExecutionRole to create the role in all accounts in that OU.

You need to create an IAM role for each AWS account managed by Control Tower.
The Control Tower management account will then use that IAM role to perform operations.
https://docs.aws.amazon.com/controltower/latest/userguide/conditions-for-role-trust.html

{
  "Version":"2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "controltower.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "ArnEquals": {
          "aws:SourceArn": "arn:aws:controltower:us-west-2:012345678901:*"
        }
      }
    }
  ]
}

EXPERT

answered 4 months ago

EXPERT

reviewed 4 months ago

  • Thanks Riku,

    I have trying to set up Control Tower for existing Organisation. The set up created Security OU and 4 accounts inside the OU:

    • Aggregator account
    • Backup administrator
    • Central backup
    • CloudTrail administrator

    All of the accounts already contain AWSControlTowerExecution which has correct trust relation with the main management account and all have AdministratorAccess permissions.

    Do I need to create such roles in all of my accounts manually? I mean in other OUs then Security OU?

0

Could you please verify the KMS key policy for the multi-region KMS key you are using for backup? Also, if you are governing multiple regions, please ensure that the key is replicated across all the regions BEFORE you enable backup. Additionally, if you make any changes to the KMS key policy of a multi-region key after you created a replica, the key policy is NOT automatically propagated to the replica keys, and you'd have to manually modify the key policy to match what's shown in the documentation

AWS
SUPPORT ENGINEER

answered 2 months ago

  • Thank you for your input Jayid.

    Unfortunately I have already deleted anything related to Control Tower as it was not working for me.

    But I am pretty sure that I had correct KMS key policy and also the key has been replicated successfully.

    I am unable to confirm if this would work or not as I have removed the Control Tower and moved away to different solution (I've created specifically for this purposes) https://github.com/beesolve/aws-accounts

    Thanks anyway!

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.