AWS Signer 简化容器镜像的签名与验证

AWS发布AWS Signer容器镜像签名功能

AWS推出了AWS Signer容器镜像签名功能,旨在为容器镜像的签名和验证提供原生支持,特别是在Amazon Elastic Container Registry(Amazon ECR)等注册表中。AWS Signer管理代码签名证书、公钥和私钥,并提供生命周期管理工具。

主要功能

  1. 跨账户签名:允许在受限账户中创建和管理签名配置文件,减少拥有这些权限的人员数量。可以根据需要授予其他账户签名权限。AWS CloudTrail可用于提供两个账户中的活动审计日志。
  2. 签名有效期:可以创建自过期配置文件。在创建签名配置文件时,可以指定有效期;如果未提供,则默认使用135个月(最大值)。

    aws signer put-signing-profile \
         --profile-name my_conatiner_signing_profile \
         --platform-id Notation-OCI-SHA384-ECDSA \
         --signature-validity-period value=10, type='MONTHS'
  3. 配置文件取消与撤销:取消的配置文件无法用于生成新签名。撤销签名配置文件将使撤销后创建的任何签名失效。撤销签名会导致使用该签名的容器在部署时验证失败。撤销操作不可逆。

    package com.examples;
    
    import com.amazonaws.auth.profile.ProfileCredentialsProvider;
    import com.amazonaws.services.signer.AWSSigner;
    import com.amazonaws.services.signer.AWSSignerClient;
    import com.amazonaws.services.signer.model.RevokeSignatureRequest;
    
    public class RevokeSignature {
    
        public static void main(String[] s) {
    
            String credentialsProfile = "default";
            String signingJobId = "jobID";
            String revokeReason = "Reason for revocation";
    
            // Create a client.
            final AWSSigner client = AWSSignerClient.builder()
                    .withRegion("region")
                    .withCredentials(new ProfileCredentialsProvider(credentialsProfile))
                    .build();
    
            // Revoke a signing job
            client.revokeSignature(new RevokeSignatureRequest()
                    .withJobId(signingJobId)
                    .withReason(revokeReason));
        }
    }

与Notation的集成

AWS Signer与Notation集成,Notation是一个开源的云原生计算基金会(CNCF)Notary项目。Notation利用Open Containers Initiative(OCI)分发功能,将签名和工件与其关联的镜像一起存储在注册表中。

与AWS Lambda的集成

AWS Signer还与AWS Lambda集成,支持生成可验证的代码包。工作流程需要创建源和目标S3存储桶,AWS Signer可以从源存储桶中提取代码包,签名后存入目标存储桶。

支持的服务和区域

AWS Signer可与AWS LambdaAmazon FreeRTOSAWS IoT设备管理Amazon ECRAmazon EKSAWS证书管理器CloudTrail等服务一起使用。支持的区域列表可在AWS文档中找到。

更多信息

更多详细信息可在发布博客文章中查阅。

阅读 51
0 条评论