エンタイトルメント サービス
アクセス管理は、サービスまたはリソースにとって重要な機能です。 エンタイトルメント サービスを使用すると、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.storage.user
やservice.storage.admin
など、"service" という単語で始まります。 - 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 Retrieve Group API で説明されています。
個々のユーザーを
user group
に追加できます。 その後、user group
がdata group
に追加されます。 データ グループは、データ レコードの ACL に追加されます。 個々のユーザーをデータ グループに 1 つずつ追加する必要がないため、データ グループの抽象化が可能になります。 代わりに、user group
にユーザーを追加できます。 その後、複数のdata groups
に対してuser group
を繰り返し使用できます。 入れ子になった構造は、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 validate owner access API および OSDU users data root check 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 はインスタンスごとに一意に作成され、ユーザーによる削除がシステムによって禁止されます。
Users
OSDU グループごとに、OWNER または MEMBER としてユーザーを追加できます。
- OSDU グループの所有者である場合は、そのグループのメンバーを追加または削除するか、グループを削除できます。
- OSDU グループのメンバーである場合は、OSDU グループのスコープに応じて、サービスまたはデータを表示、編集、または削除できます。 たとえば、
service.legal.editor
OSDU グループのメンバーである場合は、API を呼び出して法的サービスを変更できます。
Note
ユーザーを管理する他の所有者が存在しない場合、グループの所有者を削除しないでください。
エンタイトルメント API
エンタイトルメント API エンドポイントの完全な一覧については、OSDU エンタイトルメント サービスについてのページを参照してください。 エンタイトルメント API の使用方法を示すいくつかの図は、ユーザーの管理に関するページにあります。
Note
OSDU のドキュメントは v1 エンドポイントを参照していますが、このドキュメントに記載されているスクリプトは v2 エンドポイントを参照しています。これは正常に動作し、検証も行われています。
OSDU® は The Open Group の商標です。
次のステップ
次の手順については、以下を参照してください。
Azure Data Manager for Energy インスタンスにデータを取り込むこともできます。