Use the CloudFormation template to create the resources.
-
Access control:
- For our application, create the dedicated Role with External ID (OB_ROLE).
- For our application, create the dedicated Audit Role with the same External ID (OB_AUDIT_ROLE).
-
Bucket Configuration:
- Create a master key in KMS.
- Create a bucket for backup data encrypted with KMS.
- Create Server Access Logs dedicated to the bucket encrypted with the default key.
- Configure bucket events to be sent to Own AWS Account (SQS in OB AWS).
-
Role Policies:
- Grant OB_ROLE permissions to put, list, and delete objects in the bucket.
- Grant OB_AUDIT_ROLE permissions to retrieve bucket configuration and policies.
- The IAM OB tenant is the only user that can assume the OB_ROLE.
- The IAM OB tenant is the only users that can assume the OB_AUDIT_ROLE.
-
Bucket Policies:
- The OB_ROLE is the only role with the permission to put, list, and delete objects in the backup bucket.
- Access to objects within the backups bucket is only from OB VPC.
Other Bucket Properties & Permissions:
- Public access - OFF.
- Server-side-encryption - ON (AWS managed KMS).
- Versioning - ON.
- Server Access Logging - ON.
- Only Allow SecureTransport HTTPS (TLS V 1.2 and above).
- Lifecycle.
- Deleted version is removed after 14 days.
- Move from standard to in-frequent tier after 30 days.
- Delete objects with tag temp_storage after 30 days.