ProHoster > Blog > Adminisztráció > A Let's Encrypt SSL tanúsítványkezelés automatizálása DNS-01 kihívás és AWS használatával
A Let's Encrypt SSL tanúsítványkezelés automatizálása DNS-01 kihívás és AWS használatával
A bejegyzés leírja az SSL-tanúsítványok kezelésének automatizálásának lépéseit Titkosítsuk a CA-t felhasználásával DNS-01 kihívás и AWS.
acme-dns-route53 egy olyan eszköz, amely lehetővé teszi számunkra ennek a funkciónak a megvalósítását. Működhet a Let's Encrypt SSL-tanúsítványaival, mentheti azokat az Amazon Certificate Managerbe, használhatja a Route53 API-t a DNS-01 kihívás megvalósításához, és végül push értesítéseket küldhet az SNS-nek. BAN BEN acme-dns-route53 Az AWS Lambdán belüli használatra is van beépített funkcionalitás, és erre van szükségünk.
Az acme-dns-route53 GoLang nyelven íródott, és nem támogatja az 1.9-nél régebbi verziót.
Létre kell hoznunk egy zip fájlt egy binárissal acme-dns-route53 belül. Ehhez telepítenie kell acme-dns-route53 a GitHub tárolóból a paranccsal go install:
$ env GOOS=linux GOARCH=amd64 go install github.com/begmaroman/acme-dns-route53
A bináris telepítve van $GOPATH/bin Könyvtár. Felhívjuk figyelmét, hogy a telepítés során két megváltozott környezetet adtunk meg: GOOS=linux и GOARCH=amd64. Világossá teszik a Go fordító számára, hogy létre kell hoznia egy Linux operációs rendszerhez és az amd64 architektúrához megfelelő bináris fájlt – ez fut az AWS-en.
Az AWS elvárja, hogy programunkat zip fájlban telepítsük, ezért hozzuk létre acme-dns-route53.zip archívum, amely az újonnan telepített bináris fájlt tartalmazza:
$ zip -j ~/acme-dns-route53.zip $GOPATH/bin/acme-dns-route53
Jegyzet: A binárisnak a zip-archívum gyökerében kell lennie. Erre használjuk -j zászló.
A zip becenevünk készen áll a telepítésre, már csak egy szerepkör létrehozása van hátra a szükséges jogokkal.
IAM-szerep létrehozása
Be kell állítanunk egy IAM-szerepet a lambdánk által a végrehajtás során megkövetelt jogokkal.
Nevezzük ezt irányelvnek lambda-acme-dns-route53-executor és azonnal adj neki egy alapszerepet AWSLambdaBasicExecutionRole. Ez lehetővé teszi, hogy a lambda fut, és naplókat írjon az AWS CloudWatch szolgáltatásba.
Először létrehozunk egy JSON-fájlt, amely leírja a jogainkat. Ez lényegében lehetővé teszi a lambda-szolgáltatások számára a szerepkör használatát lambda-acme-dns-route53-executor:
Most futtassuk a parancsot aws iam create-role szerep létrehozásához:
$ aws iam create-role --role-name lambda-acme-dns-route53-executor
--assume-role-policy-document ~/lambda-acme-dns-route53-executor-policy.json
Jegyzet: ne feledje az ARN (Amazon Resource Name) szabályzatot – a következő lépésekben szükségünk lesz rá.
Szerep lambda-acme-dns-route53-executor létrehozva, most meg kell adnunk az engedélyeket. Ennek legegyszerűbb módja a parancs használata aws iam attach-role-policy, passing policy ARN AWSLambdaBasicExecutionRole az alábbiak szerint:
$ aws iam attach-role-policy --role-name lambda-acme-dns-route53-executor
--policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
Jegyzet: a többi szabályzatot tartalmazó lista megtalálható itt.