Azure Digital Twins でのロール ベースのアクセス制御Role-based access control in Azure Digital Twins

Azure Digital Twins では、空間グラフ内の特定のデータ、リソース、アクションへのアクセスを正確に制御できます。Azure Digital Twins enables precise access control to specific data, resources, and actions in your spatial graph. これは、"ロールベースのアクセス制御" (RBAC) と呼ばれるきめ細かいロールとアクセス許可の管理によって行われます。It does so through granular role and permission management called role-based access control (RBAC). RBAC は ロールロール割り当て により構成されます。RBAC consists of roles and role assignments. ロールによってアクセス許可のレベルが特定されます。Roles identify the level of permissions. ロール割り当てによってロールがユーザーまたはデバイスに関連付けられます。Role assignments associate a role with a user or device.

RBAC を使用し、次にアクセス許可を付与できます。Using RBAC, permission can be granted to:

  • ユーザー。A user.
  • デバイス。A device.
  • サービス プリンシパル。A service principal.
  • ユーザー定義関数。A user-defined function.
  • あるドメインに属するすべてのユーザー。All users who belong to a domain.
  • テナント。A tenant.

アクセスの程度を微調整することもできます。The degree of access can also be fine-tuned.

RBAC は、アクセス許可が空間グラフの下方に継承されるという点で独特です。RBAC is unique in that permissions are inherited down the spatial graph.

RBAC でできることWhat can I do with RBAC?

開発者は次の目的で RBAC を使用することがあります。A developer might use RBAC to:

  • ビル全体のデバイスまたは特定の部屋やフロアだけのデバイスを管理する権限をユーザーに付与します。Grant a user the ability to manage devices for an entire building, or only for a specific room or floor.
  • グラフ全体のすべての空間グラフ ノードまたはグラフのセクションのノードだけに対するグローバル アクセス権を、管理者に付与します。Grant an administrator global access to all spatial graph nodes for an entire graph, or only for a section of the graph.
  • サポート スペシャ リストに、アクセス キーを除く、グラフへの読み取りアクセス権を付与します。Grant a support specialist read access to the graph, except for access keys.
  • ドメインのすべてのメンバーに、すべてのグラフ オブジェクトへの読み取りアクセス権を付与します。Grant every member of a domain read access to all graph objects.

RBAC ベスト プラクティスRBAC best practices

ロールベースのアクセス制御は、アクセス、アクセス許可、ロールを管理するための継承によるセキュリティ戦略です。Role-based access control is an inheritance-driven security strategy for managing access, permissions, and roles. 子孫のロールは、親のロールからアクセス許可を継承します。Descendent roles inherit permissions from parent roles. アクセス許可は、親ロールから継承しないで割り当てることもできます。Permissions also can be assigned without being inherited from a parent role. 必要に応じて、割り当てたロールをカスタマイズすることもできます。They also can be assigned to customize a role as needed.

たとえば、スペース管理者には、指定されたスペースのすべての操作を実行するためにグローバル アクセス権が必要です。For example, a Space Administrator might need global access to run all operations for a specified space. アクセス権には、スペースとその下にあるすべてのノードが含まれます。Access includes all nodes underneath or within the space. デバイス インストーラーには、デバイスとセンサーへの読み取り更新のアクセス許可のみが必要です。A Device Installer might need only read and update permissions for devices and sensors.

どのような場合でも、ロールには、最小限の特権の原則に従って、ユーザーがタスクを実行するために厳密に必要であり過剰ではないアクセス権を付与します。In every case, roles are granted exactly and no more than the access required to fulfill their tasks per the Principle of Least Privilege. この原則に従って、ID には次のアクセス権のみが付与されます。According to this principle, an identity is granted only:

  • そのジョブを完了するために必要なアクセスの量。The amount of access needed to complete its job.
  • そのジョブを実行するために適切であり、それだけに限定されたロール。A role appropriate and limited to carrying out its job.

重要

常に最小限の特権の原則に従ってください。Always follow the Principle of Least Privilege.

従う必要のある他の 2 つの重要なロールベースのアクセス制御の方法:Two other important role-based access control practices to follow:

  • ロールの割り当てを定期的に監査し、各ロールに適切なアクセス許可があることを確認します。Periodically audit role assignments to verify that each role has the correct permissions.
  • 個人のロールまたは割り当てが変わったら、ロールと割り当てをクリーンアップします。Clean up roles and assignments when individuals change roles or assignments.

ロールRoles

ロールの定義Role definitions

ロールの定義は、アクセス許可と、ロールを構成するその他の属性のコレクションです。A role definition is a collection of permissions and other attributes that constitute a role. ロールの定義では、そのロールを持つすべてのオブジェクトで実行される可能性のある作成読み取り更新削除など、許可される操作がリストされます。A role definition lists the allowed operations, which include CREATE, READ, UPDATE, and DELETE that any object with that role may perform. また、アクセス許可が適用されるオブジェクトの型も指定されます。It also specifies to which object types permissions apply to.

次の表では、Azure Digital Twins で使用可能なロールを説明しています。The following table describes the roles that are available in Azure Digital Twins:

ロールRole 説明Description 識別子Identifier
スペース管理者Space Administrator 指定のスペースとその下にあるすべてのノードに対する CREATEREADUPDATE、および DELETE アクセス許可。CREATE, READ, UPDATE, and DELETE permission for the specified space and all nodes underneath. グローバル アクセス許可。Global permission. 98e44ad7-28d4-4007-853b-b9968ad132d198e44ad7-28d4-4007-853b-b9968ad132d1
ユーザー管理者User Administrator ユーザーとユーザー関連オブジェクトに対する CREATEREADUPDATE、および DELETE アクセス許可。CREATE, READ, UPDATE, and DELETE permission for users and user-related objects. スペースに対する READ アクセス許可。READ permission for spaces. dfaac54c-f583-4dd2-b45d-8d4bbc0aa1acdfaac54c-f583-4dd2-b45d-8d4bbc0aa1ac
デバイス管理者Device Administrator デバイスとデバイス関連オブジェクトに対する CREATEREADUPDATE、および DELETE アクセス許可。CREATE, READ, UPDATE, and DELETE permission for devices and device-related objects. スペースに対する READ アクセス許可。READ permission for spaces. 3cdfde07-bc16-40d9-bed3-66d49a8f52ae3cdfde07-bc16-40d9-bed3-66d49a8f52ae
キー管理者Key Administrator アクセス キーに対する CREATEREADUPDATE、および DELETE アクセス許可。CREATE, READ, UPDATE, and DELETE permission for access keys. スペースに対する READ アクセス許可。READ permission for spaces. 5a0b1afc-e118-4068-969f-b50efb8e5da65a0b1afc-e118-4068-969f-b50efb8e5da6
トークン管理者Token Administrator アクセス キーに対する READ および UPDATE アクセス許可。READ and UPDATE permission for access keys. スペースに対する READ アクセス許可。READ permission for spaces. 38a3bb21-5424-43b4-b0bf-78ee228840c338a3bb21-5424-43b4-b0bf-78ee228840c3
UserUser スペース、センサー、ユーザー、それに対応する関連オブジェクトに対する READ アクセス許可。READ permission for spaces, sensors, and users, which includes their corresponding related objects. b1ffdb77-c635-4e7e-ad25-948237d85b30b1ffdb77-c635-4e7e-ad25-948237d85b30
サポート スペシャリストSupport Specialist アクセス キーを除くすべてのものに対する READ アクセス許可。READ permission for everything except access keys. 6e46958b-dc62-4e7c-990c-c3da2e0309696e46958b-dc62-4e7c-990c-c3da2e030969
デバイス インストーラーDevice Installer デバイス、センサー、それに対応する関連オブジェクトに対する READ および UPDATE アクセス許可。READ and UPDATE permission for devices and sensors, which includes their corresponding related objects. スペースに対する READ アクセス許可。READ permission for spaces. b16dd9fe-4efe-467b-8c8c-720e2ff8817cb16dd9fe-4efe-467b-8c8c-720e2ff8817c
ゲートウェイ デバイスGateway Device センサーに対する CREATE アクセス許可。CREATE permission for sensors. デバイス、センサー、それに対応する関連オブジェクトに対する READ アクセス許可。READ permission for devices and sensors, which includes their corresponding related objects. d4c69766-e9bd-4e61-bfc1-d8b6e686c7a8d4c69766-e9bd-4e61-bfc1-d8b6e686c7a8

注意

前のロールの完全定義を取得するには、システム/ロール API にお問い合わせください。To retrieve the full definitions for the previous roles, query the system/roles API. 詳細については、ロール割り当ての作成と管理に関するページを参照してください。Learn more by reading Creating and managing role assignments.

オブジェクト識別子の型Object identifier types

objectIdType (またはオブジェクト識別子の型) は、ロールに与えられる ID の型を示します。The objectIdType (or object identifier type) refers to the type of identity that's given to a role. DeviceId および UserDefinedFunctionId 型を除き、オブジェクト識別子の型は Azure Active Directory オブジェクトのプロパティに対応します。Apart from the DeviceId and UserDefinedFunctionId types, object identifier types correspond to properties of Azure Active Directory objects.

次の表に、Azure Digital Twins でサポートされているオブジェクト識別子の型を示します。The following table contains the supported object identifier types in Azure Digital Twins:

TypeType 説明Description
UserIdUserId ユーザーにロールを割り当てます。Assigns a role to a user.
deviceIdDeviceId デバイスにロールを割り当てます。Assigns a role to a device.
DomainNameDomainName ドメイン名にロールを割り当てます。Assigns a role to a domain name. 指定されたドメイン名を持つ各ユーザーには、対応するロールのアクセス権が与えられます。Each user with the specified domain name has the access rights of the corresponding role.
TenantIdTenantId テナントにロールを割り当てます。Assigns a role to a tenant. 指定された Azure AD テナント ID に属する各ユーザーには、対応するロールのアクセス権が与えられます。Each user who belongs to the specified Azure AD tenant ID has the access rights of the corresponding role.
ServicePrincipalIdServicePrincipalId サービス プリンシパルのオブジェクト ID にロールを割り当てます。Assigns a role to a service principal object ID.
UserDefinedFunctionIdUserDefinedFunctionId ユーザー定義関数 (UDF) にロールを割り当てます。Assigns a role to a user-defined function (UDF).

ヒント

サービス プリンシパルにアクセス許可を付与する方法については、ロール割り当ての作成と管理に関するページを参照してください。Learn how to grant permissions to your service principal by reading Creating and managing role assignments.

次のリファレンス ドキュメント記事では、以下について説明されています。The following reference documentation articles describe:

ロールの割り当てRole assignments

Azure Digital Twins のロールの割り当てでは、ユーザー、Azure AD テナントなどのオブジェクトにロールや空間が関連付けられます。An Azure Digital Twins role assignment associates an object, such as a user or an Azure AD tenant, with a role and a space. その空間に属するすべてのオブジェクトにアクセス許可が付与されます。Permissions are granted to all objects that belong to that space. 空間には、その下にある空間グラフ全体が含まれます。The space includes the entire spatial graph beneath it.

たとえば、建物を表す空間グラフのルート ノードに関して、あるユーザーにロール DeviceInstaller のロールの割り当てが与えられるとします。For example, a user is given a role assignment with the role DeviceInstaller for the root node of a spatial graph, which represents a building. この場合、このユーザーは、そのノードだけでなく、建物内の他のすべての子空間で、デバイスの読み取りと更新を行うことができます。The user can then read and update devices for that node and all other child spaces in the building.

受信者にアクセス許可を付与するには、ロールの割り当てを作成します。To grant permissions to a recipient, create a role assignment. アクセス許可を取り消すには、ロールの割り当てを削除します。To revoke permissions, remove the role assignment.

重要

ロールの割り当ての詳細については、ロール割り当ての作成と管理に関するページを参照してください。Learn more about role assignments by reading Creating and managing role assignments.

次の手順Next steps