You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by fj...@apache.org on 2018/09/13 00:09:30 UTC

[incubator-druid] branch 0.12.3 updated: [Backport] Use PasswordProvider, fix info on initial passwords in basic security extension docs (#6303) (#6328)

This is an automated email from the ASF dual-hosted git repository.

fjy pushed a commit to branch 0.12.3
in repository https://gitbox.apache.org/repos/asf/incubator-druid.git


The following commit(s) were added to refs/heads/0.12.3 by this push:
     new a811499  [Backport] Use PasswordProvider, fix info on initial passwords in basic security extension docs (#6303) (#6328)
a811499 is described below

commit a8114990217570dbfc9662c3a44851bea7e6cd88
Author: Jonathan Wei <jo...@users.noreply.github.com>
AuthorDate: Wed Sep 12 17:09:26 2018 -0700

    [Backport] Use PasswordProvider, fix info on initial passwords in basic security extension docs (#6303) (#6328)
    
    * Fix info on initial passwords in basic security extension docs
    
    * Use PasswordProvider
    
    * Compile fix
---
 .../development/extensions-core/druid-basic-security.md    |  4 ++--
 .../java/io/druid/security/basic/BasicAuthDBConfig.java    | 14 ++++++++------
 .../basic/authentication/BasicHTTPAuthenticator.java       |  5 +++--
 ...oordinatorBasicAuthenticatorMetadataStorageUpdater.java |  4 ++--
 .../authentication/BasicHTTPAuthenticatorTest.java         |  5 +++--
 .../CoordinatorBasicAuthenticatorResourceTest.java         |  9 +++++----
 6 files changed, 23 insertions(+), 18 deletions(-)

diff --git a/docs/content/development/extensions-core/druid-basic-security.md b/docs/content/development/extensions-core/druid-basic-security.md
index c73d900..b29ae13 100644
--- a/docs/content/development/extensions-core/druid-basic-security.md
+++ b/docs/content/development/extensions-core/druid-basic-security.md
@@ -53,8 +53,8 @@ The configuration examples in the rest of this document will use "MyBasicAuthent
 #### Properties
 |Property|Description|Default|required|
 |--------|-----------|-------|--------|
-|`druid.auth.authenticator.MyBasicAuthenticator.initialAdminPassword`|Initial password for the automatically created default admin user. If no password is specified, the default admin user will not be created. If the default admin user already exists, setting this property will affect its password.|null|No|
-|`druid.auth.authenticator.MyBasicAuthenticator.initialInternalClientPassword`|Initial password for the default internal system user, used for internal node communication. If no password is specified, the default internal system user will not be created. If the default internal system user already exists, setting this property will affect its password.|null|No|
+|`druid.auth.authenticator.MyBasicAuthenticator.initialAdminPassword`|Initial [Password Provider](../../operations/password-provider.html) for the automatically created default admin user. If no password is specified, the default admin user will not be created. If the default admin user already exists, setting this property will not affect its password.|null|No|
+|`druid.auth.authenticator.MyBasicAuthenticator.initialInternalClientPassword`|Initial [Password Provider](../../operations/password-provider.html) for the default internal system user, used for internal node communication. If no password is specified, the default internal system user will not be created. If the default internal system user already exists, setting this property will not affect its password.|null|No|
 |`druid.auth.authenticator.MyBasicAuthenticator.enableCacheNotifications`|If true, the coordinator will notify Druid nodes whenever a configuration change to this Authenticator occurs, allowing them to immediately update their state without waiting for polling.|true|No|
 |`druid.auth.authenticator.MyBasicAuthenticator.cacheNotificationTimeout`|The timeout in milliseconds for the cache notifications.|5000|No|
 |`druid.auth.authenticator.MyBasicAuthenticator.credentialIterations`|Number of iterations to use for password hashing.|10000|No|
diff --git a/extensions-core/druid-basic-security/src/main/java/io/druid/security/basic/BasicAuthDBConfig.java b/extensions-core/druid-basic-security/src/main/java/io/druid/security/basic/BasicAuthDBConfig.java
index 6a97276..af27433 100644
--- a/extensions-core/druid-basic-security/src/main/java/io/druid/security/basic/BasicAuthDBConfig.java
+++ b/extensions-core/druid-basic-security/src/main/java/io/druid/security/basic/BasicAuthDBConfig.java
@@ -19,19 +19,21 @@
 
 package io.druid.security.basic;
 
+import io.druid.metadata.PasswordProvider;
+
 public class BasicAuthDBConfig
 {
   public static final long DEFAULT_CACHE_NOTIFY_TIMEOUT_MS = 5000;
 
-  private final String initialAdminPassword;
-  private final String initialInternalClientPassword;
+  private final PasswordProvider initialAdminPassword;
+  private final PasswordProvider initialInternalClientPassword;
   private final boolean enableCacheNotifications;
   private final long cacheNotificationTimeout;
   private final int iterations;
 
   public BasicAuthDBConfig(
-      final String initialAdminPassword,
-      final String initialInternalClientPassword,
+      final PasswordProvider initialAdminPassword,
+      final PasswordProvider initialInternalClientPassword,
       final Boolean enableCacheNotifications,
       final Long cacheNotificationTimeout,
       final int iterations
@@ -44,12 +46,12 @@ public class BasicAuthDBConfig
     this.iterations = iterations;
   }
 
-  public String getInitialAdminPassword()
+  public PasswordProvider getInitialAdminPassword()
   {
     return initialAdminPassword;
   }
 
-  public String getInitialInternalClientPassword()
+  public PasswordProvider getInitialInternalClientPassword()
   {
     return initialInternalClientPassword;
   }
diff --git a/extensions-core/druid-basic-security/src/main/java/io/druid/security/basic/authentication/BasicHTTPAuthenticator.java b/extensions-core/druid-basic-security/src/main/java/io/druid/security/basic/authentication/BasicHTTPAuthenticator.java
index e895b8c..3325d62 100644
--- a/extensions-core/druid-basic-security/src/main/java/io/druid/security/basic/authentication/BasicHTTPAuthenticator.java
+++ b/extensions-core/druid-basic-security/src/main/java/io/druid/security/basic/authentication/BasicHTTPAuthenticator.java
@@ -25,6 +25,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 import com.google.inject.Provider;
 import io.druid.java.util.common.IAE;
+import io.druid.metadata.PasswordProvider;
 import io.druid.security.basic.BasicAuthDBConfig;
 import io.druid.security.basic.BasicAuthUtils;
 import io.druid.security.basic.authentication.db.cache.BasicAuthenticatorCacheManager;
@@ -62,8 +63,8 @@ public class BasicHTTPAuthenticator implements Authenticator
       @JacksonInject Provider<BasicAuthenticatorCacheManager> cacheManager,
       @JsonProperty("name") String name,
       @JsonProperty("authorizerName") String authorizerName,
-      @JsonProperty("initialAdminPassword") String initialAdminPassword,
-      @JsonProperty("initialInternalClientPassword") String initialInternalClientPassword,
+      @JsonProperty("initialAdminPassword") PasswordProvider initialAdminPassword,
+      @JsonProperty("initialInternalClientPassword") PasswordProvider initialInternalClientPassword,
       @JsonProperty("enableCacheNotifications") Boolean enableCacheNotifications,
       @JsonProperty("cacheNotificationTimeout") Long cacheNotificationTimeout,
       @JsonProperty("credentialIterations") Integer credentialIterations
diff --git a/extensions-core/druid-basic-security/src/main/java/io/druid/security/basic/authentication/db/updater/CoordinatorBasicAuthenticatorMetadataStorageUpdater.java b/extensions-core/druid-basic-security/src/main/java/io/druid/security/basic/authentication/db/updater/CoordinatorBasicAuthenticatorMetadataStorageUpdater.java
index 872cdc1..e5be6af 100644
--- a/extensions-core/druid-basic-security/src/main/java/io/druid/security/basic/authentication/db/updater/CoordinatorBasicAuthenticatorMetadataStorageUpdater.java
+++ b/extensions-core/druid-basic-security/src/main/java/io/druid/security/basic/authentication/db/updater/CoordinatorBasicAuthenticatorMetadataStorageUpdater.java
@@ -138,7 +138,7 @@ public class CoordinatorBasicAuthenticatorMetadataStorageUpdater implements Basi
                 authenticatorName,
                 BasicAuthUtils.ADMIN_NAME,
                 new BasicAuthenticatorCredentialUpdate(
-                    dbConfig.getInitialAdminPassword(),
+                    dbConfig.getInitialAdminPassword().getPassword(),
                     BasicAuthUtils.DEFAULT_KEY_ITERATIONS
                 )
             );
@@ -151,7 +151,7 @@ public class CoordinatorBasicAuthenticatorMetadataStorageUpdater implements Basi
                 authenticatorName,
                 BasicAuthUtils.INTERNAL_USER_NAME,
                 new BasicAuthenticatorCredentialUpdate(
-                    dbConfig.getInitialInternalClientPassword(),
+                    dbConfig.getInitialInternalClientPassword().getPassword(),
                     BasicAuthUtils.DEFAULT_KEY_ITERATIONS
                 )
             );
diff --git a/extensions-core/druid-basic-security/src/test/java/io/druid/security/authentication/BasicHTTPAuthenticatorTest.java b/extensions-core/druid-basic-security/src/test/java/io/druid/security/authentication/BasicHTTPAuthenticatorTest.java
index e78b424..0d02fd7 100644
--- a/extensions-core/druid-basic-security/src/test/java/io/druid/security/authentication/BasicHTTPAuthenticatorTest.java
+++ b/extensions-core/druid-basic-security/src/test/java/io/druid/security/authentication/BasicHTTPAuthenticatorTest.java
@@ -23,6 +23,7 @@ import com.google.common.collect.ImmutableMap;
 import com.google.inject.Provider;
 import com.google.inject.util.Providers;
 import io.druid.java.util.common.StringUtils;
+import io.druid.metadata.DefaultPasswordProvider;
 import io.druid.security.basic.authentication.BasicHTTPAuthenticator;
 import io.druid.security.basic.authentication.db.cache.BasicAuthenticatorCacheManager;
 import io.druid.security.basic.authentication.entity.BasicAuthenticatorCredentialUpdate;
@@ -71,8 +72,8 @@ public class BasicHTTPAuthenticatorTest
       CACHE_MANAGER_PROVIDER,
       "basic",
       "basic",
-      "a",
-      "a",
+      new DefaultPasswordProvider("a"),
+      new DefaultPasswordProvider("a"),
       false,
       null,
       null
diff --git a/extensions-core/druid-basic-security/src/test/java/io/druid/security/authentication/CoordinatorBasicAuthenticatorResourceTest.java b/extensions-core/druid-basic-security/src/test/java/io/druid/security/authentication/CoordinatorBasicAuthenticatorResourceTest.java
index 059a481..3ab2a38 100644
--- a/extensions-core/druid-basic-security/src/test/java/io/druid/security/authentication/CoordinatorBasicAuthenticatorResourceTest.java
+++ b/extensions-core/druid-basic-security/src/test/java/io/druid/security/authentication/CoordinatorBasicAuthenticatorResourceTest.java
@@ -32,6 +32,7 @@ import io.druid.guice.GuiceInjectors;
 import io.druid.guice.JsonConfigProvider;
 import io.druid.guice.annotations.Self;
 import io.druid.initialization.Initialization;
+import io.druid.metadata.DefaultPasswordProvider;
 import io.druid.metadata.MetadataStorageTablesConfig;
 import io.druid.metadata.TestDerbyConnector;
 import io.druid.security.basic.BasicAuthCommonCacheConfig;
@@ -95,8 +96,8 @@ public class CoordinatorBasicAuthenticatorResourceTest
                 null,
                 AUTHENTICATOR_NAME,
                 "test",
-                "druid",
-                "druid",
+                new DefaultPasswordProvider("druid"),
+                new DefaultPasswordProvider("druid"),
                 null,
                 null,
                 null
@@ -106,8 +107,8 @@ public class CoordinatorBasicAuthenticatorResourceTest
                 null,
                 AUTHENTICATOR_NAME2,
                 "test",
-                "druid",
-                "druid",
+                new DefaultPasswordProvider("druid"),
+                new DefaultPasswordProvider("druid"),
                 null,
                 null,
                 null


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org