Граф коммитов

18 Коммитов

Автор SHA1 Сообщение Дата
matheswaran 2648d08f58 Copying the source code of Data Integration platform Registry V -0.1 in the github location. 2019-04-23 15:04:31 +05:30
Bryan Bende 6f26290d78
NIFIREG-201 Refactoring project structure to better isolate extensions
This closes #143.

Signed-off-by: Kevin Doran <kdoran@apache.org>
2018-09-21 22:10:04 -04:00
Koji Kawamura e1bd6e26f3
NIFIREG-186: Adding Ranger authorizer
- Ranger Authorizer is deployed as Registry extension.
- Added /config REST endpoint to expose Registry configuration for UI to
determine if user, group and policies can be edited.
- Added 'include-ranger' maven build profile and refactored project
structure to control ranger extension build.
- Added README.md to illustrate how to use this extension.
- Added default configuration files.
- Remove javax.ws.rs package in jersey-bundle jar to avoid rs version conflict.
- Added example conf to audit to Kerberized Solr.
- Updated hadoop version to 3.0.0
- Added ExtensionCloseable to use extension class loader when
  configuring authorizer. Without this, Hadoop Configuration class uses
  WebApp class loader that is set to current thread context class loader
  which does not have extension classes.
- Refactored anonymous inner classes at AuthorizerFactory to expose
  underlying authorizer instance, to use its extension class loader.
- Confirmed NiFi Registry can:
  - download policies from Kerbelized Ranger
  - send audit logs to Kerbelized Solr
  - send audit logs to Kerbelized HDFS
- Refactored project structures and updated L&N.

This closes #131.

Signed-off-by: Kevin Doran <kdoran@apache.org>
2018-09-20 13:51:55 -04:00
Kevin Doran 348e2c6d81
NIFIREG-176-RC1 prepare for next development iteration 2018-06-15 17:34:53 -04:00
Kevin Doran 7966c52edd
NIFIREG-176-RC1 prepare release nifi-registry-0.2.0-RC1 2018-06-15 17:34:43 -04:00
Bryan Bende 44bc4adb12
NIFIREG-173 Refactor metadata DB to be independent of H2
- Adding a property to specify an external directory containing driver jars and adding it to the web-api WAR's classpath during startup
- Updating admin guide

This closes #121.

Signed-off-by: Kevin Doran <kdoran@apache.org>
2018-06-04 17:54:34 -04:00
Bryan Bende f0cb1881b9
NIFIREG-121 Bumping pom versions from 0.1.1-SNAPSHOT to 0.2.0-SNAPSHOT
This closes #90.

Signed-off-by: Kevin Doran <kdoran@apache.org>
2018-01-18 13:55:10 -05:00
Bryan Bende be3e4defa1
NIFIREG-87-RC1 prepare for next development iteration 2018-01-01 15:05:12 -05:00
Bryan Bende 79748421a2
NIFIREG-87-RC1 prepare release nifi-registry-0.1.0-RC1 2018-01-01 15:04:56 -05:00
Kevin Doran 64211451cc
NIFIREG-61 Add support for encrypted config files
Allows sensitive property values to be encrypted in the following
configuration files:

- nifi-registry.properties
- identity-providers.xml
- authorizers.xml

A master decryption key can be configured that allows
decrypting protected properties at runtime, specifically:

- Adds CryptoKeyProvider interface for injecting key into application
- Provides implementation that is backed by bootstrap.conf
- Provides implementation that keeps key in memory
- Provides mechanism for removing CryptoKeyProvider from scope
  after Application Context is done loading

NIFIREG-61 Simplify Master Key Loading

Simplifies the code associated with loading the master crypto key
to standardize on using the bootstrap.conf file.

This closes #51.

Signed-off-by: Bryan Bende <bbende@apache.org>
2017-12-26 14:57:09 -05:00
Kevin Doran cc3820990e
NIFIREG-60 NiFi Proxy Identity Support
Adds the ability to configure NiFi Identities to act as proxies for
FileAccessPolicyProvider in authorizers.xml

This closes #45.

Signed-off-by: Bryan Bende <bbende@apache.org>
2017-12-01 16:43:04 -05:00
Kevin Doran 5892537789
NIFIREG-52 Add Kerberos Support
- KerberosIdentityProvider: an IdentityProvider extension for username/password login
- KerberosSpnegoIdentityProvider: authenticates Kerberos tickets over SPNEGO exchange with client and mutual Kerberos server
- Adds NiFiRegistryProperties fields for configuring KerberosSpnegoIdentityProvider
- Adds a dedicated endpoint for clients to use to generate a JWT using a Kerberos Ticket (backed by KerberosSpnegoIP)
- Adds a new endpoint (POST /acces/token) that attempts to do server-side auto detection of client authentication method
- Adds NotAllowedExceptionMapper that returns 405 for NotAllowedExceptions thrown in the Jersey framework
- Adds UnathorizedException and UnathorizedExceptionMapper for returning 401 responses with WWW-Authenticate challenges
- Refines IdentityProvider interface by connecting WWW-Authenticate challenges to IdentityProviderUsage object

This closes #41.

Signed-off-by: Bryan Bende <bbende@apache.org>
2017-11-21 12:50:39 -05:00
Kevin Doran 90f36dd223
NIFIREG-33 Add LDAP and JWT auth support
- Adds LdapIdentityProvider for authentication
- Adds /access/token endpoint for generating JWT for users that can authenticate with a configured IdenitiyProvider
- Adds JwtAuthenticationProvider for authentication
- Adds KeyService for key generation and tracking for signing JWTs
- Adds LdapUserGroupProvider for authorization
- Adds LDAP integration tests
- Refactors nifi-registry-security-api-impl into nifi-registry-framework
- Refactors all security related packages, such as o.a.n.r.authorization and o.a.n.r.authentication, under org.apache.nifi.registry.security
- Fixing issues found in code review
- Make LoginIdentityProviderFactory a DisposableBean

This closes #29.

Signed-off-by: Bryan Bende <bbende@apache.org>
2017-11-07 13:49:58 -05:00
Bryan Bende 0229bc7489
NIFIREG-43 Provide configurable extension directories with class loader isolation
This closes #27.

Signed-off-by: Bryan Bende <bbende@apache.org>
2017-10-25 16:58:50 -04:00
Kevin Doran 785cb81ff0
NIFIREG-9: Initial Auth Implementation
Authentication and authorization enforcement for web API, largely based on NiFi.
This commit adds interfaces, framework, and file-based authorizer providers (file access policy provider, file user group provider).
Authentication of identities is currently based on certificates in two-way SSL (HTTPS). Alternative identity strategies (user&pass, JWT) will
be added later building upon the foundation in this commit.

As part of this feature, some changes were made to the RegistryService interface and the providers it utilizes.

This closes #14.

Signed-off-by: Bryan Bende <bbende@apache.org>
2017-10-05 14:08:59 -04:00
Bryan Bende d478c20ee2
NIFIREG-18 Initial plumbling for H2 database
- Setup Flyway with initial migration to define tables
- Setup entity classes with repositories
- Setup unit testing for repositories
- Removed existing MetadataProvider concept
- Removed provider impl module and moved remaining pieces into framework
- Added MetadataService with DatabaseMetadataService implementation
- Refactored RegistryService to use MetadataService
- Introduced verbose flag on some end-points to control loading nested objects
- Added ability to pass down paging/sorting params
- Added endpoints for available fields
- Adding ItemResource and ability to retrieve all items, or items by bucket
- Changing from Set to List on retrieval methods
- Added web linking in entities returned from REST end-points

This closes #10.
2017-09-21 09:50:04 -04:00
Bryan Bende 9eb0cef016
NIFIREG-7 Defining Provider API and framework for loading providers
- Renaming nifi-registry-flow-data-model to nifi-registry-data-model
- Implementing FileSystemFlowProvider & FileSystemMetadataProvider
- Adding unit tests for file system providers
- Injecting providers into test REST resource
2017-08-21 14:18:40 -04:00
Bryan Bende d6d42d998b
NIFIREG-1 Initial project structure for NiFi Registry. This closes #1 2017-07-13 10:46:42 -04:00