############## IAM-K8S-ACCESS ############## Kubernetes リソースへのアクセス権限を IAM リソースに付与するためのパッケージです。 対応サービス ============ * AWS: `AWS IAM`_ パッケージの機能 ================ 本パッケージでは、IAM リソースに対してkubernetes APIへのアクセス権限を付与するための機能を提供します。 * IAM Roleに対するkubernetes API へのアクセス権限の付与(AWS) アクセスレベルの設定 ==================== **action パラメータ:** アクセスレベルは、運用シーンに応じて以下の2種類から選択できます: - **read** - 読み取り専用 (get, list, watch) - **admin** - 書き込み・削除など全操作が許可 プリセット権限 ================ preset: all ------------------- このプリセットは、管理者向けに設計されています。 全リソースに対する操作権限を付与するため、システム全体の運用管理に適しています。 - **リソース制限:** なし - **Namespace 制限:** なし preset: application ------------------- このプリセットは、アプリケーションエンジニア向けに設計されています。 アプリケーションのデバッグやログ確認等に必要となる最小限のアクセス権限を付与することで、過剰な権限を排除し安全に運用できます。 対象リソースの制限 ~~~~~~~~~~~~~~~~~~ - **対象リソース:** Deployment、Pod、ConfigMap、Service、Secret、HelmRelease, Application - アプリケーションの運用に必要なリソースに対してのみアクセスを許可します。 Namespaceの制限 ~~~~~~~~~~~~~~~~~~~~ - **対象Namespace:** targetNamespaces に指定されたNamespaceのみアクセス可能 - 指定された領域に限定して権限を付与し、クラスタ全体への不要なアクセスを防ぎます。 - **追加アクセス:** - **Terraformリソース:** managed-system Namespaceで共通管理のため、追加でアクセス権限を付与 - **Kustomization, GitRepositoryリソース:** flux-system Namespaceで共通管理のため、追加でアクセス権限を付与 アクセスレベルの設定 ~~~~~~~~~~~~~~~~~~~~ **action パラメータ:** - **read:** 読み取り専用(get, list, watch) - **admin:** 書き込みや削除など全ての操作を許可 → 運用シーンに応じた権限レベルを選択可能です。 カスタムロール ================ - customRbacRules の設定によりカスタムロールを追加することができます。 - プリセットと併用する場合、プリセット権限とカスタムロールの両方が適用されます。 Values ====== Default values -------------- .. literalinclude:: values/iam-k8s-access.values.yaml :language: yaml Schema reference ---------------- .. jsonschema:: schema/iam-k8s-access.schema.json Example ======= Example1-1. AWS IAM ----------------------- .. literalinclude:: example/iam-k8s-access/example1_aws.yaml :language: yaml Change Log ========== .. changelog:: :changelog-url: https://msp-project-gcp.an.r.appspot.com/managed/iam-k8s-access.html :github: https://github.com/sbopsv/MASTER-CONTAINER-HELM-IAM-GROUP/releases/ .. _AWS IAM: https://aws.amazon.com/jp/iam/