Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Current »

CDAP internal identity is a new feature released as part of CDAP 6.6 which adds authn/z requirements to internal system services. When internal identity is enabled, administrators can expect to no longer receive authorization requests to their access enforcer extensions from internal principals.

Setup

CDAP must be configured with a shared secret file which all system services must have access to. To generate the shared secret file, use the AuthenticationTool:

docker run -it --rm \
--mount type=bind,source=$(pwd),target=/auth
gcr.io/cdapio/cdap:latest \
io.cdap.cdap.security.tools.AuthenticationTool -g /auth/auth.key

Next, ensure the key file (/auth/auth.key) is available to every system service. In Kubernetes, this can be done by creating a new secret and mounting it as a file in the pod:

kubectl create secret generic cdap-auth \
--from-file=auth.key

Alternatively, in distributed mode, other key managers (for example, the DistributedKeyManager leveraging ZooKeeper) can be used, but the same key must be available to all system services or internal token verification will fail.

Required Configurations

The following table describes the required configurations for cdap-site.xml.

Property

Value

Description

security.internal.auth.enabled

true

Flag for enabling the internal identity feature.

security.data.keyfile.path

<path_to_keyfile>

The path to the key generated in the Setup step for FileBasedKeyManager.

  • No labels