This is an archive version of the document. To get the most up-to-date information, see the current version.

Backup and Restore Worker IAM Role Permissions

You can instruct Veeam Backup for AWS to launch worker instances in production accounts when performing image-level backup and entire instance and volume-level restore operations for EC2 instances. To do that, enable worker deployment in the production account in the backup policy settings, in the instance restore settings or in the volume-level restore settings, and specify an IAM role that will be attached to the worker instances and used by Veeam Backup for AWS to communicate with these instances.

Important

To launch worker instances in production accounts, Veeam Backup for AWS uses the permissions of IAM roles specified for backup and restore operations. That is why you must assign to these IAM roles additional permissions listed in sections EC2 Backup IAM Role Permissions and EC2 Restore IAM Permissions.

IAM Role Requirements and Permissions

To allow Veeam Backup for AWS to attach IAM roles to worker instances and further to communicate with these instances, IAM roles specified in the EC2 backup policy settings and the restore settings must meet the following requirements:

  1. The IAM roles must be included at least in one instance profile. For more information on instance profiles, see AWS Documentation.
  2. The backup appliance must be granted permissions to assume the IAM roles.

To allow the backup appliance to assume an IAM role, configure trust relationships for the role and add the following statement to the trust policy.

{

 "Version": "2012-10-17",

 "Statement": [

   {

     "Effect": "Allow",

     "Action": "sts:AssumeRole",

     "Principal": {

       "AWS": "<Role ARN>"

     }

   }

 ]

}

Where <Role ARN> is the ARN either of the Impersonation IAM role attached to the backup appliance or of an AWS account to which the backup appliance belongs.

For more information on the Impersonation IAM role, see Required IAM Permissions. To learn how to configure trust relationships for a role and how to find the ARN of the Impersonation IAM role, see Appendix A. Creating IAM Roles in AWS.

  1. The Amazon EC2 service must be granted permissions to assume the IAM roles.

To allow the Amazon EC2 service to assume an IAM role, configure trust relationships for the role and add the following statement to the trust policy.

{

 "Version": "2012-10-17",

 "Statement": [

   {

     "Effect": "Allow",

     "Action": "sts:AssumeRole",

     "Principal": {

       "Service": "ec2.amazonaws.com"

     }

   }

 ]

}

To learn how to configure trust relationships, see Appendix A. Creating IAM Roles in AWS.

  1. The IAM roles must be granted the following permissions:

{

   "Version": "2012-10-17",

   "Statement": [

       {

           "Action": [

               "ec2messages:AcknowledgeMessage",

               "ec2messages:DeleteMessage",

               "ec2messages:FailMessage",

               "ec2messages:GetEndpoint",

               "ec2messages:GetMessages",

               "ec2messages:SendReply",

               "iam:GetContextKeysForPrincipalPolicy",

               "iam:GetRole",

               "iam:ListInstanceProfilesForRole",

               "iam:SimulatePrincipalPolicy",

               "sqs:DeleteMessage",

               "sqs:ListQueues",

               "sqs:ReceiveMessage",

               "sqs:SendMessage",

               "ssm:DescribeAssociation",

               "ssm:DescribeDocument",

               "ssm:GetDeployablePatchSnapshotForInstance",

               "ssm:GetDocument",

               "ssm:GetManifest",

               "ssm:GetParameter",

               "ssm:GetParameters",

               "ssm:ListAssociations",

               "ssm:ListInstanceAssociations",

               "ssm:PutComplianceItems",

               "ssm:PutConfigurePackageResult",

               "ssm:PutInventory",

               "ssm:UpdateAssociationStatus",

               "ssm:UpdateInstanceAssociationStatus",

               "ssm:UpdateInstanceInformation",

               "ssmmessages:CreateControlChannel",

               "ssmmessages:CreateDataChannel",

               "ssmmessages:OpenControlChannel",

               "ssmmessages:OpenDataChannel"

           ],

                     "Resource": "*",

                     "Effect": "Allow"

         }

   ]

}

To learn how to create IAM roles and assign them the required permissions, see Appendix A. Creating IAM Roles in AWS.