이 문서는 AI로 번역되었습니다. 부정확한 내용이 있을 경우 영어 버전을 참조하세요
고객 휴대폰 번호, 이메일 주소, 카드 번호 등 일부 민감한 비즈니스 데이터는 암호화할 수 있습니다. 암호화된 데이터는 데이터베이스에 암호문 형태로 저장됩니다.

플러그인은 자동으로 애플리케이션 키를 생성하며, 이 키는 /storage/apps/main/encryption-field-keys 디렉터리에 저장됩니다.
애플리케이션 키 파일명은 키 ID이며, 확장자는 .key입니다. 파일명을 임의로 변경하지 마십시오.
애플리케이션 키 파일을 안전하게 보관하십시오. 만약 애플리케이션 키 파일을 분실하면, 암호화된 데이터를 복호화할 수 없습니다.
만약 하위 애플리케이션에서 플러그인을 활성화한 경우, 키는 기본적으로 /storage/apps/${하위 애플리케이션 이름}/encryption-field-keys 디렉터리에 저장됩니다.
봉투 암호화(Envelope Encryption) 방식을 사용합니다.

애플리케이션 키를 자동으로 생성하여 Base64 인코딩 방식으로 기본 저장 디렉터리에 저장합니다.필드 키가 무작위로 생성됩니다. 이 필드 키는 애플리케이션 키와 무작위로 생성된 16비트 필드 암호화 벡터를 사용하여 암호화(AES 암호화 알고리즘)된 후, fields 테이블의 options 필드에 저장됩니다.fields 테이블의 options 필드에서 암호화된 필드 키와 필드 암호화 벡터를 가져옵니다.애플리케이션 키와 필드 암호화 벡터를 사용하여 암호화된 필드 키를 복호화한 다음, 복호화된 필드 키와 무작위로 생성된 16비트 데이터 암호화 벡터를 사용하여 데이터를 암호화(AES 암호화 알고리즘)합니다.필드 키를 사용하여 데이터를 서명(HMAC-SHA256 해시 알고리즘)하고, Base64 인코딩 방식으로 문자열로 변환합니다(생성된 데이터 서명은 이후 데이터 검색에 사용됩니다).데이터 암호화 벡터와 암호화된 데이터 암호문을 이진 방식으로 연결하고, Base64 인코딩 방식으로 문자열로 변환합니다.데이터 서명 문자열과 연결된 Base64 인코딩된 데이터 암호문 문자열을 '.' 구분자로 연결합니다.애플리케이션 키를 지정하려면 환경 변수 ENCRYPTION_FIELD_KEY_PATH를 사용할 수 있습니다. 플러그인은 해당 경로의 파일을 애플리케이션 키로 로드합니다.
애플리케이션 키 파일 형식 요구 사항:
.key여야 합니다.
암호화된 필드는 다음 조건만 지원합니다: 같음, 같지 않음, 존재함, 존재하지 않음.

데이터 필터링 방식:
필드 키를 가져와 애플리케이션 키를 사용하여 필드 키를 복호화합니다.필드 키를 사용하여 사용자가 입력한 검색 텍스트를 서명(HMAC-SHA256 해시 알고리즘)합니다.
nocobase key-rotation 명령을 사용하기 전에 애플리케이션에 이 플러그인이 로드되었는지 확인하십시오.
애플리케이션을 새 환경으로 마이그레이션한 후, 이전 환경과 동일한 키를 계속 사용하고 싶지 않을 때 nocobase key-rotation 명령을 사용하여 애플리케이션 키를 교체할 수 있습니다.
키 로테이션 명령을 실행하려면 이전 환경의 애플리케이션 키를 지정해야 합니다. 명령 실행 후 새로운 애플리케이션 키가 생성되어 이전 키를 대체합니다. 새로운 애플리케이션 키는 Base64 인코딩 방식으로 기본 저장 디렉터리에 저장됩니다.
하위 애플리케이션의 애플리케이션 키를 교체하려면 --app-name 파라미터를 추가하여 하위 애플리케이션의 name을 지정해야 합니다.