エンタイトルメント サービス

アクセス管理は、あらゆるサービスまたはリソースにとって重要な機能です。 エンタイトルメント サービスを使用すると、Azure Data Manager for Energy インスタンスを使用できるユーザー、表示または変更できる内容、使用できるサービスまたはデータを制御できます。

OSDU グループの構造と名前付け

Azure Data Manager for Energy のエンタイトルメント サービスを使用すると、グループを作成し、グループのメンバーシップを管理できます。 エンタイトルメント グループは、Azure Data Manager for Energy インスタンス内の特定のデータ パーティションに対するサービスまたはデータ ソースに対するアクセス許可を定義します。 特定のグループに追加されたユーザーは、関連付けられているアクセス許可を取得します。 すべてのグループ識別子 (電子メール) は、 {groupType}.{serviceName|resourceName}.{permission}@{partition}.{domain}形式です。

同じ Azure Data Manager for Energy インスタンス内であっても、 新しいデータ パーティションごとに異なるグループと関連するユーザー権利を設定する必要があります。

OSDU グループの種類

エンタイトルメント サービスでは、承認に次の 3 つのユース ケースが有効になります。

データ グループ

  • データ グループは、データの承認を有効にするために使用されます。
  • データ グループは、 data.welldb.viewers や data.welldb.ownersなど、"data" という単語で始まります。
  • 個々のユーザーがデータ グループに追加されます。このグループは、データがシステムに読み込まれた後にデータの viewer と owner アクセスを有効にするために、個々のデータ レコードの ACL に追加されます。
  • データを upload するには、インジェスト プロセス中に使用されるさまざまな OSDU サービスの権利が必要です。 OSDU サービスの組み合わせは、インジェストの方法によって異なります。 たとえば、マニフェスト インジェストについては、API が使用した OSDU サービスを理解するための マニフェスト ベースのインジェストの概念 を参照してください。 ユーザーがデータ をアップロードするために ACL の一部である必要はありません 。

サービス グループ

  • サービス グループは、サービスの承認を有効にするために使用されます。
  • サービス グループは、"service" という単語 ( service.storage.user や service.storage.adminなど) で始まります。
  • サービス グループは、Azure Data Manager for Energy インスタンスの各データ パーティションで OSDU サービスがプロビジョニングされるときに 事前に定義 されます。
  • これらのグループを使用すると、OSDU サービスに対応する OSDU API を呼び出すために、 viewer、 editor、および admin アクセスが可能になります。

ユーザー グループ

  • ユーザー グループは、ユーザー グループとサービス グループを階層的にグループ化するために使用されます。
  • サービス グループは、 users.datalake.viewers や users.datalake.editorsなど、"users" という単語で始まります。

ネストされた階層

  • user_1がdata_group_1の一部であり、data_group_1がuser_group_1のメンバーとして追加された場合、OSDU コードは入れ子になったメンバーシップをチェックし、user_group_1の権利にアクセスするためのuser_1を承認します。 これについては、 OSDU エンタイトルメント チェック API と OSDU のグループ取得 API で説明されています。

  • 個々のユーザーを user groupに追加できます。 その後、 user group が data groupに追加されます。 データ グループは、データ レコードの ACL に追加されます。 個々のユーザーをデータ グループに 1 つずつ追加する必要がないため、データ グループの抽象化が可能になります。 代わりに、 user groupにユーザーを追加できます。 その後、複数のuser groupに対してdata groupsを繰り返し使用できます。 入れ子になった構造は、OSDU のメンバーシップを管理するためのスケーラビリティを提供するのに役立ちます。

既定のグループ

  • 一部の OSDU グループは、データ パーティションのプロビジョニング時に既定で作成されます。
  • 既定では、 data.default.viewers と data.default.owners のデータ グループが作成されます。
  • service.entitlement.adminやservice.legal.editorなどの各サービスを表示、編集、および管理するサービス グループは、既定で作成されます。
  • 既定では、 users、 users.datalake.viewers、 users.datalake.editors、 users.datalake.admins、 users.datalake.ops、 users.data.root のユーザー グループが作成されます。
  • Bootstrapped OSDU エンタイトルメント グループの既定のメンバーとグループのグラフには、列ヘッダー グループが行ヘッダーのメンバーとして表示されます。 たとえば、 users グループは data.default.viewers のメンバーであり、既定では data.default.owners 。 users.datalake.admins および users.datalake.ops は、 service.entitlement.admin グループのメンバーです。
  • サービス プリンシパルまたは client-id または app-id は、すべてのグループの既定の所有者です。

users@グループの特殊性

  • "users" グループには、このグループの名前付け規則の例外が 1 つあります。 新しいデータ パーティションがプロビジョニングされ、その名前が users@{partition}.{domain}のパターンに従うと作成されます。
  • これには、特定のデータ パーティション内の任意の種類のアクセス権を持つすべてのユーザーの一覧が含まれます。 新しいユーザーをエンタイトルメント グループに追加する前に、新しいユーザーを users@{partition}.{domain} グループに追加する必要もあります。

users.data.root@グループの特殊性

  • users.data.root エンタイトルメント グループは、グループの作成時にすべてのデータ グループの既定のメンバーです。 任意のデータ グループから users.data.root を削除しようとすると、OSDU によってこのメンバーシップが適用されるため、エラーが発生します。
  • users.data.root は、 OSDU 検証所有者アクセス API と OSDU ユーザー データ ルート チェック API で説明されているように、システムでレコードが作成されるときに、すべてのデータ レコードの既定の永続的な所有者になります。 その結果、システムは、ユーザーの OSDU メンバーシップを確認するとともに、ユーザーが "DataManager" (つまり、data.root グループの一部) であるかどうかをチェックして、データ レコードのアクセスを評価します。
  • users.data.root の既定のメンバーシップは、インスタンスの設定に使用される app-id のみです。 このグループに他のユーザーを明示的に追加して、データ レコードへの既定のアクセス権を付与できます。

シナリオの例として、

  • data_record_1には、ACL_1とACL_2の 2 つの ACL があります。
  • User_1は、ACL_1と users.data.root のメンバーです。

ACL_1からuser_1を削除しても、user_1は users.data.root グループ経由でdata_record_1にアクセスできます。

また、ACL_1とACL_2がdata_record_1から削除された場合、users.data.root は引き続きデータの所有者アクセス権を持つことになります。 これにより、データ レコードが孤立し続けないようにします。

不明な OID

既定で追加されたすべての OSDU グループに不明な OID が 1 つ表示されます。この OID は、内部システム間通信に使用される内部 Azure Data Manager for Energy GUID を参照します。 この GUID はインスタンスごとに一意に作成され、システムによって削除できないように保護されています。

ユーザー

OSDU グループごとに、OWNER または MEMBER としてユーザーを追加できます。

  • OSDU グループの所有者である場合は、そのグループのメンバーを追加または削除するか、グループを削除できます。
  • OSDU グループのメンバーである場合は、OSDU グループのスコープに応じて、サービスまたはデータを表示、編集、または削除できます。 たとえば、 service.legal.editor OSDU グループのメンバーである場合は、API を呼び出して法的サービスを変更できます。

注

ユーザーを管理する別の OWNER がない限り、グループの OWNER を削除しないでください。

エンタイトルメント API

エンタイトルメント API エンドポイントの完全な一覧については、 OSDU エンタイトルメント サービスを参照してください。 エンタイトルメント API の使用方法については、「 ユーザーの管理」を参照してください。

注

OSDU のドキュメントでは v1 エンドポイントを参照していますが、このドキュメントに記載されているスクリプトは v2 エンドポイントを参照しています。これは動作し、正常に検証されています。

OSDU®はオープングループの商標です。

次のステップ

次の手順については、次を参照してください。

Azure Data Manager for Energy インスタンスにデータを取り込むこともできます。