Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

34.3. 암호화 설정 이해

사용 가능한 모든 공급자가 있는 암호화 구성 파일

kind: EncryptionConfig
apiVersion: v1
resources: 1
  - resources: 2
    - secrets
    providers: 3
    - aescbc: 4
        keys:
        - name: key1 5
          secret: c2VjcmV0IGlzIHNlY3VyZQ== 6
        - name: key2
          secret: dGhpcyBpcyBwYXNzd29yZA==
    - secretbox:
        keys:
        - name: key1
          secret: YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoxMjM0NTY=
    - aesgcm:
        keys:
        - name: key1
          secret: c2VjcmV0IGlzIHNlY3VyZQ==
        - name: key2
          secret: dGhpcyBpcyBwYXNzd29yZA==
    - identity: {}

1
리소스 배열 항목은 별도의 구성이며 전체 구성이 포함됩니다.
2
resources.resources 필드는 암호화해야 하는 Kubernetes 리소스 이름(리소스 또는 resource.group)의 배열입니다.
3
provider 배열은 가능한 암호화 프로바이더 의 순서가 지정된 목록입니다. 항목별로 하나의 공급자 유형만 지정할 수 있습니다(ID또는 aescbc 를 제공할 수 있지만 둘 다 동일한 항목에서는 지정할 수는 없음).
4
목록의 첫 번째 프로바이더는 스토리지로 이동하는 리소스를 암호화하는 데 사용됩니다.
5
시크릿의 임의 이름입니다.
6
base64로 인코딩된 임의 키입니다. 서로 다른 공급자는 서로 다른 키 길이를 갖습니다. 키를 생성하는 방법에 대한 지침을 참조하십시오.

스토리지의 리소스를 읽을 때 저장된 데이터와 일치하는 각 공급자는 순서대로 데이터의 암호를 해독하려고 합니다. 형식 또는 시크릿 키에 불일치하여 저장된 데이터를 읽을 수 없는 경우 클라이언트가 해당 리소스에 액세스할 수 없도록 오류가 반환됩니다.

중요

키가 변경되었기 때문에 암호화 구성을 통해 리소스를 읽을 수 없는 경우 기본 etcd에서 해당 키를 직접 삭제하는 것이 유일한 방법입니다. 해당 리소스 읽기를 시도하는 호출은 삭제되거나 유효한 암호 해독 키가 제공될 때까지 실패합니다.

34.3.1. 사용 가능한 공급자

이름Encryption강력함속도키 길이기타 고려 사항

identity

없음

해당 없음

해당 없음

해당 없음

암호화 없이 작성된 리소스. 첫 번째 프로바이더로 설정하면 새 값이 작성될 때 리소스의 암호가 해독됩니다.

aescbc

PKCS#7 패딩 포함 AES-CBC

강력함

신속 (Fast)

32바이트

권장되는 암호화 선택이지만 secretbox 보다 약간 느릴 수 있습니다.

secretbox

XSalsa20 및 Poly1305

강력함

빠름

32바이트

높은 수준의 검토가 필요한 환경에서는 최신 표준으로 간주되지 않을 수 있습니다.

aesgcm

임의의 초기화 벡터(IV)가 있는 AES-GCM

200,000개의 쓰기마다 순환해야 합니다.

가장 빠른

16, 24 또는 32바이트

자동 키 순환 체계를 구현하는 경우를 제외하고는 를 사용하지 않는 것이 좋습니다.

각 공급자는 여러 개의 키를 지원합니다. 암호 해독을 위해 키가 시도됩니다. 공급자가 첫 번째 공급자인 경우 첫 번째 키는 암호화에 사용됩니다.

참고

Kubernetes에는 적절한 nonce 생성기가 없으며 AES-GCM에 대해 임의 IV를 nonce로 사용합니다. AES-GCM은 안전한 의사가 필요하므로 AES-GCM은 권장되지 않습니다. 20만 건의 쓰기 제한은 치명적인 오류 발생 가능성을 합리적인 낮은 마진으로 제한합니다.