AWS Signer のアイコン

AWS Signer

コードの署名と検証を行い、信頼されたコードのみがデプロイされることを保証するサービス

何ができるか

AWS Signer は、Lambda 関数のデプロイパッケージ、IoT デバイスのファームウェア、コンテナイメージなどのコードに暗号署名を付与し、改ざんされていないことを検証するサービスです。署名プロファイルで署名の有効期限やプラットフォームを管理します。

どのような場面で使うか

Lambda 関数のコード署名による改ざん防止、IoT デバイスのファームウェア更新の検証、CI/CD パイプラインでのコード署名の自動化、コンプライアンス要件としてのコード署名の実装に利用されます。 この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。

身近な例え

公証人の認証に例えられます。重要な書類 (コード) に公証人 (Signer) が認証印 (署名) を押し、書類が改ざんされていないことを証明します。受取人 (Lambda) は認証印を確認してから書類を受理します。

Signer とは

AWS Signer は、コード署名のマネージドサービスです。Lambda のコード署名設定と組み合わせると、署名されていないコードや改ざんされたコードのデプロイを拒否できます。署名キーは AWS が管理するため、キーの保管やローテーションの運用が不要です。

署名プロファイルと検証

署名プロファイルは、署名のプラットフォーム (Lambda、IoT) と有効期限を定義します。CI/CD パイプラインで Signer API を呼び出してコードに署名し、Lambda のコード署名設定で署名の検証を有効化します。署名が無効なコードがデプロイされると、Lambda は警告を出すか、デプロイを拒否します。署名ジョブの履歴は CloudTrail に記録されます。

はじめかた

Signer コンソールで署名プロファイルを作成し、プラットフォーム (Lambda) と有効期限を設定します。Lambda コンソールでコード署名設定を作成し、署名プロファイルを関連付けます。Lambda 関数にコード署名設定を適用すると、署名されたコードのみがデプロイ可能になります。

注意点

  • Signer 自体は無料。署名ジョブの実行に対する課金もない
  • Lambda のコード署名は署名されていないコードのデプロイを「警告」または「拒否」に設定可能

さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。