MINOR: Grant EditAll permission to lineage bot (#20258)

This commit is contained in:
Mayur Singal 2025-03-17 11:56:07 +05:30 committed by GitHub
parent a808526d06
commit 1dab7c2b4e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 31 additions and 4 deletions

View File

@ -5,6 +5,7 @@ import static org.openmetadata.service.migration.utils.v170.MigrationUtil.runLin
import static org.openmetadata.service.migration.utils.v170.MigrationUtil.runLineageMigrationForNullColumn;
import static org.openmetadata.service.migration.utils.v170.MigrationUtil.updateDataInsightsApplication;
import static org.openmetadata.service.migration.utils.v170.MigrationUtil.updateGovernanceWorkflowDefinitions;
import static org.openmetadata.service.migration.utils.v170.MigrationUtil.updateLineageBotPolicy;
import lombok.SneakyThrows;
import org.openmetadata.service.migration.api.MigrationProcessImpl;
@ -28,6 +29,9 @@ public class Migration extends MigrationProcessImpl {
runLineageMigrationForNullColumn(handle);
runLineageMigrationForNonNullColumn(handle);
// DI
createServiceCharts();
updateLineageBotPolicy();
}
}

View File

@ -5,6 +5,7 @@ import static org.openmetadata.service.migration.utils.v170.MigrationUtil.runLin
import static org.openmetadata.service.migration.utils.v170.MigrationUtil.runLineageMigrationForNullColumn;
import static org.openmetadata.service.migration.utils.v170.MigrationUtil.updateDataInsightsApplication;
import static org.openmetadata.service.migration.utils.v170.MigrationUtil.updateGovernanceWorkflowDefinitions;
import static org.openmetadata.service.migration.utils.v170.MigrationUtil.updateLineageBotPolicy;
import lombok.SneakyThrows;
import org.openmetadata.service.migration.api.MigrationProcessImpl;
@ -27,10 +28,10 @@ public class Migration extends MigrationProcessImpl {
// Lineage
runLineageMigrationForNullColumn(handle);
runLineageMigrationForNonNullColumn(handle);
initializeWorkflowHandler();
updateGovernanceWorkflowDefinitions();
updateDataInsightsApplication();
// DI
createServiceCharts();
updateLineageBotPolicy();
}
}

View File

@ -14,10 +14,13 @@ import org.jdbi.v3.core.statement.UnableToExecuteStatementException;
import org.openmetadata.schema.dataInsight.custom.DataInsightCustomChart;
import org.openmetadata.schema.dataInsight.custom.LineChart;
import org.openmetadata.schema.dataInsight.custom.LineChartMetric;
import org.openmetadata.schema.entity.policies.Policy;
import org.openmetadata.schema.entity.policies.accessControl.Rule;
import org.openmetadata.schema.governance.workflows.WorkflowConfiguration;
import org.openmetadata.schema.governance.workflows.WorkflowDefinition;
import org.openmetadata.schema.governance.workflows.elements.WorkflowNodeDefinitionInterface;
import org.openmetadata.schema.type.LineageDetails;
import org.openmetadata.schema.type.MetadataOperation;
import org.openmetadata.service.Entity;
import org.openmetadata.service.exception.EntityNotFoundException;
import org.openmetadata.service.governance.workflows.flowable.MainWorkflow;
@ -25,6 +28,7 @@ import org.openmetadata.service.jdbi3.AppMarketPlaceRepository;
import org.openmetadata.service.jdbi3.AppRepository;
import org.openmetadata.service.jdbi3.DataInsightSystemChartRepository;
import org.openmetadata.service.jdbi3.ListFilter;
import org.openmetadata.service.jdbi3.PolicyRepository;
import org.openmetadata.service.jdbi3.WorkflowDefinitionRepository;
import org.openmetadata.service.resources.databases.DatasourceConfig;
import org.openmetadata.service.util.EntityUtil;
@ -327,4 +331,22 @@ public class MigrationUtil {
.withFormula("sum(k='tierSources.Automated')")
.withName("ai"))));
}
public static void updateLineageBotPolicy() {
PolicyRepository policyRepository =
(PolicyRepository) Entity.getEntityRepository(Entity.POLICY);
List<Policy> policies =
policyRepository.listAll(EntityUtil.Fields.EMPTY_FIELDS, new ListFilter());
for (Policy policy : policies) {
if (policy.getName().equals("LineageBotPolicy")) {
for (Rule rule : policy.getRules()) {
if (rule.getName().equals("LineageBotRule-Allow")
&& !rule.getOperations().contains(MetadataOperation.EDIT_ALL)) {
rule.getOperations().add(MetadataOperation.EDIT_ALL);
policyRepository.createOrUpdate(null, policy);
}
}
}
}
}
}

View File

@ -18,7 +18,7 @@
"name": "LineageBotRule-Allow",
"description" : "Allow creating and updating lineage",
"resources" : ["All"],
"operations": ["EditLineage", "EditQueries", "ViewAll"],
"operations": ["EditAll", "ViewAll"],
"effect": "allow"
}
]