Computer-implemented method for granting access for a user or an application to a component of a technical system, wherein the technical system comprises a plurality of components, the method comprising the steps: a) reading in a first data structure, wherein the first data structure comprises access permission levels assigned to each of the components of the technical system, b) reading in access permission levels assigned to the user or to the application for accessing components of the technical system, c) identifying a functional dependency of a given component on other components of the technical system, wherein the given component is predefined by the user or the application, and storing information about these identified components and the according functional dependency in a second data structure, d) checking the second data structure against the first data structure depending on the functional dependency, wherein a component of the second data structure is selected for which the user or the application has an insufficient access permission level, wherein - at least one dependency path of the functional dependency stored in the second data structure is determined and the at least one dependency path comprising the components assigned to said dependency path is output, wherein the at least one dependency path is determined by means of a depth-first search, - for each dependency path, the access permission level of each assigned component is checked against the access permission level of the user or the application, and a check result is returned, and - the component of the second data structure is selected depending on the check result, and e) modifying the respective access permission level (APL') of the user or the application to match with the access permission level of the selected component for granting access to the selected component. a) reading in a first data structure, wherein the first data structure comprises access permission levels assigned to each of the components of the technical system, b) reading in access permission levels assigned to the user or to the application for accessing components of the technical system, c) identifying a functional dependency of a given component on other components of the technical system, wherein the given component is predefined by the user or the application, and storing information about these identified components and the according functional dependency in a second data structure, d) checking the second data structure against the first data structure depending on the functional dependency, wherein a component of the second data structure is selected for which the user or the application has an insufficient access permission level, wherein - at least one dependency path of the functional dependency stored in the second data structure is determined and the at least one dependency path comprising the components assigned to said dependency path is output, wherein the at least one dependency path is determined by means of a depth-first search, - for each dependency path, the access permission level of each assigned component is checked against the access permission level of the user or the application, and a check result is returned, and - the component of the second data structure is selected depending on the check result, and - at least one dependency path of the functional dependency stored in the second data structure is determined and the at least one dependency path comprising the components assigned to said dependency path is output, wherein the at least one dependency path is determined by means of a depth-first search, - for each dependency path, the access permission level of each assigned component is checked against the access permission level of the user or the application, and a check result is returned, and - the component of the second data structure is selected depending on the check result, and e) modifying the respective access permission level (APL') of the user or the application to match with the access permission level of the selected component for granting access to the selected component.