Development and operations server with code mapping module
A distributed computing system includes a code repository server configured to store code, a code deployment server configured to receive a deployment of the code, and a development and operations (DevOps) server configured to construct a pipeline between the code repository server and the code deployment server. The DevOps server is configured to execute a source code management program to receive a request for information regarding a target resource that has been deployed using the pipeline, generate a permissions model for the target resource, the permissions model including one or more permissions, each permission authorizing a managed identity to execute an action related to the target resource, determine a permissions usage history of the permissions contained in the permissions model, filter the permissions model based on the permissions usage history, and generate a list of events determined to have occurred as the filtered permissions model.
1 . A distributed computing system, comprising:
a code repository server configured to store code;
a code deployment server configured to receive a deployment of the code; and
a development and operations (DevOps) server configured to construct a pipeline between the code repository server and the code deployment server, and to execute a source code management program to:
receive a request for information regarding a target resource that has been deployed from the code repository server to the code deployment server using the pipeline;
generate a permissions model for the target resource, the permissions model including one or more permissions, each permission authorizing a managed identity to execute an action related to the target resource;
determine a permissions usage history of the permissions contained in the permissions model;
filter the permissions model based on the permissions usage history to create a filtered permission model, wherein the filtered permissions model includes permissions that have been used and excludes permissions that have not been used;
generate a list of events determined to have occurred as the filtered permissions model; and
perform a remedial action based upon the generated list of events, wherein
the action is a first action that includes an execution of the pipeline to deploy the target resource on the code deployment server;
the permissions usage history includes a pipeline run history entry indicating the execution of the pipeline; and
the remedial action is to delete the target resource from the code deployment server, or to revert to a version of code on the code deployment server prior to the deployment.
2 . The distributed computing system of claim 1 , wherein
the permissions model further includes one or more permissions each authorizing a managed identity to execute a second action related to the target resource;
the second action includes a usage of a service connection of the DevOps server; and
the permissions usage history includes a connection usage history entry indicating the usage of the service connection.
3 . The distributed computing system of claim 1 , wherein
the permissions model further includes one or more permissions each authorizing a managed identity to execute a second action related to the target resource;
the second action includes a communication between the target resource on the code deployment server and the DevOps server; and
the permissions usage history includes a cloud control plane log entry indicating the communication.
4 . The distributed computing system of claim 1 , wherein the filtered permissions model includes permissions that have been used during a predetermined period of time and excludes permissions that have not been used during the predetermined period of time.
5 . The distributed computing system of claim 1 , wherein the source code management program is configured to generate the list of events at least in part by:
identifying each action related to the target resource;
adding time information to indicate a time of each action;
determining a managed identity that performed each action; and
determining a user that configured the permission that authorized the managed identity to perform each action,
such that for each event in the list of events, the action, time information, and user are indicated.
6 . The distributed computing system of claim 1 , wherein the remedial action is to delete the target resource from the code deployment server.
7 . The distributed computing system of claim 1 , wherein
the deployment of the target resource on the code deployment server resulted in a misconfiguration of the code on the code deployment server; and
the remedial action is to revert to the version of the code on the code deployment server prior to the deployment.
8 . The distributed computing system of claim 1 , wherein the request includes instructions to perform the remedial action upon finishing the filtering of the permissions model.
9 . The distributed computing system of claim 1 , wherein the DevOps server is configured to execute the source code management program to programmatically determine the remedial action based on attributes of the request.
10 . A computing method for use in a distributed computing system including a development and operations (DevOps) server, a code repository server, and a code deployment server, the method comprising, at a source code management program executed on the DevOps server:
receiving a request for information regarding a target resource that has been deployed from the code repository server to the code deployment server using a pipeline of the DevOps server;
generating a permissions model for the target resource, the permissions model including one or more permissions, each permission authorizing a managed identity to execute an action related to the target resource;
determining a permissions usage history of the permissions contained in the permissions model;
filtering the permissions model based on the permissions usage history to create a filtered permission model, wherein the filtered permissions model includes permissions that have been used and excludes permissions that have not been used;
generating a list of events determined to have occurred as the filtered permissions model; and
performing a remedial action based upon the generated list of events, wherein
the action is a first action that includes an execution of the pipeline to deploy the target resource on the code deployment server;
the permissions usage history includes a pipeline run history entry indicating the execution of the pipeline; and
the remedial action is to delete the target resource from the code deployment server, or to revert to a version of code on the code deployment server prior to the deployment.
11 . The computing method of claim 10 , wherein
the permissions model further includes one or more permissions each authorizing a managed identity to execute a second action related to the target resource;
the second action includes a usage of a service connection of the DevOps server; and
the permissions usage history includes a connection usage history entry indicating the usage of the service connection.
12 . The computing method of claim 10 , wherein
the permissions model further includes one or more permissions each authorizing a managed identity to execute a second action related to the target resource;
the second action includes a communication between the target resource on the code deployment server and the DevOps server; and
the permissions usage history includes a cloud control plane log entry indicating the communication.
13 . The computing method of claim 10 , wherein the filtered permissions model includes permissions that have been used during a predetermined period of time and excludes permissions that have not been used during the predetermined period of time.
14 . The computing method of claim 10 , wherein generating the list of events is accomplished at least in part by:
identifying each action related to the target resource;
adding time information to indicate a time of each action;
determining a managed identity that performed each action; and
determining a user that configured the permission that authorized the managed identity to perform each action,
such that for each event in the list of events, the action, time information, and user are indicated.
15 . The computing method of claim 10 , wherein
the remedial action is to delete the target resource from the code deployment server.
16 . The computing method of claim 10 , wherein
the deployment of the target resource on the code deployment server resulted in a misconfiguration of the code on the code deployment server; and
the remedial action is to revert to the version of the code on the code deployment server prior to the deployment.
17 . The computing method of claim 10 , wherein the request includes instructions to perform the remedial action upon finishing the filtering of the permissions model.
18 . The computing method of claim 10 , further comprising programmatically determining the remedial action based on attributes of the request.
19 . A development and operations (DevOps) server configured to construct a pipeline between a code repository server configured to store code and a code deployment server configured to receive a deployment of the code, and to execute a source code management program to:
receive a request for information regarding a target resource that has been deployed from the code repository server to the code deployment server using the pipeline;
generate a permissions model for the target resource, the permissions model including one or more permissions, each permission authorizing a managed identity to execute an action related to the target resource;
determine a permissions usage history of the permissions contained in the permissions model;
filter the permissions model based on the permissions usage history to create a filtered permissions model, wherein the filtered permissions model includes permissions that have been used and excludes permissions that have not been used;
generate a list of events determined to have occurred as the filtered permissions model; and
perform a remedial action based upon the generated list of events, wherein
the action is a first action that includes an execution of the pipeline to deploy the target resource on the code deployment server;
the permissions usage history includes a pipeline run history entry indicating the execution of the pipeline; and
the remedial action is to delete the target resource from the code deployment server, or to revert to a version of code on the code deployment server prior to the deployment.
20 . The DevOps server of claim 19 , further configured to execute the source code management program to programmatically determine the remedial action based on attributes of the request.