...
The last command creates a new user "influxweb"
Note: If you restart influxdb you'll need to remove these variables otherwise it will get stuck in a loop trying to create the admin user again
INFLUXDB_ADMIN_USER: influxadmin
INFLUXDB_ADMIN_PASSWORD: influxadmin
Note: JWT authorization is no longer supported in Influxdb v. 2
...
Code Block | ||||
---|---|---|---|---|
| ||||
from influxdb_client import InfluxDBClient, Point, PermissionResource, Permission from influxdb_client.domain import Authorization my_org = "iot" my_url = "http://localhost:8086" my_username = "influxdb" my_password = "influxdb" my_bucket_name = "iot-bucket" client = InfluxDBClient(url=my_url, username=my_username, password=my_password, org=my_org) my_org_id = "" organizations_api = client.organizations_api() orgs = organizations_api.find_organizations() # Check if org already exists my_org_list = [o for o in orgs if o.name == my_org] if len(my_org_list): org = my_org_list[0] my_org_id=org.id print("Found " + org.name + ", " + my_org_id) else: print("Creating " + my_org) org = organizations_api.create_organization(name=my_org) my_org_id=org.id buckets_api = client.buckets_api() # Check if bucket already exists bucket = buckets_api.find_bucket_by_name(bucket_name=my_bucket_name); if not bucket is None: print("Found " + bucket.name) else: print("Creating " + my_bucket_name) bucket = buckets_api.create_bucket(bucket_name=my_bucket_name) # Create a new Authorization token for the bucket bucket_resource = PermissionResource(org_id=my_org_id, id=bucket.id, type="buckets") read_bucket = Permission(resource=bucket_resource, action="read") write_bucket = Permission(resource=bucket_resource, action="write") auth = Authorization() auth.org_id=my_org_id auth.permissions=[read_bucket, write_bucket] auth.description=bucket.name+' Token' authorizations_api = client.authorizations_api() authorizations_api.create_authorization(authorization=auth) # Find available authorizations authorizations = authorizations_api.find_authorizations() for auth in authorizations: print(auth.description + " - " + auth.token + " - " + auth.status + " - " + auth.org_id) |
Links
Manage security and authorization
Chronograf
Chronograf can be used to visualize your data in either V1 or V2, although it's very similar to what comes out of the box with V2.
You can also use it to create users:
You can use the following yaml to run it in your cluster: chronograf.yaml
Links
Manage security and authorization
InfluxDB Tech Tips; Creating Tokens with the InfluxDB API
Write data with the InfluxDB API V1
Authentication and authorization in InfluxDB V1