Пример #1
0
    def __init__(self):
        """Initializes the manager by reading the config file."""

        self.routers = []
        self.auth_manager = auth_manager.AuthorizationManager()

        self.default_router = self._CreateRouter(
            config.CONFIG["API.DefaultRouter"])

        if config.CONFIG["API.RouterACLConfigFile"]:
            logging.info("Using API router ACL config file: %s",
                         config.CONFIG["API.RouterACLConfigFile"])

            with open(config.CONFIG["API.RouterACLConfigFile"],
                      mode="rb") as fh:
                acl_list = APIAuthorization.ParseYAMLAuthorizationsList(
                    fh.read())

            if not acl_list:
                raise InvalidAPIAuthorization("No entries added from "
                                              "RouterACLConfigFile.")

            for index, acl in enumerate(acl_list):
                router = self._CreateRouter(acl.router,
                                            params=acl.router_params)
                self.routers.append(router)

                router_id = str(index)
                self.auth_manager.DenyAll(router_id)

                for group in acl.groups:
                    self.auth_manager.AuthorizeGroup(group, router_id)

                for user in acl.users:
                    self.auth_manager.AuthorizeUser(user, router_id)
Пример #2
0
  def __init__(self, acl_list: Iterable[APIAuthorization],
               default_router_cls: Type[api_call_router.ApiCallRouter]):
    """Initializes the manager by reading the config file."""
    precondition.AssertIterableType(acl_list, APIAuthorization)

    self.routers = []
    self.auth_manager = auth_manager.AuthorizationManager()

    self.default_router = self._CreateRouter(default_router_cls)

    for index, acl in enumerate(acl_list):
      router = self._CreateRouter(acl.router_cls, params=acl.router_params)
      self.routers.append(router)

      router_id = str(index)
      self.auth_manager.DenyAll(router_id)

      for group in acl.groups:
        self.auth_manager.AuthorizeGroup(group, router_id)

      for user in acl.users:
        self.auth_manager.AuthorizeUser(user, router_id)
Пример #3
0
    def setUp(self):
        super().setUp()

        self.group_access_manager = groups.NoGroupAccess()
        self.auth_manager = auth_manager.AuthorizationManager(
            group_access_manager=self.group_access_manager)