Skip to content

Commit c48188c

Browse files
authored
Merge pull request #263073 from paulth1/energy-data-services
[AQ] edit pass: Energy data services
2 parents 9513df6 + edbbd52 commit c48188c

File tree

5 files changed

+324
-290
lines changed

5 files changed

+324
-290
lines changed
Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Authentication concepts in Microsoft Azure Data Manager for Energy
3-
description: This article describes the various concepts regarding the authentication in Azure Data Manager for Energy.
3+
description: This article describes various concepts of authentication in Azure Data Manager for Energy.
44
author: shikhagarg1
55
ms.author: shikhagarg
66
ms.service: energy-data-services
@@ -9,21 +9,26 @@ ms.date: 02/10/2023
99
ms.custom: template-concept
1010
---
1111

12-
# Authentication concepts in Azure Data Manager for Energy
13-
Authentication confirms the identity of the users. The access flows can be user triggered, system triggered, or system API communication. In this article, you learn about service principals and authorization token.
12+
# Authentication concepts in Azure Data Manager for Energy
13+
14+
Authentication confirms the identity of users. The access flows can be user triggered, system triggered, or system API communication. In this article, you learn about service principals and authorization tokens.
1415

1516
## Service principals
16-
In the Azure Data Manager for Energy instance,
17-
1. No Service Principals are created.
18-
2. The app-id is used for API access. The same app-id is used to provision ADME instance.
19-
3. The app-id doesn't have access to infrastructure resources.
20-
4. The app-id also gets added as OWNER to all OSDU groups by default.
21-
5. For service-to-service (S2S) communication, ADME uses MSI (Microsoft Service Identity).
22-
23-
In the OSDU instance,
24-
1. Terraform scripts create two Service Principals:
25-
1. The first Service Principal is used for API access. It can also manage infrastructure resources.
26-
2. The second Service Principal is used for service-to-service (S2S) communications.
27-
28-
## Generate authorization token
29-
You can generate the authorization token using the steps outlined in [Generate auth token](how-to-generate-auth-token.md).
17+
18+
In an Azure Data Manager for Energy instance:
19+
20+
- No service principals are created.
21+
- The app ID is used for API access. The same app ID is used to provision an Azure Data Manager for Energy instance.
22+
- The app ID doesn't have access to infrastructure resources.
23+
- The app ID also gets added as OWNER to all OSDU groups by default.
24+
- For service-to-service communication, Azure Data Manager for Energy uses Managed Service Identity.
25+
26+
In an OSDU instance:
27+
28+
- Terraform scripts create two service principals:
29+
- The first service principal is used for API access. It can also manage infrastructure resources.
30+
- The second service principal is used for service-to-service communications.
31+
32+
## Generate an authorization token
33+
34+
To generate the authorization token, follow the steps in [Generate auth token](how-to-generate-auth-token.md).
Lines changed: 36 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: Entitlement concepts in Microsoft Azure Data Manager for Energy
3-
description: This article describes the various concepts regarding the entitlement service in Azure Data Manager for Energy.
2+
title: Entitlement concepts in Azure Data Manager for Energy
3+
description: This article describes various concepts of the entitlement service in Azure Data Manager for Energy.
44
author: shikhagarg1
55
ms.author: shikhagarg
66
ms.service: energy-data-services
@@ -11,55 +11,59 @@ ms.custom: template-concept
1111

1212
# Entitlement service
1313

14-
Access management is a critical function for any service or resource. The entitlement service lets you control who can use your Azure Data Manager for Energy, what they can see or change, and which services or data they can use.
14+
Access management is a critical function for any service or resource. The entitlement service lets you control who can use your Azure Data Manager for Energy instance, what they can see or change, and which services or data they can use.
1515

1616
## OSDU groups structure and naming
1717

18-
The entitlements service of Azure Data Manager for Energy allows you to create groups and manage memberships of the groups. An entitlement group defines permissions on services/data sources for a given data partition in your Azure Data Manager for Energy instance. Users added to a given group obtain the associated permissions. All group identifiers (emails) are of form `{groupType}.{serviceName|resourceName}.{permission}@{partition}.{domain}`.
18+
The entitlement service of Azure Data Manager for Energy allows you to create groups and manage memberships of the groups. An entitlement group defines permissions on services or data sources for a specific data partition in your Azure Data Manager for Energy instance. Users added to a specific group obtain the associated permissions. All group identifiers (emails) are of the form `{groupType}.{serviceName|resourceName}.{permission}@{partition}.{domain}`.
1919

20-
Please note that different groups and associated user entitlements need to be set for every **new data partition** even in the same Azure Data Manager for Energy instance.
20+
Different groups and associated user entitlements must be set for every *new data partition*, even in the same Azure Data Manager for Energy instance.
2121

22-
The entitlements service enables three use cases for authorization:
22+
The entitlement service enables three use cases for authorization:
2323

24-
1. **Data groups** are used to enable authorization for data.
25-
1. The data groups start with the word "data." such as data.welldb.viewers and data.welldb.owners.
26-
2. Individual users are added to the data groups which are added in the ACL of individual data records to enable `viewer` and `owner` access of the data once the data has been loaded in the system.
27-
3. To `upload` the data, you need to have entitlements of various OSDU services which are used during ingestion process. The combination of OSDU services depends on the method of ingestion. E.g., for manifest ingestion, refer [this](concepts-manifest-ingestion.md) to understand the OSDU services APIs used. The user **need not be part of the ACL** to upload the data.
28-
29-
2. **Service groups** are used to enable authorization for services.
30-
1. The service groups start with the word "service." such as service.storage.user and service.storage.admin.
31-
2. The service groups are **predefined** when OSDU services are provisioned in each data partition of Azure Data Manager for Energy instance.
32-
3. These groups enable `viewer`, `editor`, and `admin` access to call the OSDU APIs corresponding to the OSDU services.
33-
34-
3. **User groups** are used for hierarchical grouping of user and service groups.
35-
1. The service groups start with the word "users." such as users.datalake.viewers and users.datalake.editors.
36-
2. Some user groups are created by default when a data partition is provisioned. Details of these groups and their hierarchy scope are in [Bootstrapped OSDU Entitlements Groups](https://community.opengroup.org/osdu/platform/deployment-and-operations/infra-azure-provisioning/-/blob/master/docs/osdu-entitlement-roles.md).
37-
3. There's one exception of this group naming rule for "users" group. It gets created when a new data partition is provisioned and its name follows the pattern of `users@{partition}.{domain}`. It has the list of all the users with any type of access in a given data partition. Before adding a new user to any entitlement groups, you need to add the new user to the `users@{partition}.{domain}` group as well.
24+
- **Data groups** are used to enable authorization for data.
25+
- The data groups start with the word "data," such as `data.welldb.viewers` and `data.welldb.owners`.
26+
- Individual users are added to the data groups, which are added in the ACL of individual data records to enable `viewer` and `owner` access of the data after the data is loaded in the system.
27+
- To `upload` the data, you need to have entitlements of various OSDU services, which are used during the ingestion process. The combination of OSDU services depends on the method of ingestion. For example, for manifest ingestion, see [Manifest-based ingestion concepts](concepts-manifest-ingestion.md) to understand the OSDU services that APIs used. The user *doesn't need to be part of the ACL* to upload the data.
28+
- **Service groups** are used to enable authorization for services.
29+
- The service groups start with the word "service," such as `service.storage.user` and `service.storage.admin`.
30+
- The service groups are *predefined* when OSDU services are provisioned in each data partition of the Azure Data Manager for Energy instance.
31+
- These groups enable `viewer`, `editor`, and `admin` access to call the OSDU APIs corresponding to the OSDU services.
32+
- **User groups** are used for hierarchical grouping of user and service groups.
33+
- The service groups start with the word "users," such as `users.datalake.viewers` and `users.datalake.editors`.
34+
- Some user groups are created by default when a data partition is provisioned. For information on these groups and their hierarchy scope, see [Bootstrapped OSDU entitlement groups](https://community.opengroup.org/osdu/platform/deployment-and-operations/infra-azure-provisioning/-/blob/master/docs/osdu-entitlement-roles.md).
35+
- There's one exception of this group naming rule for the "users" group. It gets created when a new data partition is provisioned and its name follows the pattern of `users@{partition}.{domain}`. It has the list of all the users with any type of access in a specific data partition. Before you add a new user to any entitlement groups, you also need to add the new user to the `users@{partition}.{domain}` group.
3836

39-
Individual users can be added to a `user group`. The `user group` is then added to a `data group`. The data group is added to the ACL of the data record. It enables abstraction for the data groups since individual users need not be added one by one to the data group and instead can be added to the `user group`. This `user group` can then be used repeatedly for multiple `data groups`. The nested structure thus helps provide scalability to manage memberships in OSDU.
37+
You can add individual users to a `user group`. The `user group` is then added to a `data group`. The data group is added to the ACL of the data record. It enables abstraction for the data groups because individual users don't need to be added one by one to the data group. Instead, you can add users to the `user group`. Then you can use the `user group` repeatedly for multiple `data groups`. The nested structure helps provide scalability to manage memberships in OSDU.
4038

4139
## Users
4240

43-
For each OSDU group, you can either add a user as an OWNER or a MEMBER.
44-
1. If you're an OWNER of an OSDU group, then you can add or remove the members of that group or delete the group.
45-
2. If you're a MEMBER of an OSDU group, you can view, edit, or delete the service or data depending on the scope of the OSDU group. For example, if you're a MEMBER of service.legal.editor OSDU group, you can call the APIs to change the legal service.
41+
For each OSDU group, you can add a user as either an OWNER or a MEMBER:
42+
43+
- If you're an OWNER of an OSDU group, you can add or remove the members of that group or delete the group.
44+
- If you're a MEMBER of an OSDU group, you can view, edit, or delete the service or data depending on the scope of the OSDU group. For example, if you're a MEMBER of the `service.legal.editor` OSDU group, you can call the APIs to change the legal service.
45+
4646
> [!NOTE]
47-
> Do not delete the OWNER of a group unless there is another OWNER to manage the users.
47+
> Don't delete the OWNER of a group unless there's another OWNER to manage the users.
4848
4949
## Entitlement APIs
5050

51-
A full list of entitlements API endpoints can be found in [OSDU entitlement service](https://community.opengroup.org/osdu/platform/security-and-compliance/entitlements/-/blob/release/0.15/docs/tutorial/Entitlements-Service.md#entitlement-service-api). A few illustrations of how to use Entitlement APIs are available in the [How to manage users](how-to-manage-users.md).
51+
For a full list of Entitlement API endpoints, see [OSDU entitlement service](https://community.opengroup.org/osdu/platform/security-and-compliance/entitlements/-/blob/release/0.15/docs/tutorial/Entitlements-Service.md#entitlement-service-api). A few illustrations of how to use Entitlement APIs are available in [Manage users](how-to-manage-users.md).
52+
5253
> [!NOTE]
53-
> The OSDU documentation refers to V1 endpoints, but the scripts noted in this documentation refer to V2 endpoints, which work and have been successfully validated.
54+
> The OSDU documentation refers to v1 endpoints, but the scripts noted in this documentation refer to v2 endpoints, which work and have been successfully validated.
5455
5556
OSDU™ is a trademark of The Open Group.
5657

5758
## Next steps
58-
As the next step, you can do the following:
59-
- [How to manager users](how-to-manage-users.md)
60-
- [How to manage legal tags](how-to-manage-legal-tags.md)
61-
- [How to manage ACLs](how-to-manage-acls.md)
6259

63-
You can also ingest data into your Azure Data Manager for Energy instance with
60+
For the next step, see:
61+
62+
- [Manage users](how-to-manage-users.md)
63+
- [Manage legal tags](how-to-manage-legal-tags.md)
64+
- [Manage ACLs](how-to-manage-acls.md)
65+
66+
You can also ingest data into your Azure Data Manager for Energy instance:
67+
6468
- [Tutorial on CSV parser ingestion](tutorial-csv-ingestion.md)
6569
- [Tutorial on manifest ingestion](tutorial-manifest-ingestion.md)

0 commit comments

Comments
 (0)