퍼블릭 클라우드

AWS KMS(Key Management Service)를 사용하는 방법

변군이글루 2020. 9. 18. 17:09
반응형

AWS KMS(Key Management Service)를 사용하는 방법

Amazon Web Services(AWS)의 Key Management Service(KMS)를 사용하여 AWS KMS 마스터 키를 생성하는 방법은 다음과 같습니다. KMS 마스터 키는 데이터를 암호화하고 복호화하는 데 사용되며, AWS 리소스 및 데이터 보안에 중요한 역할을 합니다.

1. KMS 키 생성

aws kms create-key --description "My KMS Master Key"
###KMS 키 생성
aws --profile byun_profile --region ap-northeast-2 kms create-key

2. KMS AliasName 생성

aws kms create-alias --alias-name "alias/MyAliasName" --target-key-id "KMS_KEY_ID"
###KMS AliasName 생성
aws --profile byun_profile --region ap-northeast-2 kms create-alias --alias-name "alias/kms-slack-key" --target-key-id "83advf5d-31d6-404a-b99c-d24a83a33265"

여기서 "MyAliasName"은 생성할 AliasName을 의미하며, "KMS_KEY_ID"는 이전에 생성한 KMS 키의 ID를 의미합니다.

3. KMS 키 리스트

aws kms list-keys
###KMS 키 리스트
aws --profile byun_profile --region ap-northeast-2 kms list-keys
{
    "Keys": [
        {
            "KeyId": "83advf5d-31d6-404a-b99c-d24a83a33265",
            "KeyArn": "arn:aws:kms:ap-northeast-2:592439987428:key/83advf5d-31d6-404a-b99c-d24a83a33265"
        }
    ]
}

위 명령어를 실행하면 AWS 계정에 있는 모든 KMS 키의 리스트가 반환됩니다.

728x90

4. KMS 키 AliasName 리스트

aws kms list-aliases
###KMS 키 AliasName 리스트
aws --profile byun_profile --region ap-northeast-2 kms list-aliases
{
    "Aliases": [
        {
            "AliasName": "alias/kms-slack-key",
            "AliasArn": "arn:aws:kms:ap-northeast-2:592439987428:alias/kms-slack-key",
            "TargetKeyId": "83advf5d-31d6-404a-b99c-d24a83a33265"
        }
    ]
}

위 명령어를 실행하면 AWS 계정에 있는 모든 KMS 키의 AliasName 목록이 반환됩니다.

5. KMS 키 encrypt 생성

###KMS 키 encrypt 생성
aws --profile byun_profile --region ap-northeast-2 kms encrypt --key-id alias/kms-slack-key --plaintext "hooks.slack.com/services/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"
{
    "CiphertextBlob": "AQICAHiH8+tXPnjvkRYA3k9qK5paqaUs5M+PUNlYfLAj3dN2XgEEGxJyCLo4TT3Aesf2T5x6AAAAqzCBqAYJKoZIhvcNAQcGoIGaMIGXAgEAMIGRBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDMGNGejiVCbSOgNrxgIBEIBkiq1pbfTAjbdpT0bNnkKGYXe5CW4negBRUEKR5pc1rJ7xuZjg/8yFNhi4sSzEg3JMqvs7XtjzzjZZp4WjKkuN34ZM7sFCHqVhTIwtBwNGA9v7Lm+EKeDAFEhAhYF+d97R4hDD3w==",
    "KeyId": "arn:aws:kms:ap-northeast-2:592439987428:key/83advf5d-31d6-404a-b99c-d24a83a33265",
    "EncryptionAlgorithm": "SYMMETRIC_DEFAULT"
}

위 명령어를 실행하면 "Hello, World!"라는 문자열을 암호화한 결과인 CiphertextBlob이 반환됩니다. 여기서 "KMS_KEY_ID"는 암호화에 사용할 KMS 키의 ID를 의미합니다.

 

위 명령어들은 AWS CLI를 통해 AWS KMS와 상호작용하는 방법을 보여주며, 더 많은 옵션과 설정이 가능합니다. 암호화된 데이터를 복호화하려면 aws kms decrypt 명령어를 사용할 수 있습니다. 암호화 및 복호화 작업에는 암호화에 사용된 키와 해당 키에 대한 액세스 권한이 필요합니다.

 

728x90
반응형