Added permissioning overview (#1242)

Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
This commit is contained in:
MadelineMurray
2019-04-09 16:14:24 +10:00
committed by GitHub
parent a09f89a7dc
commit ad30020c74
8 changed files with 45 additions and 24 deletions

View File

@@ -39,7 +39,7 @@ and [`admin_removePeer`](../../Reference/JSON-RPC-API-Methods.md#admin_removepee
is not updated by `admin_addPeer` and `admin_removePeer` methods.
Nodes outside of the static nodes are not prevented from connecting. To prevent nodes from connecting,
use [Permissioning](../../Permissions/Permissioning.md).
use [Permissioning](../../Permissions/Permissioning-Overview.md).
!!! caution
If the added peer does not appear in the peer list (returned by [`admin_peers`](../../Reference/JSON-RPC-API-Methods.md#admin_peers)),

View File

@@ -150,7 +150,7 @@ Specify a permissions configuration file. This is equivalent to specifying the `
or the `--permissions-nodes-config-file` option.
!!! note
When using Docker, the accounts and nodes permissions must be contained in the same [permissions file](../Permissions/Permissioning.md#permissions-configuration-file).
When using Docker, the accounts and nodes permissions must be contained in the same [permissions file](../Permissions/Local-Permissioning.md#permissions-configuration-file).
To run Pantheon specifying a permissions configuration file:
```bash

View File

@@ -1,15 +1,9 @@
description: Pantheon Permissions feature
description: Local Permissioning
<!--- END of page meta data -->
# Permissions
# Local Permissioning
A permissioned network is a network where only specified nodes and accounts (participants) can participate.
Nodes and accounts outside those specified are prevented from participating. Permissioned networks can have node permissions enabled,
account permissions enabled, or both.
![Node Permissions](../images/node-permissioning-bad-actor.png)
![Account Permissions](../images/account-permissioning.png)
Local permissioning supports node and account whitelisting.
## Node Whitelisting
@@ -56,7 +50,7 @@ To view the nodes whitelist, use the [perm_getNodesWhitelist](../Reference/JSON-
The bootnodes must be included in the nodes whitelist or Pantheon does not start when node permissions are enabled.
!!! example
If you start Pantheon with specified bootnodes and have node permissions enabled:
If you start Pantheon with specified bootnodes and have node permissioning enabled:
```bash
--bootnodes="enode://7e4ef30e9ec683f26ad76ffca5b5148fa7a6575f4cfad4eb0f52f9c3d8335f4a9b6f9e66fcc73ef95ed7a2a52784d4f372e7750ac8ae0b544309a5b391a23dd7@127.0.0.1:30303","enode://2feb33b3c6c4a8f77d84a5ce44954e83e5f163e7a65f7f7a7fec499ceb0ddd76a46ef635408c513d64c076470eac86b7f2c8ae4fcd112cb28ce82c0d64ec2c94@127.0.0.1:30304","enode://7b61d5ee4b44335873e6912cb5dd3e3877c860ba21417c9b9ef1f7e500a82213737d4b269046d0669fb2299a234ca03443f25fe5f706b693b3669e5c92478ade@127.0.0.1:30305"
@@ -75,7 +69,7 @@ or [`--rpc-ws-api`](../Reference/Pantheon-CLI-Syntax.md#rpc-ws-api) options to e
## Account Whitelisting
Account whitelisting is specified by the accounts whitelist in the [permissions configuration file](#permissions-configuration-file).
A node with account permissions accepts transactions only from accounts in the accounts whitelist.
A node with account permissioning accepts transactions only from accounts in the accounts whitelist.
!!! example "Accounts Whitelist in Permissions Configuration File"
`accounts-whitelist=["0x0000000000000000000000000000000000000009"]`

View File

@@ -0,0 +1,26 @@
description: Pantheon Permissioning feature
<!--- END of page meta data -->
# Permissioning
A permissioned network is a network where only specified nodes and accounts (participants) can participate.
Nodes and accounts outside those specified are prevented from participating. Permissioned networks can have node permissioning enabled,
account permissioning enabled, or both.
![Node Permissioning](../images/node-permissioning-bad-actor.png)
![Account Permissioning](../images/account-permissioning.png)
## Local
[Local permissioning](Local-Permissioning.md) are specified at the node level. Each node in the network has a [permissions configuration file](#permissions-configuration-file).
Updates to local permissioning must be made to the configuration file for each node.
## Onchain
Onchain permissioning are specified in a smart contract on the network. Specifying permissioning onchain
enables all nodes to read and update permissioning in one location.
!!! note
Onchain permissioning for nodes is under development and will be available in v1.1. Onchain permissioning
for accounts will be available in a future Pantheon release.

View File

@@ -2316,7 +2316,7 @@ Proposes [adding or removing a validator](../Consensus-Protocols/IBFT.md#adding-
### perm_addAccountsToWhitelist
Adds accounts (participants) to the [accounts whitelist](../Permissions/Permissioning.md#account-whitelisting).
Adds accounts (participants) to the [accounts whitelist](../Permissions/Local-Permissioning.md#account-whitelisting).
**Parameters**
@@ -2349,7 +2349,7 @@ including invalid account addresses.
### perm_getAccountsWhitelist
Lists accounts (participants) in the [accounts whitelist](../Permissions/Permissioning.md#account-whitelisting).
Lists accounts (participants) in the [accounts whitelist](../Permissions/Local-Permissioning.md#account-whitelisting).
**Parameters**
@@ -2381,7 +2381,7 @@ None
### perm_removeAccountsFromWhitelist
Removes accounts (participants) from the [accounts whitelist](../Permissions/Permissioning.md#account-whitelisting).
Removes accounts (participants) from the [accounts whitelist](../Permissions/Local-Permissioning.md#account-whitelisting).
**Parameters**
@@ -2413,7 +2413,7 @@ including invalid account addresses.
```
### perm_addNodesToWhitelist
Adds nodes to the [nodes whitelist](../Permissions/Permissioning.md#node-whitelisting).
Adds nodes to the [nodes whitelist](../Permissions/Local-Permissioning.md#node-whitelisting).
**Parameters**
@@ -2446,7 +2446,7 @@ including invalid enode URLs.
### perm_getNodesWhitelist
Lists nodes in the [nodes whitelist](../Permissions/Permissioning.md#node-whitelisting).
Lists nodes in the [nodes whitelist](../Permissions/Local-Permissioning.md#node-whitelisting).
**Parameters**
@@ -2478,7 +2478,7 @@ None
### perm_removeNodesFromWhitelist
Removes nodes from the [nodes whitelist](../Permissions/Permissioning.md#node-whitelisting).
Removes nodes from the [nodes whitelist](../Permissions/Local-Permissioning.md#node-whitelisting).
**Parameters**
@@ -2511,7 +2511,7 @@ including invalid enode URLs.
### perm_reloadPermissionsFromFile
Reloads the accounts and nodes whitelists from the [permissions configuration file](../Permissions/Permissioning.md#permissions-configuration-file).
Reloads the accounts and nodes whitelists from the [permissions configuration file](../Permissions/Local-Permissioning.md#permissions-configuration-file).
**Parameters**

View File

@@ -580,7 +580,7 @@ Set to enable file-based account level permissions. Default is `false`.
permissions-accounts-config-file="/home/me/me_configFiles/myPermissionsFile"
```
Path to the [accounts permissions configuration file](../Permissions/Permissioning.md#permissions-configuration-file).
Path to the [accounts permissions configuration file](../Permissions/Local-Permissioning.md#permissions-configuration-file).
Default is the `permissions_config.toml` file in the [data directory](#data-path).
!!! tip
@@ -620,7 +620,7 @@ Set to enable file-based node level permissions. Default is `false`.
permissions-nodes-config-file="/home/me/me_configFiles/myPermissionsFile"
```
Path to the [nodes permissions configuration file](../Permissions/Permissioning.md#permissions-configuration-file).
Path to the [nodes permissions configuration file](../Permissions/Local-Permissioning.md#permissions-configuration-file).
Default is the `permissions_config.toml` file in the [data directory](#data-path).
!!! tip

View File

@@ -138,7 +138,7 @@ The permissions configuration file includes the first two accounts from the gene
Permissioned nodes are added using the JSON-RPC API after starting the nodes.
!!! note
Permissions are specified at the node level. The [`permissions_config.toml`](../Permissions/Permissioning.md#permissions-configuration-file)
Permissions are specified at the node level. The [`permissions_config.toml`](../Permissions/Local-Permissioning.md#permissions-configuration-file)
file must be saved in the data directory for each node.
On-chain permissioning is under development. On-chain permissioning will use one on-chain

View File

@@ -88,7 +88,8 @@ nav:
- Overview: Privacy/Privacy-Overview.md
- Processing Private Transactions: Privacy/Private-Transaction-Processing.md
- Permissions:
- Nodes and Accounts Whitelists: Permissions/Permissioning.md
- Overview: Permissions/Permissioning-Overview.md
- Local Permissions: Permissions/Local-Permissioning.md
- Using Pantheon:
- Transactions:
- Creating and Sending Transactions: Using-Pantheon/Transactions/Transactions.md