- ホーム
- Linux Foundation
- CKS - Certified Kubernetes Security Specialist (CKS)
- LinuxFoundation.CKS.v2024-10-17.q40
- 質問16
有効的なCKS問題集はJPNTest.com提供され、CKS試験に合格することに役に立ちます!JPNTest.comは今最新CKS試験問題集を提供します。JPNTest.com CKS試験問題集はもう更新されました。ここでCKS問題集のテストエンジンを手に入れます。
CKS問題集最新版のアクセス
「49問、30% ディスカウント、特別な割引コード:JPNshiken」
名前空間内での特権ポッドの作成を防止する PSP を作成します。
特権ポッドの作成を防止する、prevent-privileged-policy という名前の新しい PodSecurityPolicy を作成します。
名前空間 default に psp-sa という名前の新しい ServiceAccount を作成します。
新しく作成された Pod セキュリティ ポリシー prevent-privileged-policy を使用する、prevent-role という名前の新しい ClusterRole を作成します。
作成された ClusterRole prevent-role を作成された SA psp-sa にバインドする、prevent-role-binding という名前の新しい ClusterRoleBinding を作成します。
また、特権ポッドの作成を試行して構成が機能しているかどうかを確認します。失敗するはずです。
正解:
名前空間内での特権ポッドの作成を防止する PSP を作成します。
$ cat クラスタロール使用特権.yaml
---
APIバージョン: rbac.authorization.k8s.io/v1
種類: ClusterRole
メタデータ:
名前: 特権 PSP の使用
ルール:
- apiGroups: ['ポリシー']
リソース: ['podsecuritypolicies']
動詞: ['使用する']
リソース名:
- デフォルト-psp
---
APIバージョン: rbac.authorization.k8s.io/v1
種類: RoleBinding
メタデータ:
名前: 特権ロールバインド
名前空間: psp-test
ロールリファレンス:
apiグループ: rbac.authorization.k8s.io
種類: ClusterRole
名前: 特権 PSP の使用
科目:
- 種類: サービスアカウント
名前:特権さ
$ kubectl -n psp-test を適用 -f clusterrole-use-privileged.yaml
しばらくすると、特権 Pod が作成されます。
特権ポッドの作成を防止する、prevent-privileged-policy という名前の新しい PodSecurityPolicy を作成します。
APIバージョン: ポリシー/v1beta1
種類: PodSecurityPolicy
メタデータ:
名前: 例
仕様:
privileged: false # 特権ポッドを許可しません。
# 残りはいくつかの必須フィールドに入力します。
カーネル:
ルール: RunAsAny
補足グループ:
ルール: RunAsAny
実行ユーザー:
ルール: RunAsAny
グループ:
ルール: RunAsAny
ボリューム:
- '*'
kubectl で作成します:
kubectl-admin 作成 -f example-psp.yaml
次に、権限のないユーザーとして、単純なポッドを作成してみます。
kubectl-user 作成 -f- <<EOF
APIバージョン: v1
種類: ポッド
メタデータ:
名前: 一時停止
仕様:
コンテナ:
- 名前: 一時停止
画像: k8s.gcr.io/pause
終了
出力は次のようになります。
サーバーからのエラー (禁止): 「STDIN」の作成中にエラーが発生しました: ポッド「一時停止」は禁止されています: どのポッド セキュリティ ポリシーに対しても検証できません: [] 名前空間のデフォルトで psp-sa という名前の新しい ServiceAccount を作成します。
$ cat クラスタロール使用特権.yaml
---
APIバージョン: rbac.authorization.k8s.io/v1
種類: ClusterRole
メタデータ:
名前: 特権 PSP の使用
ルール:
- apiGroups: ['ポリシー']
リソース: ['podsecuritypolicies']
動詞: ['使用する']
リソース名:
- デフォルト-psp
---
APIバージョン: rbac.authorization.k8s.io/v1
種類: RoleBinding
メタデータ:
名前: 特権ロールバインド
名前空間: psp-test
ロールリファレンス:
apiグループ: rbac.authorization.k8s.io
種類: ClusterRole
名前: 特権 PSP の使用
科目:
- 種類: サービスアカウント
名前:特権さ
$ kubectl -n psp-test を適用 -f clusterrole-use-privileged.yaml
しばらくすると、特権 Pod が作成されます。
新しく作成された Pod セキュリティ ポリシー prevent-privileged-policy を使用する、prevent-role という名前の新しい ClusterRole を作成します。
APIバージョン: ポリシー/v1beta1
種類: PodSecurityPolicy
メタデータ:
名前: 例
仕様:
privileged: false # 特権ポッドを許可しません。
# 残りはいくつかの必須フィールドに入力します。
カーネル:
ルール: RunAsAny
補足グループ:
ルール: RunAsAny
実行ユーザー:
ルール: RunAsAny
グループ:
ルール: RunAsAny
ボリューム:
- '*'
kubectl で作成します:
kubectl-admin 作成 -f example-psp.yaml
次に、権限のないユーザーとして、単純なポッドを作成してみます。
kubectl-user 作成 -f- <<EOF
APIバージョン: v1
種類: ポッド
メタデータ:
名前: 一時停止
仕様:
コンテナ:
- 名前: 一時停止
画像: k8s.gcr.io/pause
終了
出力は次のようになります。
サーバーからのエラー (禁止): 「STDIN」の作成中にエラーが発生しました: ポッド「pause」は禁止されています: どのポッド セキュリティ ポリシーに対しても検証できません: [] 作成された ClusterRole prevent-role を作成された SA psp-sa にバインドする、prevent-role-binding という名前の新しい ClusterRoleBinding を作成します。
APIバージョン: rbac.authorization.k8s.io/v1
# このロール バインディングにより、「jane」は「default」名前空間内のポッドを読み取ることができます。
# その名前空間に「pod-reader」という名前のロールがすでに存在している必要があります。
種類: RoleBinding
メタデータ:
名前: リードポッド
名前空間: デフォルト
科目:
# 複数の「件名」を指定できます
- 種類: ユーザー
name: jane # 「name」は大文字と小文字を区別します
apiグループ: rbac.authorization.k8s.io
ロールリファレンス:
# "roleRef"はRole / ClusterRoleへのバインディングを指定します
kind: Role #これは Role または ClusterRole である必要があります
name: pod-reader # これはバインドする Role または ClusterRole の名前と一致する必要があります apiGroup: rbac.authorization.k8s.io apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata:
名前空間: デフォルト
名前: ポッドリーダー
ルール:
- apiGroups: [""] # "" はコアAPIグループを示します
リソース: ["ポッド"]
動詞: ["取得する"、"見る"、"一覧表示する"]
[×]
Download PDF File
Enter your email address to download LinuxFoundation.CKS.v2024-10-17.q40.pdf