From 52bbbcf7e81f528fc269ae25e3116ab8c1f481fc Mon Sep 17 00:00:00 2001 From: Anjali Telang Date: Fri, 3 Jun 2022 10:59:51 -0400 Subject: [PATCH 1/5] margo's suggestions --- site/content/docs/img/ldap-ad-ui.png | Bin 0 -> 174326 bytes .../posts/2022-06-01-json-logging-ldap-ui.md | 91 ++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 site/content/docs/img/ldap-ad-ui.png create mode 100644 site/content/posts/2022-06-01-json-logging-ldap-ui.md diff --git a/site/content/docs/img/ldap-ad-ui.png b/site/content/docs/img/ldap-ad-ui.png new file mode 100644 index 0000000000000000000000000000000000000000..9b2610db665fb654cc75502966145b9dd8be9fec GIT binary patch literal 174326 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 literal 0 HcmV?d00001 diff --git a/site/content/posts/2022-06-01-json-logging-ldap-ui.md b/site/content/posts/2022-06-01-json-logging-ldap-ui.md new file mode 100644 index 00000000..02e0c07b --- /dev/null +++ b/site/content/posts/2022-06-01-json-logging-ldap-ui.md @@ -0,0 +1,91 @@ +--- +title: "Pinniped v0.18.0: With User-Friendly features such as JSON formatted logs, LDAP/ActiveDirectory UI Support" +slug: formatted-logs-ui-based-ldap-logins +date: 2022-06-01 +author: Anjali Telang +image: https://images.unsplash.com/photo-1587738972117-c12f8389f1d4?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1752&q=80 +excerpt: "With v0.18.0 you get cool new features like nicely formatted JSON logs, UI to login to your LDAP or ActiveDirectory Identity Provider, and more" +tags: ['Margo Crawford','Ryan Richard', 'Mo Khan', 'Anjali Telang', 'release'] +--- + +![Friendly seal](https://images.unsplash.com/photo-1587738972117-c12f8389f1d4?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1752&q=80) +*Photo by [Steve Adams](https://unsplash.com/@sradams57) on [Unsplash](https://unsplash.com/s/photos/seal)* + +We've listened to your requests and are excited to bring some cool user-friendly features that will enhance your Kubernetes Authentication experience. From this release onwards, we will have Pinniped logs in JSON format. We also bring you the ability to use a User Interface (UI) to login with your LDAP or ActiveDirectory credentials. + +## JSON Formatted logs + +[Kubernetes 1.19](https://kubernetes.io/blog/2020/09/04/kubernetes-1-19-introducing-structured-logs/) introduced the ability to have logs emitted in JSON log format. There are many benefits to using JSON as listed in this [KEP for structured logging](https://github.com/kubernetes/enhancements/tree/master/keps/sig-instrumentation/1602-structured-logging#json-output-format) : + +* Broadly adopted by logging libraries with very efficient implementations (zap, zerolog). +* Out of the box support by many logging backends (Elasticsearch, Stackdriver, BigQuery, Splunk) +* Easily parsable and transformable +* Existing tools for ad-hoc analysis (jq) + +Considering these benefits, from this release onwards we will *default to JSON formatted logs* for the Pinniped Supervisor and Concierge components. + +**Users please note: We are deprecating the text based log format with this release and we will remove the configuration in a future release.** + +We realize that it may take time for some users to adapt to this new format especially if they have existing tooling around *text* based logs. With that in mind, we will allow users to deploy Pinniped Supervisor or Concierge by setting *deprecated_log_format:text* in the values.yaml deployment file for these components. However, Please consider moving to json formatted logs for compatibility with latest releases. We will announce 2 releases prior to removing the field, as is our policy for removing configurations. + +With this release, the Pinniped CLI logs have also been enhanced to emit useful information such as timestamps and line numbers of files, as shown in the example below: + +``` +$ pinniped get kubeconfig +Tue, 24 May 2022 11:18:50 EDT cmd/kubeconfig.go:584 discovered CredentialIssuer {"name": "concierge-config"} +Tue, 24 May 2022 11:18:50 EDT cmd/kubeconfig.go:419 discovered Concierge operating in impersonation proxy mode +Tue, 24 May 2022 11:18:50 EDT cmd/kubeconfig.go:432 discovered Concierge endpoint {"endpoint": "https://abcd"} +Tue, 24 May 2022 11:18:50 EDT cmd/kubeconfig.go:447 discovered Concierge certificate authority bundle {"roots": 1} +Tue, 24 May 2022 11:18:50 EDT cmd/kubeconfig.go:469 discovered WebhookAuthenticator {"name": "wa"} +``` + + +## LDAP User Interface + +With [v0.18.0](https://github.com/vmware-tanzu/pinniped/releases/tag/v0.18.0) we are also adding support for a User Interface that users can access to input their credentials and login to their LDAP or Active Directory Identity Provider(IDP). This feature is a first step in our effort to provide a UI-driven workflow for our users. We will have more features that support UI workflows coming up in our next release, so stay tuned for that! + +When using the Pinniped CLI, a successful login takes the user to the regular form_post success page, just like the previously supported *browser authcode flow* for an OIDC IDP. +This feature changes how the `pinniped get kubeconfig` cli deals with ambiguous flows. Previously, if there was more than one flow advertised for an IDP, the cli would require users to use the `--upstream-identity-provider-flow` flag. Now, it chooses the first flow type in the Supervisor's discovery response by default. + +Here's a snapshot of the UI hosted by the Pinniped Supervisor: +![LDAP / ActiveDirectory UI for login ](/docs/img/ldap-ad-ui.png) + +### Features included in the UI +The UI will provide the following features for now: + +* A username and password fields along with the submit button +* Generalized error messaging for failed logins that do not expose sensitive information +* Provides information easily allowing a user to identify the screen as belonging to Pinniped with the name of their Identity Provider displayed on the page +* Addresses basic security concerns for web forms such as use of HTTPS, a password field, CSRF protection and redirect protection +* Prevents LDAP injection attacks +* Screens that are accessible and friendly to screen readers +* Screens that are friendly to password managers + +### Future enhancements for the UI +This is our effort to provide a basic UI for logins. We will enhance the UI further in future releases based on the feedback we receive from our users. +This can include (but is not limited to) the following features: + +* Advanced UI features such as remember me and reveal password +* Branding & customization, besides what we provide today with the basic Pinniped information. +* Support for SSO integrations +* Internationalization or localization. Note that the CLI doesn't currently support this either. + +*Note* that Pinniped relies on the user's IDP to address advanced security concerns such as brute force protection, username enumeration, etc. + +## What else is in this release? +Refer to the [release notes for v0.18.0](https://github.com/vmware-tanzu/pinniped/releases/tag/v0.18.0) for a complete list of fixes and features included in the release. + +## Community contributors + +The Pinniped community continues to grow, and is a vital part of the project's success. + +[Are you using Pinniped?](https://github.com/vmware-tanzu/pinniped/discussions/152) +Have you tried any of our new features? Let us know what you think of our logging and UI features and if you are looking for any of the enhancements mentioned above. + +We thrive on community feedback and would like to hear more! + +Reach out to us in [#pinniped](https://kubernetes.slack.com/archives/C01BW364RJA) on Kubernetes Slack, +[create an issue](https://github.com/vmware-tanzu/pinniped/issues/new/choose) on our Github repository, +or start a [discussion](https://github.com/vmware-tanzu/pinniped/discussions). + +{{< community >}} From dd61ada540265a797726362256c79297d8cbe9c3 Mon Sep 17 00:00:00 2001 From: Ryan Richard Date: Wed, 8 Jun 2022 10:22:15 -0700 Subject: [PATCH 2/5] Allow new warning messages about GCP plugin in TestGetPinnipedCategory --- test/integration/category_test.go | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/test/integration/category_test.go b/test/integration/category_test.go index afe75b4e..d9f1db6f 100644 --- a/test/integration/category_test.go +++ b/test/integration/category_test.go @@ -1,4 +1,4 @@ -// Copyright 2021 the Pinniped contributors. All Rights Reserved. +// Copyright 2021-2022 the Pinniped contributors. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 package integration @@ -32,17 +32,18 @@ func runTestKubectlCommand(t *testing.T, args ...string) (string, string) { func requireCleanKubectlStderr(t *testing.T, stderr string) { // Every line must be empty or contain a known, innocuous warning. for _, line := range strings.Split(stderr, "\n") { - if strings.TrimSpace(line) == "" { - continue + switch { + case strings.TrimSpace(line) == "", + strings.Contains(line, "Throttling request took"), + strings.Contains(line, "due to client-side throttling, not priority and fairness"), + strings.Contains(line, "the gcp auth plugin is deprecated in v1.22+, unavailable in v1.25+; use gcloud instead"), + strings.Contains(line, "To learn more, consult https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke"): + // ignore these allowed stderr lines + default: + // anything else is a failure + require.Failf(t, "unexpected kubectl stderr", "kubectl produced unexpected stderr:\n%s\n\n", stderr) + return } - if strings.Contains(line, "Throttling request took") { - continue - } - if strings.Contains(line, "due to client-side throttling, not priority and fairness") { - continue - } - require.Failf(t, "unexpected kubectl stderr", "kubectl produced unexpected stderr:\n%s\n\n", stderr) - return } } From ec533cd781d390130887c06aaa44cb2e44f76b57 Mon Sep 17 00:00:00 2001 From: Ryan Richard Date: Wed, 8 Jun 2022 12:57:00 -0700 Subject: [PATCH 3/5] Skip some recently added integration tests when LDAP is unavailable Also refactor to use shared test helper for skipping LDAP and AD tests. --- test/integration/e2e_test.go | 44 +++++++------------- test/integration/supervisor_login_test.go | 9 +--- test/integration/supervisor_warnings_test.go | 12 ++---- test/testlib/skip.go | 23 +++++++++- 4 files changed, 41 insertions(+), 47 deletions(-) diff --git a/test/integration/e2e_test.go b/test/integration/e2e_test.go index 1c07b48e..9bafffde 100644 --- a/test/integration/e2e_test.go +++ b/test/integration/e2e_test.go @@ -634,15 +634,13 @@ func TestE2EFullIntegration_Browser(t *testing.T) { // Add an LDAP upstream IDP and try using it to authenticate during kubectl commands // by interacting with the CLI's username and password prompts. t.Run("with Supervisor LDAP upstream IDP using username and password prompts", func(t *testing.T) { + testlib.SkipTestWhenLDAPIsUnavailable(t, env) + testCtx, cancel := context.WithTimeout(context.Background(), 5*time.Minute) t.Cleanup(cancel) tempDir := testutil.TempDir(t) // per-test tmp dir to avoid sharing files between tests - if len(env.ToolsNamespace) == 0 && !env.HasCapability(testlib.CanReachInternetLDAPPorts) { - t.Skip("LDAP integration test requires connectivity to an LDAP server") - } - expectedUsername := env.SupervisorUpstreamLDAP.TestUserMailAttributeValue expectedGroups := env.SupervisorUpstreamLDAP.TestUserDirectGroupsDNs @@ -696,15 +694,13 @@ func TestE2EFullIntegration_Browser(t *testing.T) { // Add an LDAP upstream IDP and try using it to authenticate during kubectl commands // by passing username and password via environment variables, thus avoiding the CLI's username and password prompts. t.Run("with Supervisor LDAP upstream IDP using PINNIPED_USERNAME and PINNIPED_PASSWORD env vars", func(t *testing.T) { + testlib.SkipTestWhenLDAPIsUnavailable(t, env) + testCtx, cancel := context.WithTimeout(context.Background(), 5*time.Minute) t.Cleanup(cancel) tempDir := testutil.TempDir(t) // per-test tmp dir to avoid sharing files between tests - if len(env.ToolsNamespace) == 0 && !env.HasCapability(testlib.CanReachInternetLDAPPorts) { - t.Skip("LDAP integration test requires connectivity to an LDAP server") - } - expectedUsername := env.SupervisorUpstreamLDAP.TestUserMailAttributeValue expectedGroups := env.SupervisorUpstreamLDAP.TestUserDirectGroupsDNs @@ -770,18 +766,13 @@ func TestE2EFullIntegration_Browser(t *testing.T) { // Add an Active Directory upstream IDP and try using it to authenticate during kubectl commands // by interacting with the CLI's username and password prompts. t.Run("with Supervisor ActiveDirectory upstream IDP using username and password prompts", func(t *testing.T) { + testlib.SkipTestWhenActiveDirectoryIsUnavailable(t, env) + testCtx, cancel := context.WithTimeout(context.Background(), 5*time.Minute) t.Cleanup(cancel) tempDir := testutil.TempDir(t) // per-test tmp dir to avoid sharing files between tests - if len(env.ToolsNamespace) == 0 && !env.HasCapability(testlib.CanReachInternetLDAPPorts) { - t.Skip("Active Directory integration test requires connectivity to an LDAP server") - } - if env.SupervisorUpstreamActiveDirectory.Host == "" { - t.Skip("Active Directory hostname not specified") - } - expectedUsername := env.SupervisorUpstreamActiveDirectory.TestUserPrincipalNameValue expectedGroups := env.SupervisorUpstreamActiveDirectory.TestUserIndirectGroupsSAMAccountPlusDomainNames @@ -835,19 +826,13 @@ func TestE2EFullIntegration_Browser(t *testing.T) { // Add an ActiveDirectory upstream IDP and try using it to authenticate during kubectl commands // by passing username and password via environment variables, thus avoiding the CLI's username and password prompts. t.Run("with Supervisor ActiveDirectory upstream IDP using PINNIPED_USERNAME and PINNIPED_PASSWORD env vars", func(t *testing.T) { + testlib.SkipTestWhenActiveDirectoryIsUnavailable(t, env) + testCtx, cancel := context.WithTimeout(context.Background(), 5*time.Minute) t.Cleanup(cancel) tempDir := testutil.TempDir(t) // per-test tmp dir to avoid sharing files between tests - if len(env.ToolsNamespace) == 0 && !env.HasCapability(testlib.CanReachInternetLDAPPorts) { - t.Skip("ActiveDirectory integration test requires connectivity to an LDAP server") - } - - if env.SupervisorUpstreamActiveDirectory.Host == "" { - t.Skip("Active Directory hostname not specified") - } - expectedUsername := env.SupervisorUpstreamActiveDirectory.TestUserPrincipalNameValue expectedGroups := env.SupervisorUpstreamActiveDirectory.TestUserIndirectGroupsSAMAccountPlusDomainNames @@ -912,6 +897,8 @@ func TestE2EFullIntegration_Browser(t *testing.T) { // Add an LDAP upstream IDP and try using it to authenticate during kubectl commands, using the browser flow. t.Run("with Supervisor LDAP upstream IDP and browser flow with with form_post automatic authcode delivery to CLI", func(t *testing.T) { + testlib.SkipTestWhenLDAPIsUnavailable(t, env) + testCtx, cancel := context.WithTimeout(context.Background(), 5*time.Minute) t.Cleanup(cancel) @@ -966,6 +953,8 @@ func TestE2EFullIntegration_Browser(t *testing.T) { // Add an Active Directory upstream IDP and try using it to authenticate during kubectl commands, using the browser flow. t.Run("with Supervisor Active Directory upstream IDP and browser flow with with form_post automatic authcode delivery to CLI", func(t *testing.T) { + testlib.SkipTestWhenActiveDirectoryIsUnavailable(t, env) + testCtx, cancel := context.WithTimeout(context.Background(), 5*time.Minute) t.Cleanup(cancel) @@ -974,13 +963,6 @@ func TestE2EFullIntegration_Browser(t *testing.T) { // Start a fresh browser driver because we don't want to share cookies between the various tests in this file. page := browsertest.Open(t) - if len(env.ToolsNamespace) == 0 && !env.HasCapability(testlib.CanReachInternetLDAPPorts) { - t.Skip("Active Directory integration test requires connectivity to an LDAP server") - } - if env.SupervisorUpstreamActiveDirectory.Host == "" { - t.Skip("Active Directory hostname not specified") - } - expectedUsername := env.SupervisorUpstreamActiveDirectory.TestUserPrincipalNameValue expectedGroups := env.SupervisorUpstreamActiveDirectory.TestUserIndirectGroupsSAMAccountPlusDomainNames @@ -1027,6 +1009,8 @@ func TestE2EFullIntegration_Browser(t *testing.T) { // Add an LDAP upstream IDP and try using it to authenticate during kubectl commands, using the env var to choose the browser flow. t.Run("with Supervisor LDAP upstream IDP and browser flow selected by env var override with with form_post automatic authcode delivery to CLI", func(t *testing.T) { + testlib.SkipTestWhenLDAPIsUnavailable(t, env) + testCtx, cancel := context.WithTimeout(context.Background(), 5*time.Minute) t.Cleanup(cancel) diff --git a/test/integration/supervisor_login_test.go b/test/integration/supervisor_login_test.go index 3c2f045a..47587db7 100644 --- a/test/integration/supervisor_login_test.go +++ b/test/integration/supervisor_login_test.go @@ -48,17 +48,12 @@ func TestSupervisorLogin_Browser(t *testing.T) { skipLDAPTests := func(t *testing.T) { t.Helper() - if len(env.ToolsNamespace) == 0 && !env.HasCapability(testlib.CanReachInternetLDAPPorts) { - t.Skip("LDAP integration test requires connectivity to an LDAP server") - } + testlib.SkipTestWhenLDAPIsUnavailable(t, env) } skipActiveDirectoryTests := func(t *testing.T) { t.Helper() - skipLDAPTests(t) - if env.SupervisorUpstreamActiveDirectory.Host == "" { - t.Skip("Active Directory hostname not specified") - } + testlib.SkipTestWhenActiveDirectoryIsUnavailable(t, env) } basicOIDCIdentityProviderSpec := func() idpv1alpha1.OIDCIdentityProviderSpec { diff --git a/test/integration/supervisor_warnings_test.go b/test/integration/supervisor_warnings_test.go index f4ae43ef..74b5aab0 100644 --- a/test/integration/supervisor_warnings_test.go +++ b/test/integration/supervisor_warnings_test.go @@ -103,9 +103,7 @@ func TestSupervisorWarnings_Browser(t *testing.T) { ) t.Run("LDAP group refresh flow", func(t *testing.T) { - if len(env.ToolsNamespace) == 0 && !env.HasCapability(testlib.CanReachInternetLDAPPorts) { - t.Skip("LDAP integration test requires connectivity to an LDAP server") - } + testlib.SkipTestWhenLDAPIsUnavailable(t, env) expectedUsername := env.SupervisorUpstreamLDAP.TestUserMailAttributeValue @@ -242,13 +240,9 @@ func TestSupervisorWarnings_Browser(t *testing.T) { t.Logf("second kubectl command took %s", time.Since(startTime2).String()) }) + t.Run("Active Directory group refresh flow", func(t *testing.T) { - if len(env.ToolsNamespace) == 0 && !env.HasCapability(testlib.CanReachInternetLDAPPorts) { - t.Skip("LDAP integration test requires connectivity to an LDAP server") - } - if env.SupervisorUpstreamActiveDirectory.Host == "" { - t.Skip("Active Directory hostname not specified") - } + testlib.SkipTestWhenActiveDirectoryIsUnavailable(t, env) expectedUsername, password := testlib.CreateFreshADTestUser(t, env) t.Cleanup(func() { diff --git a/test/testlib/skip.go b/test/testlib/skip.go index 6f7de643..8a382b18 100644 --- a/test/testlib/skip.go +++ b/test/testlib/skip.go @@ -1,4 +1,4 @@ -// Copyright 2020 the Pinniped contributors. All Rights Reserved. +// Copyright 2020-2022 the Pinniped contributors. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 package testlib @@ -8,7 +8,28 @@ import "testing" // skipUnlessIntegration skips the current test if `-short` has been passed to `go test`. func skipUnlessIntegration(t *testing.T) { t.Helper() + if testing.Short() { t.Skip("skipping integration test because of '-short' flag") } } + +func SkipTestWhenLDAPIsUnavailable(t *testing.T, env *TestEnv) { + t.Helper() + + if len(env.ToolsNamespace) == 0 && !env.HasCapability(CanReachInternetLDAPPorts) { + t.Skip("LDAP integration test requires connectivity to an LDAP server") + } +} + +func SkipTestWhenActiveDirectoryIsUnavailable(t *testing.T, env *TestEnv) { + t.Helper() + + if !env.HasCapability(CanReachInternetLDAPPorts) { + t.Skip("Active Directory integration test requires network connectivity to an AD server") + } + + if IntegrationEnv(t).SupervisorUpstreamActiveDirectory.Host == "" { + t.Skip("Active Directory hostname not specified") + } +} From 3ebf5ad4c38cc8043a457aef4786c0b5dc361c05 Mon Sep 17 00:00:00 2001 From: Pinny Date: Wed, 8 Jun 2022 22:13:13 +0000 Subject: [PATCH 4/5] Updated versions in docs for v0.18.0 release --- site/config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/config.yaml b/site/config.yaml index ce02f523..449d2059 100644 --- a/site/config.yaml +++ b/site/config.yaml @@ -7,8 +7,8 @@ params: github_url: "https://github.com/vmware-tanzu/pinniped" slack_url: "https://kubernetes.slack.com/messages/pinniped" community_url: "https://go.pinniped.dev/community" - latest_version: v0.17.0 - latest_codegen_version: 1.23 + latest_version: v0.18.0 + latest_codegen_version: 1.24 pygmentsCodefences: true pygmentsStyle: "pygments" markup: From 221f1747680f3b326a2ee10c6a5e1cfa51a3d07b Mon Sep 17 00:00:00 2001 From: Ryan Richard Date: Wed, 8 Jun 2022 15:14:02 -0700 Subject: [PATCH 5/5] Update v0.18.0 blog post date --- site/content/posts/2022-06-01-json-logging-ldap-ui.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/content/posts/2022-06-01-json-logging-ldap-ui.md b/site/content/posts/2022-06-01-json-logging-ldap-ui.md index 02e0c07b..6f95aac6 100644 --- a/site/content/posts/2022-06-01-json-logging-ldap-ui.md +++ b/site/content/posts/2022-06-01-json-logging-ldap-ui.md @@ -1,7 +1,7 @@ --- title: "Pinniped v0.18.0: With User-Friendly features such as JSON formatted logs, LDAP/ActiveDirectory UI Support" slug: formatted-logs-ui-based-ldap-logins -date: 2022-06-01 +date: 2022-06-08 author: Anjali Telang image: https://images.unsplash.com/photo-1587738972117-c12f8389f1d4?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1752&q=80 excerpt: "With v0.18.0 you get cool new features like nicely formatted JSON logs, UI to login to your LDAP or ActiveDirectory Identity Provider, and more"