AWS Signer Specialized2019年〜
A service that signs and verifies code to ensure only trusted code is deployed
What It Does
AWS Signer cryptographically signs Lambda function deployment packages, IoT device firmware, container images, and other code to verify they haven't been tampered with. Signing profiles manage signature expiration and platform settings.
Use Cases
Tamper prevention through Lambda function code signing, firmware update verification for IoT devices, automated code signing in CI/CD pipelines, and implementing code signing for compliance requirements.
Everyday Analogy
Think of a notary public. A notary (Signer) stamps an official seal (signature) on important documents (code), certifying they haven't been altered. The recipient (Lambda) checks the seal before accepting the document.
What Is Signer?
AWS Signer is a managed code signing service. Combined with Lambda's code signing configuration, it can reject deployment of unsigned or tampered code. Signing keys are managed by AWS, eliminating the need for key storage and rotation operations.
Signing Profiles and Verification
Signing profiles define the platform (Lambda, IoT) and expiration period for signatures. Call the Signer API in your CI/CD pipeline to sign code, then enable signature verification in Lambda's code signing configuration. If code with an invalid signature is deployed, Lambda either warns or rejects the deployment. Signing job history is recorded in CloudTrail. For practical know-how on signing profiles and verification, technical books on Amazon are a helpful resource.
Getting Started
Create a signing profile in the Signer console, specifying the platform (Lambda) and expiration period. Create a code signing configuration in the Lambda console and associate it with the signing profile. Apply the code signing configuration to a Lambda function, and only signed code can be deployed.
Things to Watch Out For
- Signer itself is free - there are no charges for signing jobs
- Lambda code signing can be set to either 'warn' or 'enforce' for unsigned code deployments