Example #1
0
        /// <exception cref="System.IO.IOException"/>
        private UserGroupInformation CheckAcls(string method)
        {
            UserGroupInformation user;

            try
            {
                user = UserGroupInformation.GetCurrentUser();
            }
            catch (IOException ioe)
            {
                Log.Warn("Couldn't get current user", ioe);
                HSAuditLogger.LogFailure("UNKNOWN", method, adminAcl.ToString(), HistoryAdminServer
                                         , "Couldn't get current user");
                throw;
            }
            if (!adminAcl.IsUserAllowed(user))
            {
                Log.Warn("User " + user.GetShortUserName() + " doesn't have permission" + " to call '"
                         + method + "'");
                HSAuditLogger.LogFailure(user.GetShortUserName(), method, adminAcl.ToString(), HistoryAdminServer
                                         , HSAuditLogger.AuditConstants.UnauthorizedUser);
                throw new AccessControlException("User " + user.GetShortUserName() + " doesn't have permission"
                                                 + " to call '" + method + "'");
            }
            Log.Info("HS Admin: " + method + " invoked by user " + user.GetShortUserName());
            return(user);
        }
Example #2
0
        /// <exception cref="System.IO.IOException"/>
        public virtual void RefreshSuperUserGroupsConfiguration()
        {
            UserGroupInformation user = CheckAcls("refreshSuperUserGroupsConfiguration");

            ProxyUsers.RefreshSuperUserGroupsConfiguration(CreateConf());
            HSAuditLogger.LogSuccess(user.GetShortUserName(), "refreshSuperUserGroupsConfiguration"
                                     , HistoryAdminServer);
        }
Example #3
0
        /// <exception cref="System.IO.IOException"/>
        public virtual void RefreshUserToGroupsMappings()
        {
            UserGroupInformation user = CheckAcls("refreshUserToGroupsMappings");

            Groups.GetUserToGroupsMappingService().Refresh();
            HSAuditLogger.LogSuccess(user.GetShortUserName(), "refreshUserToGroupsMappings",
                                     HistoryAdminServer);
        }
Example #4
0
        /// <exception cref="System.IO.IOException"/>
        public virtual void RefreshAdminAcls()
        {
            UserGroupInformation user = CheckAcls("refreshAdminAcls");
            Configuration        conf = CreateConf();

            adminAcl = new AccessControlList(conf.Get(JHAdminConfig.JhsAdminAcl, JHAdminConfig
                                                      .DefaultJhsAdminAcl));
            HSAuditLogger.LogSuccess(user.GetShortUserName(), "refreshAdminAcls", HistoryAdminServer
                                     );
        }
Example #5
0
        /// <exception cref="System.IO.IOException"/>
        public virtual void RefreshJobRetentionSettings()
        {
            UserGroupInformation user = CheckAcls("refreshJobRetentionSettings");

            try
            {
                loginUGI.DoAs(new _PrivilegedExceptionAction_276(this));
            }
            catch (Exception e)
            {
                throw new IOException(e);
            }
            HSAuditLogger.LogSuccess(user.GetShortUserName(), "refreshJobRetentionSettings",
                                     HistoryAdminServer);
        }
Example #6
0
        /// <exception cref="System.IO.IOException"/>
        public virtual void RefreshLoadedJobCache()
        {
            UserGroupInformation user = CheckAcls("refreshLoadedJobCache");

            try
            {
                jobHistoryService.RefreshLoadedJobCache();
            }
            catch (NotSupportedException e)
            {
                HSAuditLogger.LogFailure(user.GetShortUserName(), "refreshLoadedJobCache", adminAcl
                                         .ToString(), HistoryAdminServer, e.Message);
                throw;
            }
            HSAuditLogger.LogSuccess(user.GetShortUserName(), "refreshLoadedJobCache", HistoryAdminServer
                                     );
        }