Kubernetes の図
セクションを選択

Kubernetes ロールベースのアクセス制御 (RBAC) とは

URL をコピー

Kubernetes ロールベースのアクセス制御 (RBAC) は、ID およびアクセス管理 (IAM) の一形態であり、誰 (サブジェクト) が、どこ (名前空間) で、何を実行 (動詞) できるかを決定する一連の権限またはテンプレートが含まれます。RBAC は、従来の属性ベースのアクセス制御 (ABAC) の進化形で、ユーザーの責任ではなくユーザー名に基づいてアクセスを付与します。

2021 年版 Kubernetes のセキュリティの現状に関するレポート

企業が Kubernetes RBAC を含め、Kubernetes セキュリティの構想をどのように実行に移しているかをご覧ください。

Kubernetes (k8s または kube とも呼ばれる) は、オープンソースコンテナ・オーケストレーション・プラットフォームで、コンテナ化されたアプリケーションのデプロイ管理、スケーリングに伴う多くの手動プロセスを自動化します。 

Kubernetes によって管理される Linux コンテナは、マイクロサービスベースのアプリケーションにとって理想的なアプリケーションデプロイ単位であり、自己完結型の実行環境です。また、Kubernetes デプロイメントは YAML で記述されるため、コードは人間が読める形式になっています。

ロールは、Pod とノードへのさまざまなレベルのアクセスを許可します。ロールには、アプリケーション・ワークロード (単にロールと呼ばれる) またはクラスタ全体 (クラスタロールと呼ばれる) として一緒に機能するクラスタの特定のグループにアクセスする権限を与えることができます。

  • ロールは、名前空間と呼ばれる、仮想的にリンクされたクラスタのグループに権限を付与します。ワークロードへのユーザーアクセスは、特定の名前空間に含まれるクラスタによって決定されるため、ロールは名前空間付きのリソースの一種です。ユーザー、ユーザーのグループ、またはサービスアカウント名は、ロールバインディングによって単一のロールに統合できます。
  • クラスタロールは、個別のハードウェアノードのグループであるクラスタ全体に権限を付与します。クラスタロールは、複数の名前空間にまたがることができます。クラスタ・ロール・バインディングは、クラスタロールをクラスタ内のすべての名前空間に関連付けます。たとえば、クラスタ管理者のクラスタロール名は、すべてのクラスタに自由にアクセスできます。

ロールバインディングとクラスタロールの権限は、メタデータを使用して組み合わせ、スタックすることができます。これにより、クラスタロールで定義された権限が、ロールバインディングの名前空間内のリソースに付与され、複数の名前空間で再利用できるクラスタ全体で共通のロールを定義するのに役立ちます。

Kubernetes コントロールプレーンのフロントエンドは Kubernetes アプリケーション・プログラミング・インタフェース (API) です。Kubernetes API は、コンピュータまたはシステムとの対話を通信し、情報を取得したり、機能を実行したりします。 

Kubernetes RBAC は、関連する機能要求を API グループに収集します。API グループは、特定のロールを API エンドポイントに接続するときに API サーバーと通信します。

Kubernetes RBAC の使用に関する詳細 (Kubernetes ドキュメント、rbac.authorization.k8s.io 認証、kubectl コマンドラインツール、アドオン、kubelet TLS ブートストラップ、ネットワークポリシーの設定など) については、オープンソース・プロジェクトの RBAC ドキュメントをご覧ください。

Red Hat は、Kubernetes の作成者である Google と、立ち上げ前からプロジェクトで協力していた最初の企業の 1 つでした。以来、Kubernetes アップストリーム・プロジェクトにおける第 2 の主要なコントリビューターであり、エンタープライズ Kubernetes プラットフォームの最初の市場投入に貢献しました。 

Red Hat® OpenShift® はエンタープライズ向けの Kubernetes であり、Kubernetes をより強力で実行可能なものにするためのすべてのテクノロジーが追加されています。これらのコンポーネントには、ネットワーク、認証、監視、セキュリティ、自動化などが含まれます。 

プロプライエタリーのコンポーネントや複雑なプロセスを必要とする他のベンダーのプラットフォームとは異なり、Red Hat OpenShift は運用および開発チーム向けの単一の統合プラットフォームであり、Kubernetes の一般的なストレージとネットワークプラグインを検証済みで、監視、ロギング、および分析ソリューションが組み込まれています。

OpenShift を基盤として構築された Red Hat Advanced Cluster Management と Red Hat Ansible® Automation Platform を併用することで、複数の環境にまたがる複数の Kubernetes クラスタを効率的にデプロイし、管理できます。

関連資料

記事

コンテナと VM

Linux コンテナと仮想マシン (VM) は、さまざまな IT コンポーネントが組み合わさってシステムの他の部分から分離している、パッケージ化されたコンピューティング環境です。

記事

コンテナ・オーケストレーションとは

コンテナ・オーケストレーションは、コンテナのデプロイメント、管理、スケーリング、ネットワーキングを自動化します。

記事

Linux コンテナとは

Linux コンテナとは、システムから分離された一連のプロセスであり、そのプロセスのサポートに必要なすべてのファイルを提供する個別のイメージから実行されます。

コンテナの詳細はこちら

製品

統合されたテスト済みのサービス一式を備えたエンタープライズ・アプリケーション・プラットフォームであり、ユーザーの選ぶインフラストラクチャを使ってアプリケーションを市場に投入するために活用できます。

リソース

トレーニング

無料のトレーニングコース

Running Containers with Red Hat Technical Overview

無料のトレーニングコース

Containers, Kubernetes and Red Hat OpenShift Technical Overview

無料のトレーニングコース

Developing Cloud-Native Applications with Microservices Architectures