Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[ko] translate secrets-good-practices.md into Korean
- Loading branch information
Showing
1 changed file
with
116 additions
and
0 deletions.
There are no files selected for viewing
116 changes: 116 additions & 0 deletions
116
content/ko/docs/concepts/security/secrets-good-practices.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,116 @@ | ||
--- | ||
title: 쿠버네티스 시크릿 모범 사례 | ||
description: > | ||
클러스터 운영자와 애플리케이션 개발자를 위한 모범 시크릿 관리 규칙 및 사례. | ||
content_type: concept | ||
weight: 70 | ||
--- | ||
|
||
<!-- overview --> | ||
|
||
{{<glossary_definition prepend="쿠버네티스에서 시크릿은" | ||
term_id="secret" length="all">}} | ||
|
||
다음 모범 사례는 클러스터 관리자와 애플리케이션 개발자 모두를 위한 것이다. | ||
이 가이드라인을 사용하여 시크릿 오브젝트에 있는 | ||
민감한 정보의 보안을 개선하고 | ||
시크릿을 보다 효과적으로 관리할 수 있다. | ||
|
||
<!-- body --> | ||
|
||
## 클러스터 관리자 | ||
|
||
이 섹션에서는 클러스터 관리자가 클러스터의 기밀 정보 보안을 개선하는 데 | ||
사용할 수 있는 모범 사례를 제공한다. | ||
|
||
### 저장된 데이터(at rest)에 암호화 구성 | ||
|
||
기본적으로 시크릿 오브젝트는 {{<glossary_tooltip term_id="etcd" text="etcd">}}에 | ||
암호화되지 않은 상태로 저장된다. 따라서 `etcd`의 시크릿 데이터에 암호화를 구성해야 한다. | ||
자세한 내용은 | ||
[Encrypt Secret Data at Rest](/docs/tasks/administer-cluster/encrypt-data/)를 참고한다. | ||
|
||
### 시크릿에 대한 최소 권한 접근 구성 {#least-privilege-secrets} | ||
|
||
쿠버네티스 {{<glossary_tooltip term_id="rbac" text="역할 기반 접근 제어 (RBAC)">}} | ||
[(RBAC)](/ko/docs/reference/access-authn-authz/rbac/)와 같은 접근 제어 메커니즘을 계획할 때, | ||
`Secret` 오브젝트에 대한 접근에 대해 다음 가이드라인을 고려한다. 또한 | ||
[역할 기반 접근 제어 (RBAC) 모범 사례](/ko/docs/concepts/security/rbac-good-practices)의 | ||
다른 가이드라인도 따라야 한다. | ||
|
||
- **컴포넌트**: 가장 권한이 높은 시스템 수준의 구성 요소에 대해서만 | ||
`watch`나 `list` 액세스를 제한한다. 컴포넌트의 정상 동작에 필요한 경우에만 | ||
시크릿에 대한 `get` 액세스를 허용한다. | ||
- **사람**: 시크릿에 `get`, `watch` 또는 `list` 액세스를 제한한다. 클러스터 관리자에게만 | ||
`etcd`에 대한 액세스를 허용한다. 여기에는 읽기 전용 액세스가 포함된다. 특정 어노테이션을 | ||
사용하여 시크릿에 대한 액세스를 제한하는 등의 더 복잡한 액세스 제어를 수행하려면 | ||
써드파티(third-party) 권한 부여 메커니즘을 사용하는 것을 고려한다. | ||
|
||
{{< caution >}} | ||
시크릿에 대한 `list` 액세스 권한을 부여하면 주체가 암시적으로 | ||
시크릿의 내용을 가져갈 수 있다. | ||
{{< /caution >}} | ||
|
||
시크릿을 사용하는 파드를 생성할 수 있는 사용자는 해당 시크릿의 값도 볼 수 있다. | ||
클러스터 정책에서 사용자가 시크릿을 직접 읽는 것을 허용하지 않더라도, | ||
동일한 사용자가 시크릿을 노출하는 파드를 실행할 수 있다. | ||
이 액세스 권한을 가진 사용자가 의도적이든 의도적이지 않든 시크릿 데이터를 노출시켜 | ||
발생할 수 있는 영향을 감지하거나 제한할 수 있다. | ||
몇 가지 권장 사항은 다음과 같다. | ||
|
||
* 수명이 짧은 시크릿 사용 | ||
* 한 사용자가 여러 비밀을 동시에 읽는 것과 같은 특정 이벤트에 대해 | ||
경고하는 감사 규칙 구현 | ||
|
||
### etcd 관리 정책 개선 | ||
|
||
더 이상 사용하지 않는다면 `etcd`에서 사용하는 내구성 스토리지를 | ||
지우거나 파쇄하는 것을 고려한다. | ||
|
||
여러 개의 `etcd` 인스턴스가 있는 경우, 인스턴스 간에 암호화된 SSL/TLS 통신을 구성하여 | ||
전송 중(in transit)인 시크릿 데이터를 보호한다. | ||
|
||
### 외부 시크릿에 대한 액세스 구성 | ||
|
||
{{% thirdparty-content %}} | ||
|
||
써드파티 시크릿 저장소 공급자를 사용하여 기밀 데이터를 클러스터 외부에 보관한 다음 | ||
해당 정보에 액세스하도록 파드를 구성할 수 있다. | ||
[쿠버네티스 시크릿 스토어 CSI 드라이버](https://secrets-store-csi-driver.sigs.k8s.io/)는 | ||
kubelet이 외부 스토어에서 시크릿을 검색하고 | ||
접근 권한을 부여한 특정 파드에 시크릿을 볼륨으로 마운트할 수 있도록 하는 | ||
데몬셋(DaemonSet)이다. | ||
|
||
지원되는 제공자 목록은 다음을 참고한다. | ||
[시크릿 스토어 CSI 드라이버 제공자](https://secrets-store-csi-driver.sigs.k8s.io/concepts.html#provider-for-the-secrets-store-csi-driver). | ||
|
||
## 개발자 | ||
|
||
이 섹션은 개발자가 쿠버네티스 리소스를 구축하고 배포할 때 | ||
기밀 데이터의 보안을 개선하기 위해 사용할 수 있는 모범 사례를 제공한다. | ||
|
||
### 특정 컨테이너에 시크릿 액세스 제한 | ||
|
||
파드에 여러 개의 컨테이너를 정의하고 있고 그 중 하나만 시크릿에 접근해야 하는 경우, | ||
볼륨 마운트 또는 환경 변수 구성을 정의하여 | ||
다른 컨테이너가 해당 시크릿에 액세스하지 못하도록 | ||
한다. | ||
|
||
### 읽기 후 시크릿 데이터 보호 | ||
|
||
애플리케이션은 환경 변수나 볼륨에서 기밀 정보를 읽은 후에도 그 값을 보호해야 한다. | ||
예를 들어, 애플리케이션은 시크릿 데이터를 로그에 남기거나 | ||
신뢰할 수 없는 상대에게 | ||
전송하지 않아야 한다. | ||
|
||
### 시크릿 매니페스트 공유 방지 | ||
|
||
시크릿 데이터가 base64로 인코딩된 | ||
{{< glossary_tooltip text="매니페스트" term_id="manifest" >}}를 통해 시크릿을 구성하는 경우, | ||
이 파일을 공유하거나 소스 리포지토리에 체크인하면 매니페스트를 읽을 수 있는 모든 사람이 | ||
시크릿을 사용할 수 있다는 것을 의미한다. | ||
|
||
{{<caution>}} | ||
Base64 인코딩은 암호화 방식이 _아니며_, 일반 텍스트에 비해 추가적인 | ||
기밀성을 제공하지 않는다. | ||
{{</caution>}} |