@@ -12,26 +12,33 @@ weight: 30
12
12
13
13
<!-- overview -->
14
14
15
- 쿠버네티스 시크릿을 사용하면 비밀번호, OAuth 토큰, ssh 키와 같은
16
- 민감한 정보를 저장하고 관리할 수 있다. 기밀 정보를 시크릿에 저장하는 것이
17
- {{< glossary_tooltip term_id="pod" >}} 정의나
18
- {{< glossary_tooltip text="컨테이너 이미지" term_id="image" >}}
19
- 내에 그대로 두는 것보다 안전하고 유연하다.
20
- 자세한 내용은 [ 시크릿 디자인 문서] ( https://git.k8s.io/community/contributors/design-proposals/auth/secrets.md ) 를 참고한다.
21
-
22
15
시크릿은 암호, 토큰 또는 키와 같은 소량의 중요한 데이터를
23
- 포함하는 오브젝트이다. 그렇지 않으면 이러한 정보가 파드
24
- 명세나 이미지에 포함될 수 있다. 사용자는 시크릿을 만들 수 있고 시스템도
25
- 일부 시크릿을 만들 수 있다.
16
+ 포함하는 오브젝트이다. 이를 사용하지 않으면 중요한 정보가 {{< glossary_tooltip text="파드" term_id="pod" >}}
17
+ 명세나 {{< glossary_tooltip text="컨테이너 이미지" term_id="image" >}}에
18
+ 포함될 수 있다. 시크릿을 사용한다는 것은 사용자의 기밀 데이터를
19
+ 애플리케이션 코드에 넣을 필요가
20
+ 없음을 뜻한다.
21
+
22
+ 시크릿은 시크릿을 사용하는 파드와 독립적으로 생성될 수 있기 때문에,
23
+ 파드를 생성하고, 확인하고, 수정하는 워크플로우 동안 시크릿(그리고 데이터)이
24
+ 노출되는 것에 대한 위험을 경감시킬 수 있다. 쿠버네티스
25
+ 및 클러스터에서 실행되는 애플리케이션은 기밀 데이터를 비휘발성
26
+ 저장소에 쓰는 것을 피하는 것과 같이, 시크릿에 대해 추가 예방 조치를 취할 수도 있다.
27
+
28
+ 시크릿은 {{< glossary_tooltip text="컨피그맵" term_id="configmap" >}}과 유사하지만
29
+ 특별히 기밀 데이터를 보관하기 위한 것이다.
26
30
27
31
{{< caution >}}
28
- 쿠버네티스 시크릿은 기본적으로 암호화되지 않은 base64 인코딩 문자열로 저장된다 .
29
- 기본적으로 API 액세스 권한이 있는 모든 사용자 또는 쿠버네티스의 기본 데이터 저장소 etcd에
30
- 액세스할 수 있는 모든 사용자가 일반 텍스트로 검색할 수 있다.
31
- 시크릿을 안전하게 사용하려면 ( 최소한) 다음과 같이 하는 것이 좋다.
32
+ 쿠버네티스 시크릿은 기본적으로 API 서버의 기본 데이터 저장소(etcd)에 암호화되지 않은 상태로 저장된다. API 접근(access) 권한이 있는 모든 사용자 또는 etcd에 접근할 수 있는 모든 사용자는 시크릿을 조회하거나 수정할 수 있다 .
33
+ 또한 네임스페이스에서 파드를 생성할 권한이 있는 사람은 누구나 해당 접근을 사용하여 해당 네임스페이스의 모든 시크릿을 읽을 수 있다. 여기에는 디플로이먼트 생성 기능과 같은 간접 접근이 포함된다.
34
+
35
+ 시크릿을 안전하게 사용하려면 최소한 다음의 단계를 따르는 것이 좋다.
32
36
33
37
1 . 시크릿에 대한 [ 암호화 활성화] ( /docs/tasks/administer-cluster/encrypt-data/ ) .
34
- 2 . 시크릿 읽기 및 쓰기를 제한하는 [ RBAC 규칙 활성화 또는 구성] ( /ko/docs/reference/access-authn-authz/authorization/ ) . 파드를 만들 권한이 있는 모든 사용자는 시크릿을 암묵적으로 얻을 수 있다.
38
+ 2 . 시크릿의 데이터 읽기 및 쓰기(간접적인 방식 포함)를 제한하는 [ RBAC 규칙] ( /ko/docs/reference/access-authn-authz/authorization/ )
39
+ 활성화 또는 구성.
40
+ 3 . 적절한 경우, RBAC와 같은 메커니즘을 사용하여 새로운 시크릿을 생성하거나 기존 시크릿을 대체할 수 있는 주체(principal)들을 제한한다.
41
+
35
42
{{< /caution >}}
36
43
37
44
<!-- body -->
@@ -47,6 +54,10 @@ weight: 30
47
54
- [ 컨테이너 환경 변수] ( #시크릿을-환경-변수로-사용하기 ) 로써 사용.
48
55
- 파드의 [ 이미지를 가져올 때 kubelet] ( #imagepullsecrets-사용하기 ) 에 의해 사용.
49
56
57
+ 쿠버네티스 컨트롤 플레인 또한 시크릿을 사용한다. 예를 들어,
58
+ [ 부트스트랩 토큰 시크릿] ( #부트스트랩-토큰-시크릿 ) 은
59
+ 노드 등록을 자동화하는 데 도움을 주는 메커니즘이다.
60
+
50
61
시크릿 오브젝트의 이름은 유효한
51
62
[ DNS 서브도메인 이름] ( /ko/docs/concepts/overview/working-with-objects/names/#dns-서브도메인-이름 ) 이어야 한다.
52
63
사용자는 시크릿을 위한 파일을 구성할 때 ` data ` 및 (또는) ` stringData ` 필드를
@@ -1236,7 +1247,6 @@ API 서버에서 kubelet으로의 통신은 SSL/TLS로 보호된다.
1236
1247
API 서버 정책이 해당 사용자가 시크릿을 읽을 수 있도록 허용하지 않더라도, 사용자는
1237
1248
시크릿을 노출하는 파드를 실행할 수 있다.
1238
1249
1239
-
1240
1250
# # {{% heading "whatsnext" %}}
1241
1251
1242
1252
- [`kubectl` 을 사용한 시크릿 관리](/docs/tasks/configmap-secret/managing-secret-using-kubectl/)하는 방법 배우기
0 commit comments