Пример #1
0
        public AuthMethodProvider(Polymath polymath)
        {
            _polymath = polymath;

            LDAP  = new LDAPAuthMethodProvider(_polymath);
            Token = new TokenAuthMethodProvider(_polymath);
        }
Пример #2
0
        public SecretsEngineProvider(Polymath polymath)
        {
            Enterprise = new EnterpriseProvider(polymath);

            ActiveDirectory = new ActiveDirectorySecretsEngineProvider(polymath);
            AliCloud        = new AliCloudSecretsEngineProvider(polymath);
            AWS             = new AWSSecretsEngineProvider(polymath);
            Azure           = new AzureSecretsEngineProvider(polymath);
            Consul          = new ConsulSecretsEngineProvider(polymath);
            Cubbyhole       = new CubbyholeSecretsEngineProvider(polymath);
            Database        = new DatabaseSecretsEngineProvider(polymath);
            GoogleCloud     = new GoogleCloudSecretsEngineProvider(polymath);
            GoogleCloudKMS  = new GoogleCloudKMSSecretsEngineProvider(polymath);
            Identity        = new IdentitySecretsEngineProvider(polymath);
            KeyValue        = new KeyValueSecretsEngineProvider(polymath);
            MongoDBAtlas    = new MongoDBAtlasSecretsEngineProvider(polymath);
            Nomad           = new NomadSecretsEngineProvider(polymath);
            OpenLDAP        = new OpenLDAPSecretsEngineProvider(polymath);
            PKI             = new PKISecretsEngineProvider(polymath);
            RabbitMQ        = new RabbitMQSecretsEngineProvider(polymath);
            SSH             = new SSHSecretsEngineProvider(polymath);
            Terraform       = new TerraformSecretsEngineProvider(polymath);
            TOTP            = new TOTPSecretsEngineProvider(polymath);
            Transit         = new TransitSecretsEngineProvider(polymath);
        }
Пример #3
0
 public MFAProvider(Polymath polymath)
 {
     Duo    = new DuoProvider(polymath);
     Okta   = new OktaProvider(polymath);
     PingID = new PingIDProvider(polymath);
     TOTP   = new TOTPProvider(polymath);
 }
Пример #4
0
        public AgentProvider(Polymath polymath)
        {
            _polymath = polymath;

            Check   = new CheckProvider(polymath);
            Service = new ServiceProvider(polymath);
            Connect = new ConnectProvider(polymath);
        }
Пример #5
0
        public SystemBackendProvider(Polymath polymath)
        {
            _polymath = polymath;

            Enterprise = new EnterpriseProvider(_polymath);
            MFA        = new MFAProvider(_polymath);
            Plugins    = new PluginProvider(_polymath);
        }
Пример #6
0
        public TokenAuthMethodLoginProvider(TokenAuthMethodInfo tokenAuthInfo, Polymath polymath)
        {
            Checker.NotNull(tokenAuthInfo, "tokenAuthInfo");
            Checker.NotNull(tokenAuthInfo.VaultToken, "tokenAuthInfo.VaultToken");
            Checker.NotNull(polymath, "polymath");

            this._tokenAuthInfo = tokenAuthInfo;
            this._polymath      = polymath;
        }
Пример #7
0
 public ConsulClientV1(Polymath polymath)
 {
     ACL         = new ACLProvider(polymath);
     Agent       = new AgentProvider(polymath);
     Event       = new EventProvider(polymath);
     KeyValue    = new KeyValueProvider(polymath);
     Session     = new SessionProvider(polymath);
     Snapshot    = new SnapshotProvider(polymath);
     Status      = new StatusProvider(polymath);
     Transaction = new TransactionProvider(polymath);
 }
Пример #8
0
        public ACLProvider(Polymath polymath)
        {
            _polymath = polymath;

            LegacyToken = new LegacyTokenProvider(polymath);
            Token       = new TokenProvider(polymath);
            Policy      = new PolicyProvider(polymath);
            Role        = new RoleProvider(polymath);
            AuthMethod  = new AuthMethodProvider(polymath);
            BindingRule = new BindingRuleProvider(polymath);
        }
Пример #9
0
        public async Task <string> GetVaultTokenAsync()
        {
            // Create new polymath instance with the credentials set
            var polymath = new Polymath(_polymath.VaultClientSettings, _kerberosAuthMethodInfo.Credentials);

            // make an unauthenticated call to Vault, since this is the call to get the token. It shouldn't need a token.
            var response = await polymath.MakeVaultApiRequest <Secret <Dictionary <string, object> > >(LoginResourcePath, HttpMethod.Post, unauthenticated : true).ConfigureAwait(_polymath.VaultClientSettings.ContinueAsyncTasksOnCapturedContext);

            _kerberosAuthMethodInfo.ReturnedLoginAuthInfo = response?.AuthInfo;

            if (response?.AuthInfo != null && !string.IsNullOrWhiteSpace(response.AuthInfo.ClientToken))
            {
                return(response.AuthInfo.ClientToken);
            }

            throw new Exception("The call to the Vault authentication method backend did not yield a client token. Please verify your credentials.");
        }
Пример #10
0
        public SecretsEngineProvider(Polymath polymath)
        {
            _polymath = polymath;

            ActiveDirectory = new ActiveDirectorySecretsEngineProvider(polymath);
            AWS             = new AWSSecretsEngineProvider(polymath);
            Azure           = new AzureSecretsEngineProvider(polymath);
            Consul          = new ConsulSecretsEngineProvider(polymath);
            Cubbyhole       = new CubbyholeSecretsEngineProvider(polymath);
            Database        = new DatabaseSecretsEngineProvider(polymath);
            GoogleCloud     = new GoogleCloudSecretsEngineProvider(polymath);
            KeyValue        = new KeyValueSecretsEngineProvider(polymath);
            Nomad           = new NomadSecretsEngineProvider(polymath);
            PKI             = new PKISecretsEngineProvider(polymath);
            RabbitMQ        = new RabbitMQSecretsEngineProvider(polymath);
            SSH             = new SSHSecretsEngineProvider(polymath);
            TOTP            = new TOTPSecretsEngineProvider(polymath);
            Transit         = new TransitSecretsEngineProvider(polymath);
        }
Пример #11
0
 public OktaProvider(Polymath polymath) : base(polymath)
 {
 }
 public CloudFoundryAuthMethodLoginProvider(CloudFoundryAuthMethodInfo cloudFoundryAuthMethodInfo, Polymath polymath)
 {
     _cloudFoundryAuthMethodInfo = cloudFoundryAuthMethodInfo;
     _polymath = polymath;
 }
Пример #13
0
 public TransformSecretsEngineProvider(Polymath polymath)
 {
     _polymath = polymath;
 }
Пример #14
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="vaultClientSettings"></param>
 /// <param name="httpClient"></param>
 public VaultClient(VaultClientSettings vaultClientSettings, HttpClient httpClient)
 {
     polymath = new Polymath(vaultClientSettings, httpClient);
     V1       = new VaultClientV1(polymath);
 }
Пример #15
0
 public GoogleCloudAuthMethodLoginProvider(GoogleCloudAuthMethodInfo googleCloudAuthMethodInfo, Polymath polymath)
 {
     _googleCloudAuthMethodInfo = googleCloudAuthMethodInfo;
     _polymath = polymath;
 }
 public AWSSecretsEngineProvider(Polymath polymath)
 {
     _polymath = polymath;
 }
Пример #17
0
 public KeyValueSecretsEngineProvider(Polymath polymath)
 {
     V1 = new KeyValueSecretsEngineV1Provider(polymath);
     V2 = new KeyValueSecretsEngineV2Provider(polymath);
 }
Пример #18
0
 public DatabaseSecretsEngineProvider(Polymath polymath)
 {
     _polymath = polymath;
 }
Пример #19
0
        public static IAuthMethodLoginProvider CreateAuthenticationProvider(IAuthMethodInfo authInfo, Polymath polymath)
        {
            if (authInfo.AuthMethodType == AuthMethodType.AliCloud)
            {
                return(new AliCloudAuthMethodLoginProvider(authInfo as AliCloudAuthMethodInfo, polymath));
            }

            if (authInfo.AuthMethodType == AuthMethodType.AppRole)
            {
                return(new AppRoleAuthMethodLoginProvider(authInfo as AppRoleAuthMethodInfo, polymath));
            }

            if (authInfo.AuthMethodType == AuthMethodType.AWS)
            {
                return(new AWSAuthMethodLoginProvider(authInfo as AbstractAWSAuthMethodInfo, polymath));
            }

            if (authInfo.AuthMethodType == AuthMethodType.Azure)
            {
                return(new AzureAuthMethodLoginProvider(authInfo as AzureAuthMethodInfo, polymath));
            }

            if (authInfo.AuthMethodType == AuthMethodType.GitHub)
            {
                return(new GitHubAuthMethodLoginProvider(authInfo as GitHubAuthMethodInfo, polymath));
            }

            if (authInfo.AuthMethodType == AuthMethodType.GoogleCloud)
            {
                return(new GoogleCloudAuthMethodLoginProvider(authInfo as GoogleCloudAuthMethodInfo, polymath));
            }

            if (authInfo.AuthMethodType == AuthMethodType.JWT)
            {
                return(new JWTAuthMethodLoginProvider(authInfo as JWTAuthMethodInfo, polymath));
            }

            if (authInfo.AuthMethodType == AuthMethodType.Kubernetes)
            {
                return(new KubernetesAuthMethodLoginProvider(authInfo as KubernetesAuthMethodInfo, polymath));
            }

            if (authInfo.AuthMethodType == AuthMethodType.LDAP)
            {
                return(new LDAPAuthMethodLoginProvider(authInfo as LDAPAuthMethodInfo, polymath));
            }

            if (authInfo.AuthMethodType == AuthMethodType.Kerberos)
            {
                return(new KerberosAuthMethodLoginProvider(authInfo as KerberosAuthMethodInfo, polymath));
            }

            if (authInfo.AuthMethodType == AuthMethodType.Okta)
            {
                return(new OktaAuthMethodLoginProvider(authInfo as OktaAuthMethodInfo, polymath));
            }

            if (authInfo.AuthMethodType == AuthMethodType.RADIUS)
            {
                return(new RADIUSAuthMethodLoginProvider(authInfo as RADIUSAuthMethodInfo, polymath));
            }

            if (authInfo.AuthMethodType == AuthMethodType.Cert)
            {
                // we have attached the certificates to request elsewhere.
                return(new CertAuthMethodLoginProvider(authInfo as CertAuthMethodInfo, polymath));
            }

            if (authInfo.AuthMethodType == AuthMethodType.Token)
            {
                return(new TokenAuthMethodLoginProvider(authInfo as TokenAuthMethodInfo, polymath));
            }

            if (authInfo.AuthMethodType == AuthMethodType.UserPass)
            {
                return(new UserPassAuthMethodLoginProvider(authInfo as UserPassAuthMethodInfo, polymath));
            }

            if (authInfo.AuthMethodType == AuthMethodType.CloudFoundry)
            {
                return(new CloudFoundryAuthMethodLoginProvider(authInfo as CloudFoundryAuthMethodInfo, polymath));
            }

            var customAuthMethodInfo = authInfo as CustomAuthMethodInfo;

            if (customAuthMethodInfo != null)
            {
                return(new CustomAuthMethodLoginProvider(customAuthMethodInfo, polymath));
            }

            throw new NotSupportedException("The requested authentication backend type is not supported: " + authInfo.AuthMethodType);
        }
Пример #20
0
 public ActiveDirectorySecretsEngineProvider(Polymath polymath)
 {
     _polymath = polymath;
 }
Пример #21
0
 public KerberosAuthMethodLoginProvider(KerberosAuthMethodInfo kerberosAuthMethodInfo, Polymath polymath)
 {
     _kerberosAuthMethodInfo = kerberosAuthMethodInfo;
     _polymath = polymath;
 }
Пример #22
0
 public GoogleCloudKMSSecretsEngineProvider(Polymath polymath)
 {
     _polymath = polymath;
 }
Пример #23
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="vaultClientSettings"></param>
 public VaultClient(VaultClientSettings vaultClientSettings)
 {
     polymath = new Polymath(vaultClientSettings);
     V1       = new VaultClientV1(polymath);
 }
 public AWSAuthMethodLoginProvider(AbstractAWSAuthMethodInfo awsAuthMethodInfo, Polymath polymath)
 {
     _awsAuthMethodInfo = awsAuthMethodInfo;
     _polymath          = polymath;
 }
Пример #25
0
 public NomadSecretsEngineProvider(Polymath polymath)
 {
     _polymath = polymath;
 }
 public OpenLDAPSecretsEngineProvider(Polymath polymath)
 {
     _polymath = polymath;
 }
Пример #27
0
 public TOTPProvider(Polymath polymath) : base(polymath)
 {
 }
Пример #28
0
 public KeyValueSecretsEngineV2Provider(Polymath polymath)
 {
     _polymath = polymath;
 }
Пример #29
0
 public KeyValueProvider(Polymath polymath)
 {
     _polymath = polymath;
 }
 public IdentitySecretsEngineProvider(Polymath polymath)
 {
     _polymath = polymath;
 }