権限付与
Kubernetes クラスターは RAM ユーザーに対してクラスター上の操作を実行する権限付与をサポートしています。
詳しくは、「RAM ユーザーとしての Container Service コンソールの使用」ご参照ください。
フルリンク TLS 証明書
Container Service Kubernetes クラスターでは、以下のような通信リンクにより、接続の盗聴や改ざんを防ぐため TLS 証明書による認証が行われています。
- ワーカーノード上の
kubelet
はマスターノード上のapiserver
と活発な通信を行います。 - マスターノード上の
apiserver
はワーカーノード上のkubelet
と活発な通信を行います。
初期化中、マスターノードは SSH トンネルを使用し、初期化に向けてSSH サービスの他のノード ( 22 番ポート) に接続します。
ネイティブシークレットと RBAC サポート
Kubernetes シークレットは、パスワード、OAuth トークンおよび SSH キーなどの重要な情報の保存に利用されます。 ポッド YAML または Docker イメージへの重要な情報の書き込みにプレーンテキストを使用する場合には情報漏えいが起こる可能性がありますが、シークレットを利用することでそのようなセキュリティリスクを効果的に回避できます。
詳しくは、『シークレット』 をご参照ください。
RBAC (Role-Based Access Control) は Kubernetes ビルトイン API グループを使用し、権限付与および認証を行います。これにより、API を使用し異なるルールやロールのアクセス権限に対応するポッドの管理が可能になります。
詳しくは、『RBAC 権限付与の使用』 をご参照ください。
ネットワークポリシー
Kubernetes クラスターにおいて、デフォルトでは、異なるノード上のポッドは相互に通信します。 いくつかのシナリオにおいて、リスクを削減するため、異なる業務サービス間のネットワーク相互通信は許可されておらず、ネットワークポリシーの導入が必要です。 Kuberentes クラスターでは、Canal ネットワークドライバーを使用し、ネットワークポリシーのサポートを実装します。
イメージセキュリティスキャン
Kubernetes クラスターでは Container Registry をイメージの管理に使用することができます。これにより、イメージセキュリティスキャンに実行が可能になります。
イメージセキュリティスキャンはイメージ内のセキュリティリスクを素早く識別し、お使いの Kubernetes クラスター上で実行中のアプリケーションが攻撃を受ける可能性を低減します。
詳しくは、 『イメージセキュリティスキャン』 をご参照ください。
セキュリティグループとインターネットアクセス
デフォルトでは、新しく作成された Kubernetes クラスターは、それぞれセキュリティリスクが最小化された新しいセキュリティグループに割り当てられます。 このセキュリティグループは、インターネットインバウンドに対して ICMP を許可します。
デフォルトでは、インターネット SSH によるお使いのクラスターへのアクセスはできません。 インターネット SSH を利用したクラスターノードへのアクセスは、「SSH を使用した Kubernetes クラスターへのアクセス」ご参照ください。
クラスターノードは NAT ゲートウェイを介してインターネットにアクセスします。これにより、セキュリティリスクをさらに軽減できます。