Using Amazon S3 as Platform assets repository:
This section provides general instructions, guidelines and pre-requisites for using Amazon S3 as a repository adapter in Quark Publishing Platform.
Following steps should be performed for using S3 as assets repository:
Creation of S3 bucket in AWS
-
Login to AWS Console using a valid account and user.
-
Go to S3 and create S3 bucket by specifying the bucket name and appropriate region.
3. Since Platform uses S3 provided versioning for asset version management, it is mandatory to enable “Versioning” as shown in the following screenshot. Also ensure NOT to apply any Lifecycle rules on the bucket which affects object versions.
4. For security reasons, it is recommended to block public access to this bucket.
5.Finally, review and create the bucket.
6. Go to the bucket and click on “Create Folder” option and create folder ”Assets” inside the bucket as shown in the screenshot below.
Optional: Appropriate server-side encryption can be chosen for data at rest.
7. Assign S3 bucket permissions to EC2 instance where Platform Server is running.
Following are the set of S3 bucket permissions required by the Platform Server:
-
s3:PutObject
-
s3:GetObject
-
s3:GetObjectVersion
-
s3:DeleteObjectVersion
Following steps should be performed to provide these permissions:
Create Policy
-
Go to AWS IAM Policies section and click on “Create policy “ as shown below:
-
Create policy using following json:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:GetObjectVersion",
"s3:DeleteObjectVersion"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::qpp-assets-bucket/Assets/*"
} ,
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": "arn:aws:s3:::qpp-assets-bucket "
}
]
}
-
Provide appropriate name/description to create the policy.
Create Role
Note: If Platform running EC2 instance has some role already assigned to it, this step can be skipped by simply attaching the above created policy to that role.
Create role and assign the above created policy to this role as per following steps:
-
Go to AWS IAM Roles section and click on “Create role“ as shown below:
-
Select EC2 as trusted entity as shown below:
-
Attach above created policy to this role.
-
Provide name and create the role
Assign role to EC2 instance:
If the new role is created using above steps, attach that role to the Platform EC2 instance as shown below:
Register Amazon S3 as repository adapter in Platform
-
Open Platform’s web-based admin client
-
Under storage, create new repository by providing appropriate bucket name, region and folder.
-
List of all regions can be found at: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html from where the appropriate region can be found.
-