본문 바로가기

퍼블릭 클라우드

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

반응형

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
반응형