In order to implement DRM in this solution, you will need a DRM Provider that supports SPEKE (1). In the case of MediaPackage, the partner must support SPEKE v1 (2).
Generally, the provider provides you with a SPEKE Gateway to deploy in your AWS account, in the same AWS Region where MediaPackage is running.
If you need to build your own SPEKE Gateway (which leverages Amazon's API Gateway) to connect MediaPackage to your key service, you can use the SPEKE Reference Server available on GitHub as a starting point (3).
You can find a list of Amazon partners that provide third-party DRM platform implementations for SPEKE here (4).
Once you have a DRM provider, you will need to enable encryption on your packaging configurations and set the applicable encryption settings.
In the packaging group created by the solution, you will see 4 packaging configurations (for CMAF, HLS, MSS & DASH).
After clicking 'Manage Configurations', you will need to duplicate / create new configurations (since you cannot edit an existing one), then 'Enable encryption'
packaging configuration screen
In this configuration screen is where you will specify the encryption settings.
encryption settings screen
- Content encryption and DRM in AWS Elemental MediaPackage : https://docs.aws.amazon.com/mediapackage/latest/ug/using-encryption.html
- Choosing the right SPEKE version : https://docs.aws.amazon.com/mediapackage/latest/ug/encryption-choosing-speke-version.html
- SPEKE Reference Server : https://github.com/awslabs/speke-reference-server
- Get on board with a DRM platform provider : https://docs.aws.amazon.com/speke/latest/documentation/customer-onboarding.html#choose-drm-provider