type=page
status=published
title=update-connector-security-map
next=update-connector-work-security-map.html
prev=unset-web-env-entry.html
~~~~~~

update-connector-security-map
=============================

[[update-connector-security-map-1]][[GSRFM00252]][[update-connector-security-map]]

update-connector-security-map
-----------------------------

Modifies a security map for the specified connector connection pool

[[sthref2258]]

=== Synopsis

[source]
----
asadmin [asadmin-options] update-connector-security-map [--help]
--poolname connector_connection_pool_name
[--addprincipals principal_name1[,principal_name2]*]
[--addusergroups user_group1[,user_group2]*]
[--removeprincipals principal_name1[,principal_name2]*]
[--removeusergroups user_group1[,user_group2]*]
[--mappedusername username]
mapname
----

[[sthref2259]]

=== Description

The `update-connector-security-map` subcommand modifies a security map
for the specified connector connection pool.

For this subcommand to succeed, you must have first created a connector
connection pool using the `create-connector-connection-pool` subcommand.

This subcommand is supported in remote mode only.

[[sthref2260]]

=== Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.
`--poolname`::
  Specifies the name of the connector connection pool to which the
  security map that is to be updated belongs.
`--addprincipals`::
  Specifies a comma-separated list of EIS-specific principals to be
  added. Use either the `--addprincipals` or `--addusergroups` options,
  but not both in the same command.
`--addusergroups`::
  Specifies a comma-separated list of EIS user groups to be added. Use
  either the `--addprincipals` or `--addusergroups` options, but not
  both in the same command.
`--removeprincipals`::
  Specifies a comma-separated list of EIS-specific principals to be
  removed.
`--removeusergroups`::
  Specifies a comma-separated list of EIS user groups to be removed.
`--mappedusername`::
  Specifies the EIS username.

[[sthref2261]]

=== Operands

mapname::
  The name of the security map to be updated.

[[sthref2262]]

=== Examples

[[GSRFM785]][[sthref2263]]

==== Example 1   Updating a Connector Security Map

This example adds principals to the existing security map named `securityMap1`.

[source]
----
asadmin> update-connector-security-map --poolname connector-pool1
--addprincipals principal1,principal2 securityMap1
Command update-connector-security-map executed successfully
----

[[sthref2264]]

=== Exit Status

0::
  subcommand executed successfully
1::
  error in executing the subcommand

[[sthref2265]]

=== See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

link:create-connector-security-map.html#create-connector-security-map-1[`create-connector-security-map`(1)],
link:delete-connector-security-map.html#delete-connector-security-map-1[`delete-connector-security-map`(1)],
link:list-connector-security-maps.html#list-connector-security-maps-1[`list-connector-security-maps`(1)]


