Merge "Adding PNDA documentation"
[dcaegen2.git] / docs / sections / services / prh / authorization.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3
4 .. _authorization:
5
6 SSL/TLS Authentication & Authorization
7 ======================================
8
9 | PRH does not perform any authorization in AAF, as the only endpoint which is provided by the service is the healthcheck, which is unsecured.
10 | For authentication settings there is a possibility to change from default behavior to certificate-based solution independently for DMaaP and AAI communication.
11
12 AAI authentication
13 ^^^^^^^^^^^^^^^^^^
14
15 Default
16 """""""
17 | By default basic authentication is being used with following credentials:
18 | user=AAI
19 | password=AAI
20
21 Certificate-based
22 """""""""""""""""
23 | There is an option to enable certificate-based authentication for PRH towards AAI service calls.
24 | To achieve this secure flag needs to be turned on in PRH :ref:`configuration<prh_configuration>` :
25
26 .. code-block:: json
27   security.enableAaiCertAuth=true
28
29 DMaaP BC authentication
30 ^^^^^^^^^^^^^^^^^^^^^^^
31
32 Default
33 """""""
34 | By default basic authentication is being used with following credentials (for both DMaaP consumer and DMaaP publisher endpoints):
35 | user=admin
36 | password=admin
37
38 Certificate-based
39 """"""""""""""""""
40 | There is an option to enable certificate-based authentication for PRH towards DMaaP Bus Controller service calls.
41 | To achieve this secure flag needs to be turned on in PRH :ref:`configuration<prh_configuration>` :
42
43 .. code-block:: json
44   --security.enableDmaapCertAuth=true
45
46 PRH identity and certificate data
47 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
48 | PRH is using ``dcae`` identity when certificate-based authentication is turned on.
49 | It's the DCAEGEN2 responsibility to generate certificate for dcae identity and provide it to the collector.
50 |
51 | PRH by default expects that the volume ``tls-info`` is being mounted under path ``/opt/app/prh/etc/cert``.
52 | It's the component/collector responsibility to provide necessary inputs in Cloudify blueprint to get the volume mounted.
53 | See :doc:`../../tls_enablement` for detailed information.
54 |
55 | PRH is using four files from ``tls-info`` DCAE volume (``cert.jks, jks.pass, trust.jks, trust.pass``).
56 | Refer :ref:`configuration<prh_configuration>` for proper security attributes settings.
57 |
58 | **IMPORTANT** Even when certificate-based authentication security features are disabled,
59 | still all security settings needs to be provided in configuration to make PRH service start smoothly.
60 | Security attributes values are not validated in this case, and can point to non-existent data.