From ba99d4a25b0f997f42669a771eb3d424d95bae9d Mon Sep 17 00:00:00 2001 From: Chris Collins Date: Thu, 1 Sep 2022 11:23:16 -0400 Subject: [PATCH] fix(privileges) Add Term Groups as targetable entities for privileges --- .../resolvers/config/AppConfigResolver.java | 2 ++ .../metadata/authorization/PoliciesConfig.java | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/config/AppConfigResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/config/AppConfigResolver.java index c3025dbee94974..b7017fab782111 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/config/AppConfigResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/config/AppConfigResolver.java @@ -165,6 +165,8 @@ private EntityType mapResourceTypeToEntityType(final String resourceType) { return EntityType.TAG; } else if (com.linkedin.metadata.authorization.PoliciesConfig.GLOSSARY_TERM_PRIVILEGES.getResourceType().equals(resourceType)) { return EntityType.GLOSSARY_TERM; + } else if (com.linkedin.metadata.authorization.PoliciesConfig.GLOSSARY_NODE_PRIVILEGES.getResourceType().equals(resourceType)) { + return EntityType.GLOSSARY_NODE; } else if (com.linkedin.metadata.authorization.PoliciesConfig.DOMAIN_PRIVILEGES.getResourceType().equals(resourceType)) { return EntityType.DOMAIN; } else if (com.linkedin.metadata.authorization.PoliciesConfig.CONTAINER_PRIVILEGES.getResourceType().equals(resourceType)) { diff --git a/metadata-utils/src/main/java/com/linkedin/metadata/authorization/PoliciesConfig.java b/metadata-utils/src/main/java/com/linkedin/metadata/authorization/PoliciesConfig.java index 16527a7b6cdac2..28946c5301bf15 100644 --- a/metadata-utils/src/main/java/com/linkedin/metadata/authorization/PoliciesConfig.java +++ b/metadata-utils/src/main/java/com/linkedin/metadata/authorization/PoliciesConfig.java @@ -340,6 +340,20 @@ public class PoliciesConfig { EDIT_ENTITY_PRIVILEGE) ); + // Glossary Node Privileges + public static final ResourcePrivileges GLOSSARY_NODE_PRIVILEGES = ResourcePrivileges.of( + "glossaryNode", + "Glossary Term Groups", + "Glossary Term Groups created on DataHub", + ImmutableList.of( + VIEW_ENTITY_PAGE_PRIVILEGE, + EDIT_ENTITY_OWNERS_PRIVILEGE, + EDIT_ENTITY_DOCS_PRIVILEGE, + EDIT_ENTITY_DOC_LINKS_PRIVILEGE, + EDIT_ENTITY_DEPRECATION_PRIVILEGE, + EDIT_ENTITY_PRIVILEGE) + ); + // Group Privileges public static final ResourcePrivileges CORP_GROUP_PRIVILEGES = ResourcePrivileges.of( "corpGroup", @@ -376,6 +390,7 @@ public class PoliciesConfig { CONTAINER_PRIVILEGES, DOMAIN_PRIVILEGES, GLOSSARY_TERM_PRIVILEGES, + GLOSSARY_NODE_PRIVILEGES, CORP_GROUP_PRIVILEGES, CORP_USER_PRIVILEGES, NOTEBOOK_PRIVILEGES