람다 코드 서명

2267 단어
Lambda 코드 서명은 코드의 무결성을 강화하고 신뢰할 수 있는 개발자만 AWS Lambda 함수에 코드를 배포할 수 있도록 합니다.

Lambda에 대한 코드 서명은 배포 단계를 보호하고 암호학적으로 강력한 해시 검증을 제공하는 것입니다.



관리자 사용자



1) AWS Signer에서 서명 프로필 생성

2) 개발자가 이 프로필을 사용할 수 있도록 IAM을 통해 액세스 권한을 부여합니다.
유물에 서명

3) 다음을 지정하는 코드 서명 구성(CSC)을 만듭니다.
서명 프로필 및 서명 유효성 검사 정책
(서명에 실패한 배포를 경고하거나 거부합니다.
확인하다)

개발자



1) 서명 프로필을 사용하여 배포 아티팩트 서명

2) 서명된 배포 아티팩트를 함수에 배포
(람다 함수 생성/업데이트)

코드 서명 배포 방식



코드 서명 서비스는 공유 서비스이므로 코드 서명 프로필 및 구성 생성, IAM을 통해 개발자에게 권한 할당은 공통 모듈의 일부일 수 있습니다.

1) Profile Creation 

aws signer put-signing-profile \
    --profile-name signin_profile \
    --platform AWSLambda-SHA384-ECDSA

2) ADD permission via IAM

aws signer add-profile-permission \
--profile-name signin_profile \
--action signer:StartSigningJob \
--principal arn:aws:iam::XXXXXXXXXXXX:role/lambda-ex \
--statement-id signerstmtid

3 )Create signing config

 aws lambda create-code-signing-config \
--description "lambda config" \
--allowed-publishers SigningProfileVersionArns=arn:aws:signer:ap-southeast-2:XXXXXXXXX:/signing-profiles/signin_profile/XXXXX \
--code-signing-policies "UntrustedArtifactOnDeployment"="Enforce"


개발자는 서명 프로필을 사용하여
인공물

배포 아티팩트 서명




aws signer start-signing-job \ 
--source 's3={bucketName=<lambda-bucket>, version=<version-string>, key=main-function.zip}' \
--destination 's3={bucketName=<lambda-bucket>, prefix=signed-}' \
--profile-name signin_profile

## Deploy the Artifact 

aws lambda create-function \
    --function-name "signed-main-function" \
    --runtime "python3.8" \
    --role <lambda-role> \
    --zip-file "fileb://signed-main-function.zip" \
    --handler lambda_function.lambda_handler \ 
    --code-signing-config-arn <code-signing-config-arn>

좋은 웹페이지 즐겨찾기