MichaelMorris | 37cacbd | 2019-08-02 23:20:31 +0000 | [diff] [blame] | 1 | The following describes how to configure authentication for the VNFM adapter.
|
| 2 |
|
MichaelMorris | 7ad6f76 | 2019-09-20 13:57:10 +0100 | [diff] [blame] | 3 | TLS should always be configured to ensure secure communication between the VNFM-adapter <-> BPMN infra and VNFM-adapter <-> VNFM
|
| 4 | If two-way TLS is configured then there is no need for any further authentication (i.e. no need for token or basic auth).
|
| 5 | If two-way TLS is NOT configured then authentication is REQUIRED. Oauth token based authentication must be used for requests, while for notifications either oauth tokens or basic auth can be used.
|
| 6 |
|
MichaelMorris | 37cacbd | 2019-08-02 23:20:31 +0000 | [diff] [blame] | 7 |
|
| 8 | ==========================================
|
| 9 | To confgure TLS
|
| 10 | ==========================================
|
| 11 |
|
| 12 | ---------------
|
| 13 | VNFM Adapter
|
| 14 | ---------------
|
| 15 | The following parameters can be set to configure the certificate for the VNFM adapter
|
| 16 | server:
|
| 17 | ssl:
|
| 18 | key-alias: so@so.onap.org
|
MichaelMorris | 7ad6f76 | 2019-09-20 13:57:10 +0100 | [diff] [blame] | 19 | key--store-password: 'ywsqCy:EEo#j}HJHM7z^Rk[L'
|
| 20 | key-store: classpath:so-vnfm-adapter.p12
|
MichaelMorris | 37cacbd | 2019-08-02 23:20:31 +0000 | [diff] [blame] | 21 | key-store-type: PKCS12
|
| 22 | The values shown above relate to the certificate included in the VNFM adapter jar which has been generated from AAF. If a different certificate is to be used then these values should be changed accordingly.
|
| 23 |
|
| 24 | The following paramters can be set to configure the trust store for the VNFM adapter:
|
| 25 | http:
|
| 26 | client:
|
| 27 | ssl:
|
MichaelMorris | 7ad6f76 | 2019-09-20 13:57:10 +0100 | [diff] [blame] | 28 | trust-store: classpath:org.onap.so.trust.jks
|
| 29 | trust-store-password: ',sx#.C*W)]wVgJC6ccFHI#:H'
|
MichaelMorris | 37cacbd | 2019-08-02 23:20:31 +0000 | [diff] [blame] | 30 | The values shown above relate to the trust store included in the VNFM adapter jar which has been generated from AAI. If a different trust store is to be used then these values should be changed accordingly.
|
| 31 |
|
| 32 | Ensure the value for the below parameter uses https instead of http
|
| 33 | vnfmadapter:
|
| 34 | endpoint: http://so-vnfm-adapter.onap:9092
|
| 35 |
|
| 36 | ---------------
|
| 37 | bpmn-infra
|
| 38 | ---------------
|
| 39 | For bpmn-infra, ensure the value for the below parameter uses https instead of http
|
| 40 | so:
|
| 41 | vnfm:
|
| 42 | adapter:
|
| 43 | url: https://so-vnfm-adapter.onap:9092/so/vnfm-adapter/v1/
|
| 44 |
|
| 45 |
|
| 46 | ==========================================
|
| 47 | To use two way TLS
|
| 48 | ==========================================
|
| 49 |
|
| 50 | Ensure the value for username and password are empty in the AAI entry for the VNFM (The VNFM adapter will use oauth instead of two way TLS if the username/password is set).
|
| 51 | Ensure TLS has been configuered as detailed above.
|
| 52 |
|
| 53 | ---------------
|
| 54 | VNFM adapter
|
| 55 | ---------------
|
| 56 | Set the following parameter for the VNFM adapter:
|
| 57 | server:
|
| 58 | ssl:
|
| 59 | client-auth: need
|
| 60 |
|
| 61 | ---------------
|
| 62 | bpmn-infra:
|
| 63 | ---------------
|
| 64 | Set the following paramters for bpmn-infra:
|
| 65 | rest:
|
| 66 | http:
|
| 67 | client:
|
| 68 | configuration:
|
| 69 | ssl:
|
| 70 | keyStore: classpath:org.onap.so.p12
|
| 71 | keyStorePassword: 'RLe5ExMWW;Kd6GTSt0WQz;.Y'
|
| 72 | trustStore: classpath:org.onap.so.trust.jks
|
| 73 | trustStorePassword: '6V%8oSU$,%WbYp3IUe;^mWt4'
|
| 74 | Ensure the value for the below parameter uses https instead of http
|
| 75 | so:
|
| 76 | vnfm:
|
| 77 | adapter:
|
| 78 | url: https://so-vnfm-adapter.onap:9092/so/vnfm-adapter/v1/
|
| 79 |
|
| 80 | ---------------
|
| 81 | VNFM simulator:
|
| 82 | ---------------
|
| 83 | Set the following parameters for the VNFM simulator (if used):
|
| 84 | server:
|
| 85 | ssl:
|
| 86 | client-auth: need
|
| 87 | request:
|
| 88 | grant:
|
| 89 | auth: twowaytls
|
| 90 |
|
| 91 | ==========================================
|
| 92 | To use oauth token base authentication
|
| 93 | ==========================================
|
| 94 |
|
| 95 | ---------------
|
| 96 | VNFM adapter:
|
| 97 | ---------------
|
| 98 | Ensure the value for username and password set set in the AAI entry for the VNFM. The VNFM adapter will use this username/password as the client credentials in the request for a token for the VNFM. The token endpoint
|
| 99 | for the VNFM will by default will be derived from the service url for the VNFM in AAI as follows: <base of service url>/oauth/token, e.g. if the service url is https://so-vnfm-simulator.onap/vnflcm/v1 then the token url will
|
| 100 | be taken to be https://so-vnfm-simulator.onap/oauth/token. This can be overriden using the following parameter for the VNFM adapter:
|
| 101 | vnfmadapter:
|
| 102 | temp:
|
| 103 | vnfm:
|
| 104 | oauth:
|
| 105 | endpoint:
|
| 106 |
|
| 107 | The VNFM adapter exposes a token point at url: https://<hostname>:<port>/oauth/token e.g. https://so-vnfm-adapter.onap:9092/oauth/token. The VNFM can request a token from this endpoint for use in grant requests and notifications
|
| 108 | to the VNFM adapter. The username/password to be used in the token request are passed to the VNFM in a subscription request. The username/password sent by the VNFM adpater in the subscription request can be configuered using the
|
| 109 | following parameter:
|
| 110 | vnfmadapter:
|
| 111 | auth: <encoded value>
|
| 112 | where <encoded value> is '<username>:<password>' encoded using org.onap.so.utils.CryptoUtils with the key set by the paramter:
|
| 113 | mso:
|
| 114 | key: <key>
|
| 115 | The default username:password is vnfm-adapter:123456 when vnfm-adapter.auth is not set.
|
| 116 |
|
| 117 | ---------------
|
| 118 | VNFM simulator:
|
| 119 | ---------------
|
| 120 | Set the following parameters for the simulator:
|
| 121 | spring:
|
| 122 | profiles:
|
| 123 | active: oauth-authentication
|
| 124 | server:
|
| 125 | request:
|
| 126 | grant:
|
| 127 | auth: oauth
|
| 128 |
|
| 129 | ==========================================
|
| 130 | To use basic auth for notifications
|
| 131 | ==========================================
|
| 132 | The same username/password is used as for oauth token requests as describe above and passed to the VNFM in the subscription request. |