def take_action(self, parsed_args): requests_log = logging.getLogger("requests.packages.urllib3") requests_log.setLevel(logging.WARNING) requests_log.propagate = True consul_host = parsed_args.consul_host consul_port = parsed_args.consul_port # project_id = args.keystone_pid models.init(consul_host, consul_port) policies.init(consul_host, consul_port) pdp.init(consul_host, consul_port) if parsed_args.filename: LOGGER.info("Loading: {}".format(parsed_args.filename)) m = SourceFileLoader("scenario", parsed_args.filename) scenario = m.load_module() _models = models.check_model() for _model_id, _model_value in _models['models'].items(): if _model_value['name'] == scenario.model_name: model_id = _model_id meta_rule_list = _model_value['meta_rules'] models.create_model(scenario, model_id) break else: model_id, meta_rule_list = models.create_model(scenario) policy_id = policies.create_policy(scenario, model_id, meta_rule_list) pdp_id = pdp.create_pdp(scenario, policy_id=policy_id) pdp_name = PdpUtils.get_pdp_name(pdp, pdp_id, None) LOGGER.info("Pdp created : [id='{}', name='{}']".format(pdp_id, pdp_name))
def take_action(self, parsed_args): consul_host = parsed_args.consul_host consul_port = parsed_args.consul_port models.init(consul_host, consul_port) policies.init(consul_host, consul_port) pdp.init(consul_host, consul_port) # _pdp_key = PdpUtils.get_pdp_id(pdp, parsed_args.id_pdp, parsed_args.name_pdp) _pdp_name = PdpUtils.get_pdp_name(pdp, parsed_args.id_pdp, parsed_args.name_pdp) if _pdp_name is None: LOGGER.error("Error pdp not found ") return # _project_key = ProjectsUtils.get_project_id( # pdp, parsed_args.id_project, parsed_args.name_project) _project_name = ProjectsUtils.get_project_name(pdp, parsed_args.id_project, parsed_args.name_project) if _project_name is None: LOGGER.error("Error project not found ") return LOGGER.info("Mapping: {}=>{}".format(_pdp_name, _project_name)) # pdp.map_to_keystone(pdp_id=parsed_args.id_pdp, keystone_project_id=parsed_args.id_project) pdp.map_to_keystone(pdp_id=_pdp_name, keystone_project_id=_project_name)
def test_policies(): policies.init("consul", 8500) models.init("consul", 8500) check_policy() policy_id = add_policy() check_policy(policy_id) delete_policy(policy_id)
def take_action(self, parsed_args): consul_host = parsed_args.consul_host consul_port = parsed_args.consul_port models.init(consul_host, consul_port) policies.init(consul_host, consul_port) pdp.init(consul_host, consul_port) if parsed_args.filename: LOGGER.info("Loading: {}".format(parsed_args.filename)) m = SourceFileLoader("scenario", parsed_args.filename) scenario = m.load_module() keystone_project_id = ProjectsUtils.get_project_id(pdp, parsed_args.id_project, parsed_args.name_project) if keystone_project_id is None: LOGGER.error("Project not found !") keystone_project_id = pdp.get_keystone_id(keystone_project_id) time_data = authz.send_requests( scenario, parsed_args.authz_host, parsed_args.authz_port, keystone_project_id, request_second=parsed_args.request_second, limit=parsed_args.limit, dry_run=parsed_args.dry_run, stress_test=parsed_args.stress_test, destination=parsed_args.destination ) if not parsed_args.dry_run: authz.save_data(parsed_args.write, time_data)
def take_action(self, parsed_args): consul_host = parsed_args.consul_host consul_port = parsed_args.consul_port models.init(consul_host, consul_port) policies.init(consul_host, consul_port) pdp.init(consul_host, consul_port) policy_id = PoliciesUtils.get_policy_id(policies, parsed_args.id, parsed_args.name) policy_name = PoliciesUtils.get_policy_name(policies, parsed_args.id, parsed_args.name) LOGGER.info("Deleting: {}".format(policy_name)) pdp.delete_pdp(policy_id) _policies = policies.check_policy() # logger.info("Listing all Policies:") for _policy_key, _policy_value in _policies["policies"].items(): # print(" {} {}".format(_policy_key, _policy_value['name'])) if _policy_key == policy_id: LOGGER.error("Error in deleting {}".format(policy_id)) return (('Key', 'Value'), ( (_policy_key, _policy_value) for _policy_key, _policy_value in _policies["policies"].items()))
def take_action(self, parsed_args): consul_host = parsed_args.consul_host consul_port = parsed_args.consul_port models.init(consul_host, consul_port) policies.init(consul_host, consul_port) pdp.init(consul_host, consul_port) json_import.init(consul_host, consul_port) res = json_import.import_json(parsed_args.filename) if "message" in res: return res["message"] return res
def take_action(self, parsed_args): consul_host = parsed_args.consul_host consul_port = parsed_args.consul_port models.init(consul_host, consul_port) policies.init(consul_host, consul_port) pdp.init(consul_host, consul_port) _policies = policies.check_policy() return (('Key', 'Name'), ( (_policy_key, _policy_value['name']) for _policy_key, _policy_value in _policies["policies"].items()))
def take_action(self, parsed_args): consul_host = parsed_args.consul_host consul_port = parsed_args.consul_port models.init(consul_host, consul_port) policies.init(consul_host, consul_port) pdp.init(consul_host, consul_port) projects = pdp.get_keystone_projects() return (('Id', 'Name'), ((_project['id'], _project['name']) for _project in projects['projects']))
def take_action(self, parsed_args): consul_host = parsed_args.consul_host consul_port = parsed_args.consul_port models.init(consul_host, consul_port) policies.init(consul_host, consul_port) pdp.init(consul_host, consul_port) subject_category_id = models.add_subject_category(parsed_args.name) if subject_category_id is not None: print("Subject category created with id {}".format(subject_category_id)) else: print("Error while creating subject category")
def take_action(self, parsed_args): consul_host = parsed_args.consul_host consul_port = parsed_args.consul_port models.init(consul_host, consul_port) policies.init(consul_host, consul_port) pdp.init(consul_host, consul_port) pdps = pdp.check_pdp() return (('Key', 'Name', 'Project id'), ((_pdp_key, _pdp_value['name'], _pdp_value['keystone_project_id']) for _pdp_key, _pdp_value in pdps["pdps"].items()) )
def take_action(self, parsed_args): consul_host = parsed_args.consul_host consul_port = parsed_args.consul_port models.init(consul_host, consul_port) policies.init(consul_host, consul_port) pdp.init(consul_host, consul_port) object_categories = models.check_object_category() print(object_categories) return (('Key', 'Name'), ((_model_key, _model_value['name']) for _model_key, _model_value in object_categories["object_categories"].items()) )
def take_action(self, parsed_args): consul_host = parsed_args.consul_host consul_port = parsed_args.consul_port models.init(consul_host, consul_port) policies.init(consul_host, consul_port) pdp.init(consul_host, consul_port) modelz = models.check_model() return (('Key', 'Name'), ((_model_key, _model_value['name']) for _model_key, _model_value in modelz["models"].items()) )
def take_action(self, parsed_args): consul_host = parsed_args.consul_host consul_port = parsed_args.consul_port models.init(consul_host, consul_port) policies.init(consul_host, consul_port) pdp.init(consul_host, consul_port) json_export.init(consul_host, consul_port) res = json_export.export_to_json() if "content" in res: json_file = open(parsed_args.filename, "w") json.dump(res["content"], json_file) return "Export ok!" return "Unexpected results : the returned json does not have the correct syntax"
def take_action(self, parsed_args): requests_log = logging.getLogger("requests.packages.urllib3") requests_log.setLevel(logging.WARNING) requests_log.propagate = True consul_host = parsed_args.consul_host consul_port = parsed_args.consul_port models.init(consul_host, consul_port) policies.init(consul_host, consul_port) pdp.init(consul_host, consul_port) slaves.init(consul_host, consul_port) return (('Name', 'Configured'), ((value['name'], value['configured']) for value in slaves.get_slaves().get('slaves', dict())))
def take_action(self, parsed_args): consul_host = parsed_args.consul_host consul_port = parsed_args.consul_port models.init(consul_host, consul_port) policies.init(consul_host, consul_port) pdp.init(consul_host, consul_port) metarule_datas = policies.check_meta_rule() if len(metarule_datas["meta_rules"]) == 0: return (('Key', 'Name'), ()) metarule_data = metarule_datas["meta_rules"] res = (('Key', 'Name'), ((_key, metarule_data[_key]['name']) for _key in list(metarule_data))) return res
def take_action(self, parsed_args): consul_host = parsed_args.consul_host consul_port = parsed_args.consul_port models.init(consul_host, consul_port) policies.init(consul_host, consul_port) pdp.init(consul_host, consul_port) action_datas = policies.check_action_data(parsed_args.policy_id, None, parsed_args.category_id) if len(action_datas["action_data"]) == 0: return (('Key', 'Name'), ()) action_data = action_datas["action_data"][0]["data"] res = (('Key', 'Name'), ((_action_key, action_data[_action_key]["value"]['name']) for _action_key in list(action_data))) return res
def take_action(self, parsed_args): consul_host = parsed_args.consul_host consul_port = parsed_args.consul_port models.init(consul_host, consul_port) policies.init(consul_host, consul_port) pdp.init(consul_host, consul_port) subject_data = policies.check_subject_data(parsed_args.policy_id, None, parsed_args.category_id) if len(subject_data["subject_data"]) == 0: return (('Key', 'Name'), ()) return (('Key', 'Name'), ( (_subject_key, subject_data["subject_data"][0]["data"][_subject_key]['name']) for _subject_key in subject_data["subject_data"][0]["data"].keys()) )
def take_action(self, parsed_args): requests_log = logging.getLogger("requests.packages.urllib3") requests_log.setLevel(logging.WARNING) requests_log.propagate = True consul_host = parsed_args.consul_host consul_port = parsed_args.consul_port models.init(consul_host, consul_port) policies.init(consul_host, consul_port) pdp.init(consul_host, consul_port) slaves.init(consul_host, consul_port) slave_input_name = parsed_args.name if parsed_args.name is None: slave_input_name = "kubernetes-admin@kubernetes" slaves.delete_slave(slave_input_name) print(" {} (configured=False)".format(slave_input_name))
def take_action(self, parsed_args): consul_host = parsed_args.consul_host consul_port = parsed_args.consul_port models.init(consul_host, consul_port) policies.init(consul_host, consul_port) pdp.init(consul_host, consul_port) _search = PdpUtils.get_pdp_id(pdp, parsed_args.id, parsed_args.name) _pdp_key = _search if _pdp_key is None: LOGGER.error("Error pdp not found ") return # if parsed_args.id: # logger.info("Deleting: {}".format(parsed_args.id)) # _search = parsed_args.id # if parsed_args.name: # logger.info("Deleting: {}".format(parsed_args.name)) # _search = parsed_args.name # pdps = pdp.check_pdp() # for _pdp_key, _pdp_value in pdps["pdps"].items(): # if _pdp_key == _search or _pdp_value['name'] == _search: LOGGER.info("Found {}".format(_pdp_key)) pdp.delete_pdp(_pdp_key) pdps = pdp.check_pdp() LOGGER.info("Listing all PDP:") for _pdp_key, _pdp_value in pdps["pdps"].items(): if _pdp_key == _search: # or _pdp_value['name'] == _search: LOGGER.error("Error in deleting {}".format(_search)) return (('Key', 'Name', 'Project id'), ((_pdp_key, _pdp_value['name'], _pdp_value['keystone_project_id']) for _pdp_key, _pdp_value in pdps["pdps"].items()) )