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