AWS Encryption SDK CLI 구문 및 파라미터 참조 - AWS Encryption SDK

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS Encryption SDK CLI 구문 및 파라미터 참조

이 주제는 AWS Encryption SDK Command Line Interface(CLI)를 사용하는 데 도움이 될 구문 다이어그램 및 간단한 파라미터 설명을 제공합니다. 래핑 키 및 기타 파라미터 관련 도움말은 AWS Encryption CLI 사용 방법 섹션을 참조하세요. 예제는 AWS Encryption CLI의 예제 섹션을 참조하세요. 전체 설명서는 문서 읽기를 참조하세요.

AWS Encryption CLI 구문

이러한 AWS Encryption CLI 구문 다이어그램은 AWS Encryption CLI로 수행하는 각 작업의 구문을 보여줍니다. 이는 AWS Encryption CLI 버전 2.1.x 이상의 권장 구문을 나타냅니다.

새로운 보안 기능은 원래 AWS Encryption CLI 버전 1.7.x 및 2.0.x에서 릴리스되었습니다. 그러나 AWS Encryption CLI 버전 1.8.x는 버전 1.7.x를 대체하고 AWS Encryption CLI 2.1.x는 2.0.x를 대체합니다. 자세한 내용은 GitHub의 aws-encryption-sdk-cli 리포지토리에서 관련 보안 권고를 참조하세요.

참고

파라미터 설명에 명시되어 있지 않는 한, 각 파라미터 또는 속성은 각 명령에서 한 번만 사용할 수 있습니다.

파라미터가 지원하지 않는 속성을 사용하는 경우 AWS Encryption CLI는 경고나 오류 없이 지원되지 않는 속성을 무시합니다.

지원 받기

파라미터 설명과 함께 전체 AWS Encryption CLI 구문을 가져오려면 --help 또는 -h를 사용합니다.

aws-encryption-cli (--help | -h)
버전 가져오기

AWS Encryption CLI 설치의 버전 번호를 가져오려면 --version을 사용합니다. AWS Encryption CLI 사용에 대한 질문을 하거나 문제를 보고하거나 팁을 공유할 때는 버전을 포함해야 합니다.

aws-encryption-cli --version
데이터 암호화

다음 구문 다이어그램은 encrypt 명령에 사용되는 파라미터를 보여줍니다.

aws-encryption-cli --encrypt --input <input> [--recursive] [--decode] --output <output> [--interactive] [--no-overwrite] [--suffix [<suffix>]] [--encode] --wrapping-keys [--wrapping-keys] ... key=<keyID> [key=<keyID>] ... [provider=<provider-name>] [region=<aws-region>] [profile=<aws-profile>] --metadata-output <location> [--overwrite-metadata] | --suppress-metadata] [--commitment-policy <commitment-policy>] [--encryption-context <encryption_context> [<encryption_context> ...]] [--max-encrypted-data-keys <integer>] [--algorithm <algorithm_suite>] [--caching <attributes>] [--frame-length <length>] [-v | -vv | -vvv | -vvvv] [--quiet]
데이터 복호화

다음 구문 다이어그램은 decrypt 명령에 사용되는 파라미터를 보여줍니다.

버전 1.8.x부터 복호화 시 --wrapping-keys 파라미터는 선택 사항이지만 권장됩니다. 버전 2.1.x부터 암호화 및 복호화 시 --wrapping-keys 파라미터가 필요합니다. AWS KMS keys의 경우 key 속성을 사용하여 래핑 키를 지정(모범 사례)하거나 discovery 속성을 true로 설정할 수 있습니다. 그러면 AWS Encryption CLI에서 사용할 수 있는 래핑 키가 제한되지 않습니다.

aws-encryption-cli --decrypt (or [--decrypt-unsigned]) --input <input> [--recursive] [--decode] --output <output> [--interactive] [--no-overwrite] [--suffix [<suffix>]] [--encode] --wrapping-keys [--wrapping-keys] ... [key=<keyID>] [key=<keyID>] ... [discovery={true|false}] [discovery-partition=<aws-partition-name> discovery-account=<aws-account-ID> [discovery-account=<aws-account-ID>] ...] [provider=<provider-name>] [region=<aws-region>] [profile=<aws-profile>] --metadata-output <location> [--overwrite-metadata] | --suppress-metadata] [--commitment-policy <commitment-policy>] [--encryption-context <encryption_context> [<encryption_context> ...]] [--buffer] [--max-encrypted-data-keys <integer>] [--caching <attributes>] [--max-length <length>] [-v | -vv | -vvv | -vvvv] [--quiet]
구성 파일 사용

파라미터와 해당 값이 포함된 구성 파일을 참조할 수 있습니다. 이는 명령에 파라미터와 값을 입력하는 것과 같습니다. 예제는 구성 파일에 파라미터를 저장하는 방법 섹션을 참조하세요.

aws-encryption-cli @<configuration_file> # In a PowerShell console, use a backtick to escape the @. aws-encryption-cli `@<configuration_file>

AWS Encryption CLI 명령줄 파라미터

이 목록은 AWS Encryption CLI 명령 파라미터에 대한 기본 설명을 제공합니다. 전체 설명은 aws-encryption-sdk-cli 설명서를 참조하세요.

--encrypt (-e)

입력 데이터를 암호화합니다. 모든 명령에는 --encrypt, --decrypt 또는 --decrypt-unsigned 파라미터가 있어야 합니다.

--decrypt (-d)

입력 데이터를 복호화합니다. 모든 명령에는 --encrypt, --decrypt 또는 --decrypt-unsigned 파라미터가 있어야 합니다.

--decrypt-unsigned[버전 1.9.x 및 2.2.x에 도입됨]

--decrypt-unsigned 파라미터는 사이퍼텍스트를 복호화하고, 복호화 전에 메시지가 서명되지 않도록 합니다. --algorithm 파라미터를 사용하고 디지털 서명이 없는 알고리즘 제품군을 선택하여 데이터를 암호화한 경우 이 파라미터를 사용합니다. 사이퍼텍스트가 서명된 경우 복호화가 실패합니다.

--decrypt 또는 --decrypt-unsigned를 복호화에 사용할 수 있지만 둘 다 사용할 수는 없습니다.

--wrapping-keys (-w)[버전 1.8.x에 도입됨]

암호화 및 복호화 작업에 사용되는 래핑 키(또는 마스터 키)를 지정합니다. 각 명령에서 여러 --wrapping-keys 파라미터를 사용할 수 있습니다.

버전 2.1.x부터는 --wrapping-keys 파라미터가 암호화 및 복호화 명령에 필요합니다. 버전 1.8.x에서 암호화 명령에는 --wrapping-keys 또는 --master-keys 파라미터가 필요합니다. 버전 1.8.x에서 복호화 명령의 경우 --wrapping-keys 파라미터는 선택 사항이지만 권장됩니다.

사용자 지정 마스터 키 공급자를 사용하는 경우 암호화 및 복호화 명령에는 keyprovider 속성이 필요합니다. AWS KMS keys를 사용하는 경우 암호화 명령에는 key 속성이 필요합니다. 복호화 명령에는 값이 truekey 속성 또는 discovery 속성이 필요합니다(둘 다는 아님). 복호화 시 key 속성을 사용하는 것이 AWS Encryption SDK 모범 사례입니다. 이는 Amazon S3 버킷 또는 Amazon SQS 대기열에 있는 메시지와 같이 익숙하지 않은 메시지를 일괄 복호화하는 경우 특히 중요합니다.

AWS KMS 다중 리전 키를 사용하는 방법을 보여주는 예제는 멀티 리전 사용 AWS KMS keys 섹션을 참조하세요.

속성: --wrapping-keys 파라미터의 값은 다음 속성으로 구성됩니다. 형식은 attribute_name=value입니다.

key

작업에 사용된 래핑 키를 식별합니다. 형식은 key=ID 페어입니다. 각 --wrapping-keys 파라미터 값에 여러 key 속성을 지정할 수 있습니다.

  • 암호화 명령: 모든 암호화 명령에는 key 속성이 반드시 필요합니다. 암호화 명령에 AWS KMS key를 사용하는 경우 key 속성의 값은 키 ID, 키 ARN, 별칭 이름 또는 별칭 ARN일 수 있습니다. AWS KMS 키 식별자에 대한 자세한 내용은 AWS Key Management Service 개발자 가이드키 식별자를 참조하세요.

  • 복호화 명령: AWS KMS keys를 사용하여 복호화하는 경우 --wrapping-keys 파라미터에는 키 ARN 값이 있는 key 속성 또는 값이 truediscovery 속성이 필요합니다(둘 다는 아님). key 속성을 사용하는 것이 AWS Encryption SDK 모범 사례입니다. 사용자 지정 마스터 키 공급자를 사용하여 복호화할 때는 key 속성이 반드시 필요합니다.

    참고

    복호화 명령에서 AWS KMS 래핑 키를 지정하려면 key 속성 값은 키 ARN이어야 합니다. 키 ID, 별칭 이름 또는 별칭 ARN을 사용하는 경우 AWS Encryption CLI는 래핑 키를 인식하지 못합니다.

--wrapping-keys 파라미터 값에 여러 key 속성을 지정할 수 있습니다. 그러나 --wrapping-keys 파라미터의 모든 provider, regionprofile 속성은 해당 파라미터 값의 모든 래핑 키에 적용됩니다. 서로 다른 속성 값으로 래핑 키를 지정하려면 명령에서 여러 --wrapping-keys 파라미터를 사용합니다.

discovery

AWS Encryption CLI에서 임의의 AWS KMS key를 사용하여 메시지를 복호화할 수 있도록 합니다. discovery 값은 true 또는 false일 수 있습니다. 기본값은 false입니다. discovery 속성은 복호화 명령에서, 그리고 마스터 키 공급자가 AWS KMS인 경우에만 유효합니다.

AWS KMS keys를 사용하여 복호화하는 경우 --wrapping-keys 파라미터에는 값이 truekey 속성 또는 discovery 속성이 필요합니다(둘 다는 아님). key 속성을 사용하는 경우 값이 falsediscovery 속성을 사용하여 검색을 명시적으로 거부할 수 있습니다.

  • False (기본값) - discovery 속성이 지정되지 않았거나 값이 false인 경우 AWS Encryption CLI는 --wrapping-keys 파라미터의 key 속성에 의해 지정된 AWS KMS keys만 사용하여 메시지를 복호화합니다. discovery가 false일 때 key 속성을 지정하지 않으면 복호화 명령이 실패합니다. 이 값은 AWS Encryption CLI 모범 사례를 지원합니다.

  • True - discovery 속성 값이 true인 경우 AWS Encryption CLI는 암호화된 메시지의 메타데이터에서 AWS KMS keys를 가져와서 해당 AWS KMS keys를 사용하여 메시지를 복호화합니다. 값이 truediscovery 속성은 복호화 시 래핑 키를 지정할 수 없도록 한 버전 1.8.x 이전의 AWS Encryption CLI 버전과 같이 동작합니다. 그러나 임의의 AWS KMS key를 사용하려는 의도는 명시적입니다. discovery가 true일 때 key 속성을 지정하면 복호화 명령이 실패합니다.

    true 값으로 인해 AWS Encryption CLI가 다른 AWS 계정 및 리전에서 AWS KMS keys를 사용하거나 사용자가 사용할 권한이 없는 AWS KMS keys를 사용하려고 할 수 있습니다.

discoverytrue인 경우 discovery-partitiondiscovery-account 속성을 사용하여 사용된 AWS KMS keys를 지정하는 AWS 계정의 속성으로 제한하는 것이 모범 사례입니다.

discovery-account

복호화에 사용되는 AWS KMS keys를 지정된 AWS 계정의 키로 제한합니다. 이 속성에 사용할 수 있는 유일한 값은 AWS 계정 ID입니다.

이 속성은 선택 사항이며 discovery 속성이 true로 설정되고 discovery-partition 속성이 지정된 AWS KMS keys의 복호화 명령에서만 유효합니다.

discovery-account 속성은 하나의 AWS 계정 ID만 사용하지만 동일한 --wrapping-keys 파라미터에 여러 discovery-account 속성을 지정할 수 있습니다. 지정된 --wrapping-keys 파라미터에 지정된 모든 계정은 지정된 AWS 파티션에 있어야 합니다.

discovery-partition

discovery-account 속성에 있는 계정의 AWS 파티션을 지정합니다. 값은 AWS 파티션이어야 합니다(예: aws, aws-cn, aws-gov-cloud). 자세한 내용은 AWS 일반 참조Amazon 리소스 이름을 참조하세요.

이 속성은 discovery-account 속성을 사용할 때 필요합니다. 각 --wrapping keys 파라미터에는 discovery-partition 속성을 하나만 지정할 수 있습니다. 여러 파티션에 AWS 계정을 지정하려면 추가 --wrapping-keys 파라미터를 사용합니다.

provider

마스터 키 공급자를 식별합니다. 형식은 provider=ID 페어입니다. 기본값인 aws-kms는 AWS KMS를 나타냅니다. 이 속성은 마스터 키 공급자가 AWS KMS인 경우에만 필요합니다.

region

AWS KMS key의 AWS 리전 리전을 식별합니다. 이 속성은 AWS KMS keys에만 유효합니다. 이 속성은 key 식별자에 리전이 지정되지 않을 때만 사용되며, 그렇지 않은 경우에는 무시됩니다. 사용되는 경우 AWS CLI 명령 프로필에서 기본 리전을 재정의합니다.

profile

AWS CLI 명명된 프로필을 식별합니다. 이 속성은 AWS KMS keys에만 유효합니다. 이 프로필의 리전은 키 식별자에 리전이 지정되지 않고 이 명령에 region 속성이 없을 때만 사용됩니다.

--input (-i)

암호화 또는 복호화할 데이터의 위치를 지정합니다. 이 파라미터는 필수 사항입니다. 값은 파일 또는 디렉터리 경로 또는 파일 이름 패턴일 수 있습니다. 명령(stdin)에 대한 입력을 전달하는 경우 -를 사용합니다.

입력이 없는 경우 명령이 오류나 경고 없이 성공적으로 완료됩니다.

--recursive (-r, -R)

입력 디렉터리 및 해당 하위 디렉터리의 파일에 대해 작업을 수행합니다. 이 파라미터는 값이 --input인 디렉터리의 경우 필수입니다.

--decode

Base64로 인코딩된 입력을 디코딩합니다.

암호화된 후 인코딩된 메시지를 복호화하려면 메시지를 복호화하기 전에 먼저 메시지를 디코딩해야 합니다. 이 파라미터가 이 작업을 수행합니다.

예를 들어, 암호화 명령에 --encode 파라미터를 사용한 경우 해당 복호화 명령의 --decode 파라미터를 사용합니다. 또한 암호화하기 전에 이 파라미터를 사용하여 Base64로 인코딩된 입력을 디코딩할 수 있습니다.

--output (-o)

출력 대상을 지정합니다. 이 파라미터는 필수 사항입니다. 값은 파일 이름, 기존 디렉터리, 또는 출력을 명령줄(stdout)에 쓰는 -일 수 있습니다.

지정된 출력 디렉터리가 존재하지 않으면 명령은 실패합니다. 입력에 하위 디렉터리가 포함된 경우 AWS Encryption CLI는 지정된 출력 디렉터리 아래의 하위 디렉터리를 다시 생성합니다.

기본적으로 AWS Encryption CLI는 이름이 같은 파일을 덮어씁니다. 이 동작을 변경하려면 --interactive 또는 --no-overwrite 파라미터를 사용합니다. 덮어쓰기 경고를 표시하지 않으려면 --quiet 파라미터를 사용합니다.

참고

출력 파일을 덮어쓰는 명령이 실패하면 출력 파일이 삭제됩니다.

--interactive

파일을 덮어쓰기 전에 메시지를 표시합니다.

--no-overwrite

파일을 덮어쓰지 않습니다. 대신, 출력 파일이 있는 경우 AWS Encryption CLI는 해당 입력을 건너뜁니다.

--suffix

AWS Encryption CLI에서 생성하는 파일의 사용자 지정 파일 이름 접미사를 지정합니다. 접미사가 없음을 나타내려면 값이 없는 파라미터(--suffix)를 사용합니다.

기본적으로 --output 파라미터가 파일 이름을 지정하지 않는 경우 출력 파일 이름은 입력 파일 이름에 접미사를 더한 것과 같은 이름을 가집니다. 암호화 명령의 접미사는 .encrypted입니다. 복호화 명령의 접미사는 .decrypted입니다.

--encode

Base64(바이너리를 텍스트로) 인코딩을 출력에 적용합니다. 인코딩은 쉘 호스트 프로그램이 출력 텍스트의 비ASCII 문자를 잘못 해석하는 것을 방지합니다.

특히 PowerShell 콘솔에서 출력을 다른 명령으로 전달하거나 변수에 저장하는 경우에도 stdout(--output -)에 암호화된 출력을 쓸 때 이 파라미터를 사용합니다.

--metadata-output

암호화 작업에 대한 메타데이터의 위치를 지정합니다. 경로와 파일 이름을 입력합니다. 디렉터리가 존재하지 않으면 명령은 실패합니다. 명령줄(stdout)에 메타데이터를 쓰려면 -를 사용합니다.

명령 출력(--output) 및 메타데이터 출력(--metadata-output)을 동일한 명령으로 stdout에 쓸 수 없습니다. 또한 --input 또는 --output 값이 디렉터리(파일 이름 제외)인 경우 메타데이터 출력을 동일한 디렉터리나 해당 디렉터리의 하위 디렉터리에 쓸 수 없습니다.

기존 파일을 지정하는 경우 AWS Encryption CLI는 기본적으로 파일의 모든 내용에 새 메타데이터 레코드를 추가합니다. 이 기능을 사용하면 모든 암호화 작업에 대한 메타데이터가 포함된 단일 파일을 생성할 수 있습니다. 기존 파일의 내용을 덮어쓰려면 --overwrite-metadata 파라미터를 사용합니다.

AWS Encryption CLI는 명령이 수행하는 각 암호화 또는 복호화 작업에 대해 JSON 형식의 메타데이터 레코드를 반환합니다. 각 메타데이터 레코드에는 입력 및 출력 파일의 전체 경로, 암호화 컨텍스트, 알고리즘 제품군, 그리고 작업을 검토하고 보안 표준을 충족하는지 확인하는 데 사용할 수 있는 기타 중요한 정보가 포함됩니다.

--overwrite-metadata

메타데이터 출력 파일의 내용을 덮어씁니다. 기본적으로 --metadata-output 파라미터는 파일의 기존 내용에 메타데이터를 추가합니다.

--suppress-metadata (-S)

암호화 또는 복호화 작업에 대한 메타데이터를 숨깁니다.

--commitment-policy

암호화 및 복호화 명령에 대한 커밋 정책을 지정합니다. 커밋 정책은 메시지가 키 커밋 보안 기능을 사용하여 암호화되고 복호화되는지 여부를 결정합니다.

--commitment-policy 파라미터는 버전 1.8.x에 도입되었습니다. 이는 암호화 및 복호화 명령에 유효합니다.

버전 1.8.x에서 AWS Encryption CLI는 모든 암호화 및 복호화 작업에 대한 forbid-encrypt-allow-decrypt 커밋 정책을 사용합니다. 암호화 또는 복호화 명령에서 --wrapping-keys 파라미터를 사용하는 경우 forbid-encrypt-allow-decrypt 값이 있는 --commitment-policy 파라미터가 반드시 필요합니다. --wrapping-keys 파라미터를 사용하지 않으면 --commitment-policy 파라미터는 유효하지 않습니다. 커밋 정책을 설정하면 커밋 정책이 버전 2.1.x로 업그레이드할 때 require-encrypt-require-decrypt로 자동 변경되는 것을 명시적으로 방지할 수 있습니다.

버전 2.1.x부터 모든 커밋 정책 값이 지원됩니다. --commitment-policy 파라미터는 선택 사항이며 기본값은 require-encrypt-require-decrypt입니다.

이 파라미터의 값은 다음과 같습니다.

  • forbid-encrypt-allow-decrypt - 키 커밋으로 암호화할 수 없습니다. 암호화된 사이퍼텍스트를 키 커밋 사용 여부와 관계없이 복호화할 수 있습니다.

    버전 1.8.x에서 이는 유일하게 유효한 값입니다. AWS Encryption CLI는 모든 암호화 및 복호화 작업에 대해 forbid-encrypt-allow-decrypt 커밋 정책을 사용합니다.

  • require-encrypt-allow-decrypt - 키 커밋을 통해서만 암호화합니다. 키 커밋 사용 여부와 관계없이 복호화합니다. 이 값은 버전 2.1.x에 도입되었습니다.

  • require-encrypt-require-decrypt(기본값) - 키 커밋을 통해서만 암호화 및 복호화합니다. 이 값은 버전 2.1.x에 도입되었습니다. 이는 버전 2.1.x 이상에서 기본값입니다. 이 값을 사용하면 AWS Encryption CLI는 이하 버전의 AWS Encryption SDK에서 암호화된 사이퍼텍스트를 복호화하지 않습니다.

커밋 정책 설정에 대한 자세한 내용은 AWS Encryption SDK 마이그레이션 섹션을 참조하세요.

--encryption-context (-c)

작업의 암호화 컨텍스트를 지정합니다. 이 파라미터는 필수는 아니지만 권장됩니다.

  • --encrypt 명령에 하나 이상의 name=value 페어를 입력합니다. 공백을 사용하여 페어를 구분합니다.

  • --decrypt 명령에서 name=value 페어, 값이 없는 name 요소 또는 둘 다를 입력합니다.

name=value 페어의 name 또는 value에 공백이나 특수 문자가 포함된 경우 전체 페어를 인용 부호로 묶습니다. 예: --encryption-context "department=software development".

--buffer (-b)[버전 1.9.x 및 2.2.x에 도입됨]

디지털 서명이 있는지 확인하는 등 모든 입력이 처리된 후에만 일반 텍스트를 반환합니다.

--max-encrypted-data-keys[버전 1.9.x 및 2.2.x에 도입됨]

암호화된 메시지의 암호화된 데이터 키의 최대 수를 지정합니다. 이 파라미터는 선택 사항입니다.

유효한 값은 1~65,535입니다. 이 파라미터를 생략하면 AWS Encryption CLI는 최대 값을 적용하지 않습니다. 암호화된 메시지는 최대 65,535(2^16 - 1)개의 암호화된 데이터 키를 보유할 수 있습니다.

암호화 명령에 이 파라미터를 사용하여 잘못된 형식의 메시지를 방지할 수 있습니다. 복호화 명령에 이를 사용하여 악성 메시지를 탐지하고 복호화할 수 없는 암호화된 데이터 키가 많이 포함된 메시지의 복호화를 방지할 수 있습니다. 자세한 정보 및 예제는 암호화된 데이터 키 제한 섹션을 참조하세요.

--help (-h)

명령줄에서 사용법과 구문을 인쇄합니다.

--version

AWS Encryption CLI의 버전을 가져옵니다.

-v | -vv | -vvv | -vvvv

자세한 정보, 경고 및 디버깅 메시지를 표시합니다. 출력의 세부 정보는 파라미터의 v 개수에 따라 증가합니다. 가장 세부적인 설정(-vvvv)은 AWS Encryption CLI 및 이 CLI에서 사용하는 모든 구성 요소에서 디버깅 수준 데이터를 반환합니다.

--quiet (-q)

출력 파일을 덮어쓸 때 나타나는 메시지와 같은 경고 메시지를 표시하지 않습니다.

--master-keys (-m)[더 이상 사용되지 않음]
참고

--master-keys 파라미터는 버전 1.8.x에서 더 이상 사용되지 않으며 버전 2.1.x에서 제거되었습니다. 대신 --wrapping-keys 파라미터를 사용합니다.

암호화 및 복호화 작업에 사용되는 마스터 키를 지정합니다. 각 명령에서 여러 마스터 키 파라미터를 사용할 수 있습니다.

--master-keys 파라미터는 암호화 명령에 반드시 필요합니다. 이 파라미터는 사용자 지정(비AWS KMS) 마스터 키 공급자를 사용 중일 때만 복호화 명령에 반드시 필요합니다.

속성: --master-keys 파라미터의 값은 다음 속성으로 구성됩니다. 형식은 attribute_name=value입니다.

key

작업에 사용된 래핑 키를 식별합니다. 형식은 key=ID 페어입니다. key 속성은 모든 암호화 명령에 반드시 필요합니다.

암호화 명령에 AWS KMS key를 사용하는 경우 key 속성의 값은 키 ID, 키 ARN, 별칭 이름 또는 별칭 ARN일 수 있습니다. AWS KMS 키 식별자에 대한 자세한 내용은 AWS Key Management Service 개발자 가이드키 식별자를 참조하세요.

key 속성은 마스터 키 공급자가 AWS KMS가 아닐 때 복호화 명령에서 필수 사항입니다. key 속성은 AWS KMS key에서 암호화된 데이터를 복호화하는 명령에는 허용되지 않습니다.

--master-keys 파라미터 값에 여러 key 속성을 지정할 수 있습니다. 그러나 모든 provider, regionprofile 속성은 해당 파라미터 값의 모든 마스터 키에 적용됩니다. 서로 다른 속성 값으로 마스터 키를 지정하려면 명령에서 여러 --master-keys 파라미터를 사용합니다.

provider

마스터 키 공급자를 식별합니다. 형식은 provider=ID 페어입니다. 기본값인 aws-kms는 AWS KMS를 나타냅니다. 이 속성은 마스터 키 공급자가 AWS KMS인 경우에만 필요합니다.

region

AWS KMS key의 AWS 리전 리전을 식별합니다. 이 속성은 AWS KMS keys에만 유효합니다. 이 속성은 key 식별자에 리전이 지정되지 않을 때만 사용되며, 그렇지 않은 경우에는 무시됩니다. 사용되는 경우 AWS CLI 명령 프로필에서 기본 리전을 재정의합니다.

profile

AWS CLI 명명된 프로필을 식별합니다. 이 속성은 AWS KMS keys에만 유효합니다. 이 프로필의 리전은 키 식별자에 리전이 지정되지 않고 이 명령에 region 속성이 없을 때만 사용됩니다.

고급 파라미터

--algorithm

대체 알고리즘 제품군을 지정합니다. 이 파라미터는 선택 사항이며 암호화 명령에서만 유효합니다.

이 파라미터를 생략하면 AWS Encryption CLI는 버전 1.8.x에 도입된 AWS Encryption SDK의 기본 알고리즘 제품군 중 하나를 사용합니다. 두 기본 알고리즘 모두 HKDF, ECDSA 서명 및 256비트 암호화 키와 함께 AES-GCM을 사용합니다. 하나는 키 커밋을 사용하고 다른 하나는 사용하지 않습니다. 기본 알고리즘 제품군 선택은 명령에 대한 커밋 정책에 따라 결정됩니다.

대부분의 암호화 작업에는 기본 알고리즘 제품군이 권장됩니다. 유효한 값 목록은 문서 읽기에서 algorithm 파라미터 값을 참조하세요.

--frame-length

지정된 프레임 길이로 출력을 생성합니다. 이 파라미터는 선택 사항이며 암호화 명령에서만 유효합니다.

값을 바이트 단위로 입력합니다. 유효한 값은 0 및 1~2^31 - 1입니다. 값이 0이면 프레임 처리되지 않은 데이터를 나타냅니다. 기본값은 4096(바이트)입니다.

참고

가능하면 프레임 처리된 데이터를 사용하세요. AWS Encryption SDK는 레거시 용도로만 프레임 처리되지 않은 데이터를 지원합니다. AWS Encryption SDK의 일부 언어 구현에서는 여전히 프레임 처리되지 않은 사이퍼텍스트를 생성할 수 있습니다. 지원되는 모든 언어 구현은 프레임 처리된 사이퍼텍스트와 프레임 처리되지 않은 사이퍼텍스트를 복호화할 수 있습니다.

max-length

암호화된 메시지에서 읽을 바이트 단위의 최대 프레임 크기(또는 프레임 처리되지 않은 메시지의 경우 최대 콘텐츠 길이)를 지정합니다. 이 파라미터는 선택 사항이며 복호화 명령에서만 유효합니다. 매우 큰 악성 사이퍼텍스트를 복호화하지 못하도록 보호하기 위해 설계되었습니다.

값을 바이트 단위로 입력합니다. 이 파라미터를 생략하면 AWS Encryption SDK는 복호화 시 프레임 크기를 제한하지 않습니다.

--caching

각 입력 파일에 대해 새 데이터 키를 생성하는 대신 데이터 키를 재사용하는 데이터 키 캐싱 기능을 활성화합니다. 이 파라미터는 고급 시나리오를 지원합니다. 이 기능을 사용하기 전에 데이터 키 캐싱 설명서를 읽어보세요.

--caching 파라미터에는 다음 속성이 있습니다.

용량(필수)

캐시의 최대 항목 수를 결정합니다.

최소값은 1입니다. 최대값은 없습니다.

max_age(필수)

캐시 항목이 캐시에 추가된 시점부터 시작하여 캐시 항목의 사용 시간(초)을 결정합니다.

0보다 큰 값을 입력합니다. 최대값은 없습니다.

max_messages_encrypted(선택 사항)

캐시된 항목이 암호화할 수 있는 최대 메시지 수를 결정합니다.

유효한 값은 1~2^32입니다. 기본값은 메시지 2^32개입니다.

max_bytes_encrypted(선택 사항)

캐시된 항목이 암호화할 수 있는 최대 바이트 수를 결정합니다.

유효한 값은 0 및 1~2^63 - 1입니다. 기본값은 메시지 2^63 - 1개입니다. 값이 0이면 빈 메시지 문자열을 암호화하는 경우에만 데이터 키 캐싱을 사용할 수 있습니다.