streamtool adduserdomainrole

Usage

adduserdomainrole [-d,--domain-id <did>] [-U,--User <user>] [-h,--help] [--trace <level>] [-v,--verbose <level>] [--zkconnect {<host>:<port>},... | --embeddedzk] <role> <user>

The streamtool adduserdomainrole command adds a user to the list of users that have a specific role in a domain.

Authority

You must have write authority for the config domain object. By default, the DomainAdministrator role has this authority. For more information about access control lists, see streamtool getdomainacl.

Description

A role is a set of permissions or access rights. You can assign roles to users or groups of users. You can then use roles to secure domain objects by setting the permissions for the role in the Streams access control list (ACL).

This command assigns roles in a domain to users. To assign roles in a domain to groups, use the streamtool addgroupdomainrole command. To assign roles in an instance to users, use the streamtool adduserrole command.

The default roles in a domain are DomainAdministrator and DomainUser.

Options

-d,--domain-id <did>
Specifies the domain identifier.

If you do not specify this option, Streams uses the domain name that is set in the STREAMS_DOMAIN_ID environment variable. By default, that domain name is StreamsDomain. If you are using the interactive streamtool interface, it uses the name of the active domain for the current streamtool session or else it prompts you for the domain name.

The active domain for the current streamtool session is set every time that you successfully run a streamtool command with a -d or --domain-id option. Alternatively, you can run the streamtool domain command in the interactive interface.

--embeddedzk

Specifies to use the embedded copy of ZooKeeper. This option is not supported within the interactive streamtool interface.

If you are not using the interactive streamtool interface and you do not specify either this option or the --zkconnect option, Streams uses the ZooKeeper connection that is associated with the active domain or the domain that is specified in the --domain-id option. Streams determines which connection maps to the domain by using cached information about the domains. In this scenario, if the domain identifier is not unique in the Streams configuration cache, the command fails.

-h,--help
Specifies to show the command syntax.
--trace <level>
Specifies the trace setting. The following valid levels are listed in order of increasing verbosity, which is to say that the first level in the list generates the least amount of information:
  • off
  • error
  • warn
  • info
  • debug
  • trace
The default value is off.
-U,--User <user>
Specifies an Streams user ID that has authority to run the command.
-v,--verbose <level>
Specifies to provide more detailed command output. The verbosity level can be 0-3, where 0 disables detailed reporting and each increment provides more detailed output.
--zkconnect <{<host>:<port>},...>

The name of one or more host and port pairs that specify the configured ZooKeeper servers. This option is not supported within the interactive streamtool interface.

If you are not using the interactive streamtool interface and you do not specify this option, Streams tries to use:

  1. The --embeddedzk option
  2. The value from the STREAMS_ZKCONNECT environment variable
  3. A ZooKeeper connection string that is derived from cached information about the current domain.

Arguments

role
Specifies a security role. Role names can be 256 characters in length and must be alphanumeric characters or underscores (_).
user
Specifies a user identifier.

Examples

In the following example, the command assigns the role "developer" to the user "jsmith" in the domain "StreamsDomain":

[streamtool <bsmith@StreamsDomain.streams>] adduserdomainrole developer jsmith