You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update deploy-vol-services.html.md.erb to include LDAP instructions inline instead of referring to an external markdown page in a GitHub repo [#164811565](https://www.pivotaltracker.com/story/show/164811565)
Copy file name to clipboardExpand all lines: deploy-vol-services.html.md.erb
+63-13Lines changed: 63 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -37,9 +37,9 @@ This procedure requires the following:
37
37
38
38
* A current version of Cloud Foundry deployed [as described here](/deploying/index.html).
39
39
* A [BOSH CLI](https://bosh.io/docs/cli-v2-install/).
40
-
* An NFS Server. If you require it, a test server can be deployed following the instructions in [Deploying the NFS Test Server](#server).
40
+
* An NFS server. If you require it, an NFS test server can be deployed following the instructions in [Deploying the Test Servers](#server).
41
41
42
-
### <aid="redeploy"></a> Redeploy CF with NFS Enabled
42
+
### <aid="redeploy"></a> Redeploy Cloud Foundry with NFS Enabled
43
43
44
44
1. Clone the cf-deployment repository from Git, if you do not already have it:
45
45
<preclass="terminal">
@@ -59,9 +59,58 @@ This procedure requires the following:
59
59
60
60
Your CF deployment now has a running service broker and volume drivers and is ready to mount NFS volumes.
61
61
62
-
#### <aid="server"></a> Deploying the NFS Test Server
62
+
### <aid="broker"></a> Grant Access to the NFS Broker
63
+
64
+
Grant access to the services of the broker.
65
+
66
+
<preclass="terminal">
67
+
$ cf enable-service-access nfs
68
+
</pre>
69
+
70
+
CF Developers can now create an NFS service and bind instances to their apps as outlined in the [Using an External File System (Volume Services)](../devguide/services/using-vol-services.html) topic.
71
+
72
+
### <aid="ldap"></a> (Optional) LDAP Support
73
+
74
+
For better NFS security, configure your deployment to connect to an external LDAP server.
75
+
Configuring an LDAP server enables the NFS volume driver to:
76
+
77
+
- Ensure that the application developer has valid credentials (according to the LDAP server) to use an account.
78
+
- Translate user credentials into a valid UID and GID for that user.
79
+
80
+
The principal benefit of this feature is that it secures the NFS volume service so that it is no longer possible for an application developer to bind
81
+
to an NFS share using an arbitrary UID and potentially gain access to sensitive data stored by another user or application. Once LDAP support is
82
+
enabled, regular UID and GID parameters are disabled and application developers will need to provide valid credentials for any user they wish to use on the nfs server.
83
+
84
+
#### Changes to your LDAP server
85
+
86
+
It is not generally necessary to make adjustments to your LDAP server to enable integration, but you will need the following:
63
87
64
-
To deploy the NFS test server, you can fetch the operations file from the [persi-ci GitHub repository](https://github.com/cloudfoundry/persi-ci/blob/master/operations/enable-nfs-test-server.yml) and include that operation with a `-o` flag. This creates a separate VM with nfs exports you can use to experiment with volume mounts.
88
+
- Your LDAP server must be reachable through the network from the Diego cell VMs on the port you will use to connect (normally 389 or 636)
89
+
- You should provision a service account on the LDAP server that has read-only access to user records. This account will be used by
90
+
nfsv3driver to look up usernames and convert them to UIDs. In Windows server 2008 or later this can be accomplished by creating a new user
91
+
and adding it to the `Read-only Domain Controllers` group.
92
+
- Your LDAP schema must contain `uidNumber` and `gidNumber` fields for the user accounts used by nfs services. These fields are used to
93
+
establish the correct UID for a named user.
94
+
95
+
#### Changes to your Cloud Foundry deployment.
96
+
97
+
Include the [`enable-nfs-ldap`](https://github.com/cloudfoundry/cf-deployment/blob/master/operations/enable-nfs-ldap.yml) operations file in
98
+
your deployment to turn on LDAP authentication. You will need to provide the following variables in a variables file or with the `-v` option on the BOSH command line:
99
+
100
+
- `nfs-ldap-service-user`: LDAP service account user name
101
+
- `nfs-ldap-service-password`: LDAP service account password
102
+
- `nfs-ldap-host`: LDAP server host name or ip address
103
+
- `nfs-ldap-port`: LDAP server port
104
+
- `nfs-ldap-proto`: LDAP server protocol (tcp or udp)
105
+
- `nfs-ldap-fqdn`: LDAP fqdn for user records we will search against when looking up user UIDs
106
+
107
+
### <aid="server"></a> (Optional) Deploying the Test Servers
108
+
109
+
The NFS volume service includes two test servers: a test NFS server that provides NFS shares, and a test LDAP server that provides sample UID resolution when the LDAP feature is enabled.
110
+
111
+
#### NFS Test Server
112
+
113
+
To deploy the NFS test server, include the [enable-nfs-test-server.yml](https://github.com/cloudfoundry/cf-deployment/blob/master/operations/test/enable-nfs-test-server.yml) operations file. This creates a separate VM with nfs exports you can use to experiment with volume mounts.
65
114
66
115
<pclass="note"><strong>Note:</strong> By default, the NFS test server expects that your CF deployment is deployed to a 10.x.x.x subnet. If you are deploying to a subnet that is not 10.x.x.x (e.g. 192.168.x.x), you must override the "export_cidr" property.<br/>
67
116
Edit the operations file, and replace this line:<br/>
@@ -70,19 +119,20 @@ To deploy the NFS test server, you can fetch the operations file from the [persi
###<aid="broker"></a> Grant Access to the NFS Broker
122
+
#### LDAP Test Server
74
123
75
-
Grant access to the services of the broker.
124
+
To deploy the LDAP test server, include the [enable-nfs-test-ldapserver.yml](https://github.com/cloudfoundry/cf-deployment/blob/master/operations/test/enable-nfs-test-ldapserver.yml) operations file. This installs an LDAP server onto the VM created for the NFS test server.
76
125
77
-
<preclass="terminal">
78
-
$ cf enable-service-access nfs
79
-
</pre>
126
+
The deployed LDAP server is preconfigured with a single user account with username `uid1000` and password `secret`. When queried this test user will resolve to UID 1000 and GID 1000.
80
127
81
-
CF Developers can now create an NFS service and bind instances to their apps as outlined in the [Using an External File System (Volume Services)](../devguide/services/using-vol-services.html) topic.
82
-
83
-
### <aid="ldap"></a> (Optional) LDAP Support
128
+
When using the LDAP test server with your Cloud Foundry deployment, you can use the following values for required variables to connect to it:
84
129
85
-
For better security, configure your deployment of nfs-volume-release to connect to an external LDAP server to resolve user credentials into UIDs. For more information, see [this note](https://github.com/cloudfoundry/nfs-volume-release/blob/master/USING_LDAP.md).
0 commit comments