기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
다음과 GenerateDataKey
함께 사용하십시오. AWS SDK또는 CLI
다음 코드 예제는 GenerateDataKey
의 사용 방법을 보여 줍니다.
작업 예시는 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 다음 코드 예제에서는 컨텍스트 내에서 이 작업을 확인할 수 있습니다.
- CLI
-
- AWS CLI
-
예 1: 256비트 대칭 데이터 키를 생성하는 방법
다음
generate-data-key
예시에서는 외부에서 사용할 256비트 대칭 데이터 키를 요청합니다. AWS. 이 명령은 즉시 사용 및 삭제할 수 있는 일반 텍스트 데이터 키와 지정된 KMS 키로 암호화된 해당 데이터 키의 사본을 반환합니다. 암호화한 데이터 키를 암호화한 데이터와 함께 안전하게 저장할 수 있습니다.256비트 데이터 키를 요청하려면 값이
AES_256
인key-spec
파라미터를 사용하세요. 128비트 데이터 키를 요청하려면 값이AES_128
인key-spec
파라미터를 사용하세요. 다른 모든 데이터 키 길이에는number-of-bytes
파라미터를 사용하세요.지정하는 KMS 키는 대칭 암호화 KMS 키, 즉 키 사양 값이 _인 KMS 키여야 합니다. SYMMETRIC DEFAULT
aws kms generate-data-key \ --key-id
alias/ExampleAlias
\ --key-specAES_256
출력:
{ "Plaintext": "VdzKNHGzUAzJeRBVY+uUmofUGGiDzyB3+i9fVkh3piw=", "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CiphertextBlob": "AQEDAHjRYf5WytIc0C857tFSnBaPn2F8DgfmThbJlGfR8P3WlwAAAH4wfAYJKoZIhvcNAQcGoG8wbQIBADBoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDEFogLqPWZconQhwHAIBEIA7d9AC7GeJJM34njQvg4Wf1d5sw0NIo1MrBqZa+YdhV8MrkBQPeac0ReRVNDt9qleAt+SHgIRF8P0H+7U=" }
Plaintext
(일반 텍스트 데이터 키) 및CiphertextBlob
(암호화된 데이터 키)은 base64로 인코딩된 형식으로 반환됩니다.자세한 내용은 의 데이터 키 < https://docs.aws.amazon.com/kms/ latest/developerguide/concepts.html #data -keys를 참조하십시오. AWS 키 관리 서비스 개발자 가이드.
예 2: 512비트 대칭 데이터 키를 생성하는 방법
다음
generate-data-key
예시에서는 암호화 및 복호화를 위한 512비트 대칭 데이터 키를 요청합니다. 이 명령은 즉시 사용 및 삭제할 수 있는 일반 텍스트 데이터 키와 지정된 KMS 키로 암호화된 해당 데이터 키의 사본을 반환합니다. 암호화한 데이터 키를 암호화한 데이터와 함께 안전하게 저장할 수 있습니다.128비트 또는 256비트가 아닌 키 길이를 요청하려면
number-of-bytes
파라미터를 사용하세요. 512비트 데이터 키를 요청하기 위해 다음 예시에서는 값이 64(바이트)인number-of-bytes
파라미터를 사용합니다.지정하는 KMS 키는 대칭 암호화 KMS 키, 즉 키 사양 값이 _인 KMS 키여야 합니다. SYMMETRIC DEFAULT
NOTE: 이 예제의 출력 값은 표시를 위해 잘립니다.
aws kms generate-data-key \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
\ --number-of-bytes64
출력:
{ "CiphertextBlob": "AQIBAHi6LtupRpdKl2aJTzkK6FbhOtQkMlQJJH3PdtHvS/y+hAEnX/QQNmMwDfg2korNMEc8AAACaDCCAmQGCSqGSIb3DQEHBqCCAlUwggJRAgEAMIICSgYJKoZ...", "Plaintext": "ty8Lr0Bk6OF07M2BWt6qbFdNB+G00ZLtf5MSEb4al3R2UKWGOp06njAwy2n72VRm2m7z/Pm9Wpbvttz6a4lSo9hgPvKhZ5y6RTm4OovEXiVfBveyX3DQxDzRSwbKDPk/...", "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }
Plaintext
(일반 텍스트 데이터 키) 및CiphertextBlob
(암호화된 데이터 키)은 base64로 인코딩된 형식으로 반환됩니다.자세한 내용은 의 데이터 키 < https://docs.aws.amazon.com/kms/ latest/developerguide/concepts.html #data -keys를 참조하십시오. AWS 키 관리 서비스 개발자 가이드.
-
자세한 API 내용은 GenerateDataKey
을 참조하십시오. AWS CLI 명령 참조.
-
- Python
-
- SDK파이썬용 (보토3)
-
참고
더 많은 정보가 있습니다. GitHub 전체 예제를 찾아 설치 및 실행 방법을 알아보십시오. AWS 코드 예제 리포지토리
. class KeyManager: def __init__(self, kms_client): self.kms_client = kms_client self.created_keys = [] def generate_data_key(self, key_id): """ Generates a symmetric data key that can be used for client-side encryption. """ answer = input( f"Do you want to generate a symmetric data key from key {key_id} (y/n)? " ) if answer.lower() == "y": try: data_key = self.kms_client.generate_data_key( KeyId=key_id, KeySpec="AES_256" ) except ClientError as err: logger.error( "Couldn't generate a data key for key %s. Here's why: %s", key_id, err.response["Error"]["Message"], ) else: pprint(data_key)
-
자세한 API 내용은 GenerateDataKey을 참조하십시오. AWS SDK파이썬 (Boto3) API 참조용.
-
- Rust
-
- SDK러스트용
-
참고
더 많은 정보가 있습니다 GitHub. 전체 예제를 찾아 설치 및 실행 방법을 알아보십시오. AWS 코드 예제 리포지토리
. async fn make_key(client: &Client, key: &str) -> Result<(), Error> { let resp = client .generate_data_key() .key_id(key) .key_spec(DataKeySpec::Aes256) .send() .await?; // Did we get an encrypted blob? let blob = resp.ciphertext_blob.expect("Could not get encrypted text"); let bytes = blob.as_ref(); let s = base64::encode(bytes); println!(); println!("Data key:"); println!("{}", s); Ok(()) }
-
자세한 API 내용은 GenerateDataKey
을 참조하십시오. AWS SDKRust API 레퍼런스에 대해서는.
-
전체 목록은 다음과 같습니다. AWS SDK개발자 가이드 및 코드 예제는 을 참조하십시오사용 AWS KMS 와 함께 AWS SDK. 이 항목에는 시작에 대한 정보와 이전 SDK 버전에 대한 세부 정보도 포함되어 있습니다.