クーバネティスポリシーのティップス
概要
組織内のクーバネティスクラスターのアクセスポリシーを管理できます。クーバネティスポリシーは Policy as Code (PaC) として動作し、YAML 形式に基づいています。
管理者は、コードエディターページの下部にある Tips タブを使用して、各項目の定義を確認し、コードに組み込むことができます。
Tips はコードエディターの各フィールドの簡単な記述ガイドを提供します。
コードエディター内のカーソル位置に基づいて関連するヒントがハイライトされ、ユーザーは関連するコンテンツを見ることができます。
対応するフィールドに値が入力されると、ヒントは消えます。値を削除すると、ヒントが再び表示されます。
ヒントが提供する内容
ポリシーコードを記述する際のガイドとして、以下の情報が表示されます:
ターゲット | 主なティップス | 説明 |
---|---|---|
| 仕様の定義 | ポリシーは許可と拒否の指定を含むことができます。この構文では、1つのポリシーで複数の allow または deny 指定を受け付けることはできません。 |
| リソースの指定 | ポリシーには少なくとも 1つの QueryPie リソースを含める必要があります。一度にすべてのリソースを対象とするには、'*' を使用します (例:cluster:*)。 QueryPie はグロブパターンと正規表現 (RE2:https://github.com/girishji/re2/wiki/Syntax) の両方をサポートしています。 |
| クーバネティスグループを指定 | ポリシーには、なりすましのために少なくとも 1つのクーバネティスグループを含める必要があります。QueryPie プロキシー経由でのなりすまし用に、クーバネティスクラスター内のグループ subject を定義します (例: system:masters)。 |
| (オプション) なりすましを許可 | ポリシーには、クライアントからのなりすましを許可するクーバネティスユーザーおよび/またはグループのリストを含めることができます。 |
| (オプション) なりすましユーザーのリスト | ポリシーには、クライアントから "--as " パラメータを使用してなりすますことを許可されたクーバネティスユーザーのリストを含めることができます。 |
| (オプション) なりすましグループのリスト | ポリシーには、クライアントから "--as-group" パラメータを使用して許可される クーバネティス グループのリストを含めることができます。 |
| API グループの定義 | クーバネティスリソースを効率的に整理するために API グループを定義します。すべての API グループを一度に定義するには、'*' を入力します (例: ["*"])。 |
| クーバネティスリソースの定義 | 対象のクーバネティスリソースを定義します。必要に応じてサブリソースを指定します。すべてのリソースを対象とするには、'*'を入力します (例: ["pods", "pods/exec"])。 |
| Namespace の定義 | 対象となるクーバネティスリソースの Namespace を定義します。すべての Namespace を対象とするには、'*' を入力します (例: "*")。 |
| 名前の定義 | 対象となるクーバネティスリソースの名前を定義します。すべてのリソース名を対象とするには、'*' を入力します (例: "eks-*")。 |
| verbs の定義 | リソースに対して許容されるアクションを定義する。一度にすべてのアクションを対象にするには、'*' をタイプする (例: ["*"])。 |
| (オプション) 条件の設定 | ポリシーには、タグ、属性、および/または IP アドレスによって対象のリソースおよび/またはユーザーをフィルタリングするための一連の条件を含めることができます。 |
| (オプション) タグ条件の追加 | QueryPie で管理されるリソースを QueryPie のタグでフィルタリングします (例:"region": "ap-northeast-*")。 |
| (オプション) ユーザー属性条件の追加 | きめ細かなポリシー施行のためのユーザー属性を指定します。指定された属性に一致するユーザーのみがこのポリシーを利用できます (例: "department": "DevOps")。 |
| (オプション) IP アドレスのリスト | このポリシーを利用する IP アドレスの範囲をリストします。単一の IP アドレスまたは CIDR 形式で入力します (例: ["10.0.0.0/24", "10.10.10.10"])。 |
| verbs "get", "create" の指定 | "pods/exec "リソースは、ユーザーがそのアクションを呼び出すためにverbs "get"、"create "を必要とします。また、"pods "を "get "および "list "する権限も必要です。 |
| verb "get" の指定 | "pods/log "リソースは、ユーザーがそのアクションを呼び出すためにverb "get "を必要とします。また、"pods "を "get "および "list "する権限も必要です。 |
| verbs "get", "create" の指定 | "pods/portforward "リソースは、ユーザーがそのアクションを呼び出すためにverbs "get", "create "を必要とします。また、"pods "を "get "および "list "する権限も必要です。 |
without | verbs "get "と "list" を追加 | 一貫性と正確性を確保するために、編集操作を実行する前に "get "および/または "list "という verbs をビューに使用するのが一般的です。 |