Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Control Center] Remove references to the 1.0 installation process #3976

Merged
merged 4 commits into from
Dec 19, 2024
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
15 changes: 2 additions & 13 deletions articles/control-center/security/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,11 @@ order: 20
Control Center is a powerful tool that simplifies the management of Vaadin applications on Kubernetes clusters. However, it's essential to consider security when deploying and using Control Center. This page outlines the security implications of using the software.


== Cluster-Wide Administrator Privileges

During installation, Control Center requires cluster-wide administrator privileges to manage resources across namespaces. This is used by Control Center to install its dependencies in your cluster.

Granting these privileges can pose a security risk. It gives Control Center access to all resources across the cluster, which is unnecessary for its normal operation. To mitigate this risk, you can install Control Center without administrator privileges and manually install its dependencies. This way, you can reduce the potential impact of a security breach.

The instructions for installing Control Center without cluster-wide administrator privileges are in the section <<../getting-started/dependency-installation#,Installation of Dependencies>>.


== Config Map and Secrets Access Policy

Control Center uses config maps and secrets to store configuration data and sensitive information, such as database credentials and API keys. It's crucial to secure these resources to prevent unauthorized access. Applications deployed by Control Center also use config maps to store deployment-specific data.

When you install Control Center without cluster-wide administrator privileges -- as recommended for production deployment -- it'll only be allowed access to config maps and secrets within the dedicated namespace created during installation. It won't have access to resources outside of this namespace.

Conversely, if Control Center is installed with cluster-wide administrator privileges, it'll have access to all resources in the cluster. Again, this can pose a security risk since Control Center could potentially access sensitive information from other namespaces.
Control Center is only allowed access to config maps and secrets within the dedicated namespace created during installation. It won't have access to resources outside of this namespace.

Applications deployed by Control Center only have access to the config maps created for them by Control Center. They don't have access to other config maps or secrets in the same namespace or in the cluster. This means you can be sure that applications deployed by Control Center cannot access sensitive information from other applications or services.

Expand All @@ -48,4 +37,4 @@ An actuator endpoint is a public HTTP endpoint that provides information about t

When the <<../identity-management#,Identity Management>> feature is enabled, the application is configured to use Keycloak for authentication and authorization. The users, groups, and roles are managed by Control Center, which is backed by a Keycloak instance. This requires the Keycloak instance to be accessible outside the cluster, which introduces a potential for disruption if it's compromised.

Control Center prompts for Keycloak administrator credentials during installation. It uses these to create the administrator user for the Keycloak instance. It's important to keep these credentials secure, as they provide full access to the Keycloak instance, including users, groups, and roles created via Control Center.
Control Center creates a Keycloak administrator during installation. This can be used to access the Keycloak instance directly. The username is `admin` and the password is stored in a base 64 encoded secret named `<installation-name>-keycloak-initial-admin`, where `<installation-name>` is the Control Center name chosen during installation. It's important to keep this user's credentials secure, as they provide full access to the Keycloak instance, and manual changes may cause disruption to Control Center features.
MatthewVaadin marked this conversation as resolved.
Show resolved Hide resolved
Loading