Loading services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/core/internal_service_ops.py +25 −3 Original line number Diff line number Diff line Loading @@ -29,13 +29,11 @@ class InternalServiceOps(Resource): allowed_total_invocations = settings.get("allowed_total_invocations", 100) allowed_invocations_per_second = settings.get("allowed_invocations_per_second", 10) time_range_days = settings.get("allowed_invocation_time_range_days", 365) net_slice_info = settings.get("net_slice_info", []) else: current_app.logger.error("CAPIF Configuration not found, applying all values to 0.") allowed_total_invocations = 0 allowed_invocations_per_second = 0 time_range_days = 0 net_slice_info = [] res = mycol.find_one( {"service_id": service_id, "aef_id": aef_id}, {"_id": 0}) Loading @@ -45,6 +43,8 @@ class InternalServiceOps(Resource): f"Adding invoker ACL for invoker {invoker_id}") range_list = [TimeRangeList( datetime.utcnow(), datetime.utcnow()+timedelta(days=time_range_days))] net_slice_info = res.get("net_slice_info", []) invoker_acl = ApiInvokerPolicy( invoker_id, allowed_total_invocations, allowed_invocations_per_second, range_list, net_slice_info) r = mycol.find_one({"service_id": service_id, "aef_id": aef_id, Loading Loading @@ -73,8 +73,30 @@ class InternalServiceOps(Resource): f"Creating service ACLs for service: {service_id}") range_list = [TimeRangeList( datetime.utcnow(), datetime.utcnow()+timedelta(days=time_range_days))] services = self.db.get_col_by_name(self.db.service_api_descriptions) service_api = services.find_one( { "api_id": service_id, "$or": [ {"aef_profiles.aef_id": aef_id}, {"api_status.aef_ids": aef_id}, ], }, {"_id": 0, "net_slice_info": 1}, ) net_slice_info = [] if service_api: net_slice_info = service_api.get("net_slice_info", []) invoker_acl = ApiInvokerPolicy( invoker_id, allowed_total_invocations, allowed_invocations_per_second, range_list, net_slice_info) invoker_id, allowed_total_invocations, allowed_invocations_per_second, range_list, net_slice_info, ) service_acls = { "service_id": service_id, Loading services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/db/db.py +3 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,9 @@ class MongoDatabse(): self.config = Config().get_config() self.db = self.__connect() self.acls = self.config['mongo']['col'] self.service_api_descriptions = self.config['mongo'].get( 'col_services', 'serviceapidescriptions' ) def get_col_by_name(self, name): Loading services/helper/config.yaml +0 −11 Original line number Diff line number Diff line Loading @@ -28,17 +28,6 @@ capif_configuration: allowed_invocation_time_range_days: 365 allowed_invocations_per_second: 10 allowed_total_invocations: 5 net_slice_info: - snssai: sst: 1 sd: "000001" nsiId: "string" ensi: "string" - snssai: sst: 2 sd: "000001" nsiId: "string" ensi: "string" certificates_expiry: ttl_invoker_cert: 4300h ttl_provider_cert: 4300h Loading Loading
services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/core/internal_service_ops.py +25 −3 Original line number Diff line number Diff line Loading @@ -29,13 +29,11 @@ class InternalServiceOps(Resource): allowed_total_invocations = settings.get("allowed_total_invocations", 100) allowed_invocations_per_second = settings.get("allowed_invocations_per_second", 10) time_range_days = settings.get("allowed_invocation_time_range_days", 365) net_slice_info = settings.get("net_slice_info", []) else: current_app.logger.error("CAPIF Configuration not found, applying all values to 0.") allowed_total_invocations = 0 allowed_invocations_per_second = 0 time_range_days = 0 net_slice_info = [] res = mycol.find_one( {"service_id": service_id, "aef_id": aef_id}, {"_id": 0}) Loading @@ -45,6 +43,8 @@ class InternalServiceOps(Resource): f"Adding invoker ACL for invoker {invoker_id}") range_list = [TimeRangeList( datetime.utcnow(), datetime.utcnow()+timedelta(days=time_range_days))] net_slice_info = res.get("net_slice_info", []) invoker_acl = ApiInvokerPolicy( invoker_id, allowed_total_invocations, allowed_invocations_per_second, range_list, net_slice_info) r = mycol.find_one({"service_id": service_id, "aef_id": aef_id, Loading Loading @@ -73,8 +73,30 @@ class InternalServiceOps(Resource): f"Creating service ACLs for service: {service_id}") range_list = [TimeRangeList( datetime.utcnow(), datetime.utcnow()+timedelta(days=time_range_days))] services = self.db.get_col_by_name(self.db.service_api_descriptions) service_api = services.find_one( { "api_id": service_id, "$or": [ {"aef_profiles.aef_id": aef_id}, {"api_status.aef_ids": aef_id}, ], }, {"_id": 0, "net_slice_info": 1}, ) net_slice_info = [] if service_api: net_slice_info = service_api.get("net_slice_info", []) invoker_acl = ApiInvokerPolicy( invoker_id, allowed_total_invocations, allowed_invocations_per_second, range_list, net_slice_info) invoker_id, allowed_total_invocations, allowed_invocations_per_second, range_list, net_slice_info, ) service_acls = { "service_id": service_id, Loading
services/TS29222_CAPIF_Access_Control_Policy_API/capif_acl/db/db.py +3 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,9 @@ class MongoDatabse(): self.config = Config().get_config() self.db = self.__connect() self.acls = self.config['mongo']['col'] self.service_api_descriptions = self.config['mongo'].get( 'col_services', 'serviceapidescriptions' ) def get_col_by_name(self, name): Loading
services/helper/config.yaml +0 −11 Original line number Diff line number Diff line Loading @@ -28,17 +28,6 @@ capif_configuration: allowed_invocation_time_range_days: 365 allowed_invocations_per_second: 10 allowed_total_invocations: 5 net_slice_info: - snssai: sst: 1 sd: "000001" nsiId: "string" ensi: "string" - snssai: sst: 2 sd: "000001" nsiId: "string" ensi: "string" certificates_expiry: ttl_invoker_cert: 4300h ttl_provider_cert: 4300h Loading