[초보자] AWS Key Management Service(AWS KMS)를 사용해 보십시오.
1. 목적
2. AWS KMS란 (자신의 이해)
3. 했던 일
4. 예습
선인의 총결산 학습을 읽다.
"10분이면 알 수 있어요! 포인트 관리 서비스의 구조"
"AWS KMS를 사용하여 개인 키 관리"
5. 구현 단계
5.1 CMK 만들기(고객 마스터 키)
5.2 데이터 키 만들기
# AWS CLIバージョンの確認
[ec2-user@ip-10-0-0-126 ~]$ aws --version
aws-cli/2.1.24 Python/3.7.3 Linux/4.14.214-160.339.amzn2.x86_64 exe/x86_64.amzn.2 prompt/off
# KMSのAPI(GenerateDatakey)を用いて、CMKに紐づくデータキーを作成
[ec2-user@ip-10-0-0-126 ~]$ aws kms generate-data-key --key-id arn:[mksamba-masterkeyのARN] --key-spec AES_256
{
"CiphertextBlob": "[encrypted-datakey-string]",
"Plaintext": "[plain-datakey-string]",
"KeyId": "arn:aws:kms:ap-northeast-1:xxxxxxxxxxxx:key/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
[ec2-user@ip-10-0-0-126 ~]$ echo [plain-datakey-string] > plain-datakey
[ec2-user@ip-10-0-0-126 ~]$ echo [encrypted-datakey-string] | base64 --decode > encrypted-datakey
5.3 파일 암호화
# 暗号化したいファイルの確認
[ec2-user@ip-10-0-0-126 ~]$ cat plain-document
休みがほしい。温泉に行きたい。
# データキーを用いて暗号化する。
# 元ファイル"plain-document"を、暗号鍵"plain-datakey"を用いてaes-256-cbcモードで暗号化して、ファイル"encrypted-document"として保存する。
[ec2-user@ip-10-0-0-126 ~]$ openssl aes-256-cbc -e -in plain-document -out encrypted-document -pass file:plain-datakey
# 暗号化されていることの確認
[ec2-user@ip-10-0-0-126 ~]$ cat encrypted-document
縒唳9楳H??合й偉(碁Ra@?肄?;X・^
5.4 파일 복호화
# KMSのAPI(Decrypt)を用いて、まず暗号化されたデータキーを復号する。
[ec2-user@ip-10-0-0-126 ~]$ aws kms decrypt --ciphertext-blob fileb://encrypted-datakey --output text --query Plaintext > decrypted-datakey
# データキーを作成した時に入手した、暗号化前のデータキーと比較し、データが一致することを確認する。
[ec2-user@ip-10-0-0-126 ~]$ diff plain-datakey decrypted-datakey
[ec2-user@ip-10-0-0-126 ~]$
# 復号後のデータキーを用いて、暗号化したファイルを復号する。元通りになっていることを確認する。
[ec2-user@ip-10-0-0-126 ~]$ openssl aes-256-cbc -d -in encrypted-document -pass file:decrypted-datakey
休みがほしい。温泉に行きたい。
6. 느끼는 것
Reference
이 문제에 관하여([초보자] AWS Key Management Service(AWS KMS)를 사용해 보십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mksamba/items/a7e902c6d5a12f2a36dc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)