데이터 암호화는 특별한 구성이 필요하지 않습니다. 하지만 기본 키를 대체하는 자체 암호화 키를 사용하고 싶은 경우 이 주제에 설명된 대로 하면 됩니다.
암호화 키 범위
KMS, VPN, 캐시의 암호화 키에는 범위가 있습니다. 예를 들어 KMS 키에는 조직 범위가 있습니다. 이는 키가 전체 조직의 KMS 데이터를 암호화하는 데 사용됨을 의미합니다.
다음 표에는 각 키 유형의 범위가 나열되어 있습니다.
암호화 키
범위
KMS
조직만
KVM
조직 또는 환경
KVM 정책이 apiproxy 또는 policy(API 프록시 버전) 범위를 지정하면, 조직 수준 키가 데이터를 암호화하는 데 사용됩니다. Apigee Edge에서 KVM을 사용하는 방법에 대한 일반적인 개요는 키-값 맵 다루기를 참조하세요.
캐시
환경만
기본 암호화 키 정보
기본적으로 Apigee Hybrid는 KVM, KMS, 캐시 데이터를 암호화하는 데 사용되는 Base64 인코딩 키 모음을 제공합니다. Apigee Hybrid 설치 프로그램은 런타임 영역에 키를 Kubernetes 보안 비밀로 저장하고 이를 사용하여 AES-128 표준 암호화로 데이터를 암호화합니다.
키는 개발자가 제어할 수 있으며, 하이브리드 관리 영역을 항상 인식하지 못합니다.
기본 암호화 키 변경
필수는 아니지만 기본 암호화 키를 원하는 경우 변경할 수 있습니다.
하나 이상의 기본 키를 바꾸려면 다음 단계를 따르세요.
다음 스탠자를 재정의 파일에 복사합니다.
이 구성을 통해 조직 수준의 KMS 및 KVM 암호화 키와 환경 수준의 KVM 및 캐시 암호화 키를 변경할 수 있습니다.
Apigee Hybrid를 처음 설치할 때 재정의 파일에서 암호화 키를 삭제한 경우 암호화를 효과적으로 사용 중지할 수 있으며 값은 암호화되지 않은 상태로 저장됩니다.
나중에 키를 제공하여 암호화를 사용 설정하면 종료되는 데이터는 암호화되지 않은 상태로 유지됩니다. 그러나 이후에 추가되는 데이터는 모두 암호화됩니다. 시스템은 암호화되지 않은 데이터와 새로운 암호화된 데이터와 함께 정상적으로 계속 작동합니다.
또한 런타임 데이터가 암호화되면 나중에 암호화 키를 변경할 수 없습니다.
인코딩된 키를 만드는 방법
KVM, KMS, 캐시 암호화에는 올바른 형식의 Base-64 인코딩 키가 필요합니다.
이러한 용도로 사용되는 키는 다음 단계에 설명된 대로 16, 24, 32바이트 길이의 문자열에서 Base64로 인코딩되어야 합니다.
다음 예시 명령어는 출력할 수 없는 문자를 포함하지 않는 적합한 무작위 생성 32자 Base64 인코딩 문자열을 생성합니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-04(UTC)"],[[["\u003cp\u003eThis documentation is for an end-of-life version (1.1) of Apigee hybrid and users should upgrade to a newer version.\u003c/p\u003e\n"],["\u003cp\u003eApigee hybrid encrypts Key Management System (KMS), Key-Value Map (KVM), and cache data by default, without requiring any special user configuration.\u003c/p\u003e\n"],["\u003cp\u003eEncryption keys for KMS, KVM, and cache data have different scopes, with KMS keys having organization-wide scope, KVM keys having either organization or environment scope, and cache keys having environment scope.\u003c/p\u003e\n"],["\u003cp\u003eDefault Base64-encoded keys are provided by Apigee hybrid and stored in the runtime plane as Kubernetes Secrets to encrypt data using AES-128, but these default keys can be replaced during the initial installation of Apigee hybrid into a new cluster.\u003c/p\u003e\n"],["\u003cp\u003eTo replace default encryption keys, users must generate new Base64-encoded keys that are 16, 24, or 32 bytes long using ASCII characters and then update the overrides file with these new keys.\u003c/p\u003e\n"]]],[],null,["# Data encryption\n\n| You are currently viewing version 1.1 of the Apigee hybrid documentation. **This version is end of life.** You should upgrade to a newer version. For more information, see [Supported versions](/apigee/docs/hybrid/supported-platforms#supported-versions).\n\n\nBy default, the following data is stored *encrypted* in the hybrid\nruntime plane:\n\n- Key management system (KMS) data\n- Key-value map (KVM) data\n- Cache data\n\n\nData encryption does not require any special configuration on your part. However, if\nfor some reason you want to use your own encryption keys (replacing the default ones) you can\ndo so, as explained in this topic.\n\nEncryption key scope\n--------------------\n\n\nEncryption keys for KMS, KVM, and cache have scope. For example, KMS keys have *organization*\nscope. This means that the key is used to encrypt KMS data for the entire organization.\nThe following table lists the scope for\neach type of key:\n\nAbout the default encryption keys\n---------------------------------\n\n\nBy default, Apigee hybrid provides a set of Base64-encoded keys that are used to\nencrypt KVM, KMS, and cache data. The Apigee hybrid installer stores the keys in the\nruntime plane as\n[Kubernetes\nSecrets](https://kubernetes.io/docs/concepts/configuration/secret/), and uses them to encrypt your data with AES-128 standard encryption.\nThe keys are under your control;\nthe hybrid management plane is never aware of them at any time.\n| The default keys will work for most use cases. If you want to change the default encryption keys, do so when you initially install Apigee hybrid into a new cluster. You cannot later change the encryption keys once the runtime data is encrypted.\n\nChanging the default encryption keys\n------------------------------------\n\n\nAlthough not required, you can change any of the default encryption keys if you wish.\nTo replace one or more default keys, follow these steps:\n\n1. Copy the following stanzas into your overrides file. This configuration lets you change the KMS and KVM encryption keys for the organization level and the KVM and cache encryption keys for the environment level: \n\n ```\n defaults:\n org:\n kmsEncryptionKey: base64-encoded-key\n kvmEncryptionKey: base64-encoded-key\n env:\n kvmEncryptionKey: base64-encoded-key\n cacheEncryptionKey: base64-encoded-key\n ```\n2. Generate a new key for each key you wish to replace. Each key must be a Base64-encoded string that is exactly **16, 24, or 32 bytes long** . See also [How to create an encoded\n key](#how-to-create-an-encoded-key).\n3. Replace the default keys with new ones. In this example, all of the default keys are replaced with keys: \n\n ```\n defaults:\n org:\n kmsEncryptionKey: \"JVpTb1FwI0otUHo2RUdRN3pnVyQqVGlMSEFAJXYmb1c=\"\n kvmEncryptionKey: \"T3VkRGM1U3cpOFgtNk9fMnNZU2NaSVA3I1BtZWxkaUU=\"\n env:\n kvmEncryptionKey: \"Q3h6M3R6OWdBeipxTURfKjQwQVdtTng2dU5mODFHcyE=\"\n cacheEncryptionKey: \"b2NTVXdKKjBzN0NORF9XSm9tWFlYKGJ6NUhpNystJVI=\"\n ```\n4. Apply the overrides file to your cluster.\n\nA note about backward compatibility\n-----------------------------------\n\n\nIf you were to remove the encryption keys in your overrides file the first\ntime you install Apigee hybrid, you would\neffectively disable encryption and values would be stored unencrypted.\nIf at a later\ntime you enable encryption by providing keys,\nexiting data remains unencrypted; however, any future data that is added will\nbe encrypted. The system\nwill continue working normally with the unencrypted data and the new encrypted\ndata.\n\n\nAlso, note that\nyou cannot later change the encryption keys\nonce the runtime data is encrypted.\n\nHow to create an encoded key\n----------------------------\n\n| NOTE: You must generate your key from ASCII characters. Apigee hybrid does not support using non-printable characters, such as characters generated using the openssl random command.\n\n\nA properly formatted Base-64-encoded key is required for KVM, KMS, and cache encryption.\nThe key used for any of these purposes must be Base-64 encoded from a string that is 16, 24, or\n32 bytes long, as explained in the following steps:\n| The key string length requirement exists because the [Advanced\n| Encryption Standard](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard) (AES) cipher works on a block size of 128 bits, but can take three different key lengths: 128, 192, and 256 bits (16, 24, or 32 bytes).\n\n\nThe following example commands generate suitable, randomly generated, 32 character,\nBase64-encoded strings that do not include non-printable characters: \n\n```\nLC_ALL=C tr -dc A-Za-z0-9_\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\\\-+= \u003c /dev/urandom | head -c 32 | openssl base64\nPSFvX0BPc1Z2NVklcXdxcF8xR0N4MV4temFveStITU4=\n```\n\n\nor \n\n```\nLC_ALL=C tr -dc \"[:print:]\" \u003c /dev/urandom | head -c 32 | openssl base64\n```"]]