zkan
1
ปกติแล้ว private key จะมี special char อย่างเช่น \n
อยู่ แล้วทีนี้ ถ้าเราใส่ไว้ในช่องแบบนี้ใน AWS Secrets Manager แล้ว
จังหวะที่เราเซฟไป AWS จะ escape ตัว \
ให้เราทันทีแบบนี้
ทำให้เราไม่สามารถใช้ได้
วิธีแก้
ง่ายมาก คือให้เรา edit แล้วเลือก Plaintext ตามรูปด้านล่าง
เสร็จแล้วให้เราแปะ private key หรือค่าที่มี special char เข้าไปใหม่ เท่านี้เราก็สามารถมี special char เก็บอยู่ใน secret ของเราที่ AWS Secrets Manager ได้แล้ว
1 Like
พูดถึง secrets เท่าที่อ่านๆ มา เขาแนะนำกันว่า ให้ไป encrypt โดยใช้ mozilla sops ก่อนทีนึง แล้วค่อยเอา terraform จับอัดเข้า aws secrets manager กันของหาย ข้อดีอีกอย่างคือ มันเป็นการบังคับให้คนไม่อัพเดท secrets โดยมือผ่านหน้า UI ตัดปัญหาว่า ใครมือบอนอัพเดทค่าผิด/บังเอิญลบทิ้ง
1 Like
zkan
3
งดงามมากครับ เดี๋ยวไปส่อง mozilla sops ก่อน เพิ่งเคยได้ยินเลย
มีข้อดีอีกอย่าง คือ มันเซ็ต encryption/decryption key แยกได้ด้วย
เช่น:
key A: modify (encrypt) ได้ เพราะผูกกะ admin account
key B: read (decrypt) ได้อย่างเดียว เพราะเป็น user
# .sops.yaml
creation_rules:
# prod/admin
- path_regex: ./prod/.*
kms: "arn:aws:kms:ap-southeast-1:xxxxx:key/xxxxx"
aws_profile: admin
# normal users
- kms: "arn:aws:kms:ap-southeast-1:xxxxx:key/yyyyyy"
aws_profile: user
นั่นหมายความว่า สบายใจได้แน่ๆ ว่า มีแต่เหล่า admin เท่านั้นที่ modify secrets เล่านี้ได้ เย้!
1 Like
zkan
5
กราบครับ เดี๋ยวอาทิตย์หน้าลองเลย เย้!