AWS Signer
コードをデジタル署名と照合して検証し、コードが変更されていないこと、信頼できるパブリッシャーからのものであることを確認できる完全マネージド型のコード署名サービス。
AWS Singnerの料金
AWS Singnerの料金は無料。
AWS SignerとLambdaの併用
AWS Signer を AWS Lambda と併用して、AWS 環境へのデプロイ前に機能やレイヤーが変更されていないことを確認することで、悪意のある攻撃者から組織を保護できる。
つまり、信頼できるコードのみを Lambda 関数で実行するようにできる。
署名付きコードパッケージを関数にデプロイすると、Lambda によって以下のの検証チェックが実行される。
検証内容 | 詳細 |
---|---|
整合性 | コードパッケージが、署名されてから変更されていないことを検証する |
有効期限 | コードパッケージの署名が有効期限切れになっていないことを検証する |
不一致 | 署名が存在するかどうかと、Lambda 関数用に許可された署名プロファイルのうちの 1 つでコードパッケージが署名されていることを検証する |
失効 | コードパッケージの署名が無効でないことを検証する |
コンテナイメージとして定義された関数では、コード署名はサポートされない。
Lambda関数でのコード署名の設定
1.バージョニングを有効にして S3 バケットを作成。
2.AWS Signer を使用して署名プロファイルを作成し、プラットフォームに Lambda 、署名プロファイルの有効日数を指定する。
3.署名プロファイルを使用して、Lambda で署名設定を作成。
署名設定で、想定していたデジタル署名と一致しないアーティファクトが見つかった場合、「警告」(ただしデプロイは許可) または「強制」 (デプロイをブロックする) のいずれかの対処方法を指定する必要。