Skip to content

Commit 8250200

Browse files
authored
Merge pull request #30507 from riita10069/riita10069-patch-1
[ja]Update `content/ja/docs/concepts/configuration/secret.md`
2 parents 57fc908 + 7a4cc6c commit 8250200

File tree

1 file changed

+39
-15
lines changed
  • content/ja/docs/concepts/configuration

1 file changed

+39
-15
lines changed

content/ja/docs/concepts/configuration/secret.md

Lines changed: 39 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,29 @@ weight: 30
1010

1111
<!-- overview -->
1212

13-
KubernetesのSecretはパスワード、OAuthトークン、SSHキーのような機密情報を保存し、管理できるようにします。
14-
Secretに機密情報を保存することは、それらを{{< glossary_tooltip text="Pod" term_id="pod" >}}の定義や{{< glossary_tooltip text="コンテナイメージ" term_id="image" >}}に直接記載するより、安全で柔軟です。
15-
詳しくは[Secretの設計文書](https://git.k8s.io/community/contributors/design-proposals/auth/secrets.md)を参照してください。
1613

17-
Secretはパスワード、トークン、キーのような小容量の機密データを含むオブジェクトです
18-
他の方法としては、そのような情報はPodの定義やイメージに含めることができます
19-
ユーザーはSecretを作ることができ、またシステムが作るSecretもあります
14+
Secretとは、パスワードやトークン、キーなどの少量の機密データを含むオブジェクトのことです
15+
このような情報は、Secretを用いないと{{< glossary_tooltip term_id="pod" >}}の定義や{{< glossary_tooltip text="コンテナイメージ" term_id="image" >}}に直接記載することになってしまうかもしれません
16+
Secretを使用すれば、アプリケーションコードに機密データを含める必要がなくなります
2017

18+
なぜなら、Secretは、それを使用するPodとは独立して作成することができ、
19+
Podの作成、閲覧、編集といったワークフローの中でSecret(およびそのデータ)が漏洩する危険性が低くなるためです。
20+
また、Kubernetesやクラスター内で動作するアプリケーションは、不揮発性ストレージに機密データを書き込まないようにするなど、Secretで追加の予防措置を取ることができます。
21+
22+
Secretsは、{{< glossary_tooltip text="ConfigMaps" term_id="configmap" >}}に似ていますが、機密データを保持するために用います。
23+
24+
25+
{{< caution >}}
26+
KubernetesのSecretは、デフォルトでは、APIサーバーの基礎となるデータストア(etcd)に暗号化されずに保存されます。APIにアクセスできる人は誰でもSecretを取得または変更でき、etcdにアクセスできる人も同様です。
27+
さらに、名前空間でPodを作成する権限を持つ人は、そのアクセスを使用して、その名前空間のあらゆるSecretを読むことができます。これには、Deploymentを作成する能力などの間接的なアクセスも含まれます。
28+
29+
Secretsを安全に使用するには、以下の手順を推奨します。
30+
31+
1. Secretsを[安全に暗号化する](/docs/tasks/administer-cluster/encrypt-data/)
32+
2. Secretsのデータの読み取りを制限する[RBACルール](/docs/reference/access-authn-authz/authorization/)の有効化または設定
33+
3. 適切な場合には、RBACなどのメカニズムを使用して、どの原則が新しいSecretの作成や既存のSecretの置き換えを許可されるかを制限します。
34+
35+
{{< /caution >}}
2136

2237
<!-- body -->
2338

@@ -30,6 +45,7 @@ PodがSecretを使う方法は3種類あります。
3045
- [コンテナの環境変数](#using-secrets-as-environment-variables)として利用する
3146
- Podを生成するために[kubeletがイメージをpullする](#using-imagepullsecrets)ときに使用する
3247

48+
KubernetesのコントロールプレーンでもSecretsは使われています。例えば、[bootstrap token Secrets](#bootstrap-token-secrets)は、ノード登録を自動化するための仕組みです。
3349

3450
Secretオブジェクトの名称は正当な[DNSサブドメイン名](/ja/docs/concepts/overview/working-with-objects/names/#dns-subdomain-names)である必要があります。
3551
シークレットの構成ファイルを作成するときに、`data`および/または`stringData`フィールドを指定できます。`data`フィールドと`stringData`フィールドはオプションです。
@@ -145,23 +161,30 @@ Docker configファイルがない場合、または`kubectl`を使用してDock
145161
kubectl create secret docker-registry secret-tiger-docker \
146162
--docker-username=tiger \
147163
--docker-password=pass113 \
148-
164+
165+
--docker-server=my-registry.example:5000
149166
```
150167

151168
このコマンドは、`kubernetes.io/dockerconfigjson`型のSecretを作成します。
152169
`data`フィールドから`.dockerconfigjson`コンテンツをダンプすると、その場で作成された有効なDocker configである次のJSONコンテンツを取得します。
153170

154171
```json
155172
{
156-
"auths": {
157-
"https://index.docker.io/v1/": {
158-
"username": "tiger",
159-
"password": "pass113",
160-
"email": "[email protected]",
161-
"auth": "dGlnZXI6cGFzczExMw=="
162-
}
163-
}
173+
"apiVersion": "v1",
174+
"data": {
175+
".dockerconfigjson": "eyJhdXRocyI6eyJteS1yZWdpc3RyeTo1MDAwIjp7InVzZXJuYW1lIjoidGlnZXIiLCJwYXNzd29yZCI6InBhc3MxMTMiLCJlbWFpbCI6InRpZ2VyQGFjbWUuY29tIiwiYXV0aCI6ImRHbG5aWEk2Y0dGemN6RXhNdz09In19fQ=="
176+
},
177+
"kind": "Secret",
178+
"metadata": {
179+
"creationTimestamp": "2021-07-01T07:30:59Z",
180+
"name": "secret-tiger-docker",
181+
"namespace": "default",
182+
"resourceVersion": "566718",
183+
"uid": "e15c1d7b-9071-4100-8681-f3a7a2ce89ca"
184+
},
185+
"type": "kubernetes.io/dockerconfigjson"
164186
}
187+
165188
```
166189

167190
### Basic authentication Secret
@@ -1062,3 +1085,4 @@ Podに複数のコンテナが含まれることもあります。しかし、Po
10621085
- [`kubectl`を使用してSecretを管理する](/docs/tasks/configmap-secret/managing-secret-using-kubectl/)方法を学ぶ
10631086
- [config fileを使用してSecretを管理する](/docs/tasks/configmap-secret/managing-secret-using-config-file/)方法を学ぶ
10641087
- [kustomizeを使用してSecretを管理する](/docs/tasks/configmap-secret/managing-secret-using-kustomize/)方法を学ぶ
1088+
- [SecretのAPIリファレンス](/docs/reference/kubernetes-api/config-and-storage-resources/secret-v1/)を読む

0 commit comments

Comments
 (0)