/** * Puts the user provided data in the secure store, if the user has admin access to the key. * * @throws UnauthorizedException If the user does not have write permissions on the namespace. * @throws NamespaceNotFoundException If the specified namespace does not exist. * @throws IOException If there was a problem storing the key to underlying provider. */ @Override public final synchronized void put(String namespace, String name, String value, @Nullable String description, Map<String, String> properties) throws Exception { Principal principal = authenticationContext.getPrincipal(); NamespaceId namespaceId = new NamespaceId(namespace); SecureKeyId secureKeyId = namespaceId.secureKey(name); authorizationEnforcer.enforce(secureKeyId, principal, Action.ADMIN); secureStoreService.put(namespace, name, value, description, properties); }