Table of contents

アクセス許可スコープ | Graph API 概念Permission scopes | Graph API concepts

Bryan Lamos|最終更新日: 2018/06/19
|
2 投稿者

適用対象: Graph API | Azure Active Directory (AD)Applies to: Graph API | Azure Active Directory (AD)

Graph API は、顧客ディレクトリ データに対してアプリに与えるアクセス権の制御に使用される OAuth 2.0 アクセス許可スコープを公開します。The Graph API exposes OAuth 2.0 permission scopes that are used to control access that an app has to customer directory data.開発者は、アプリで必要となるアクセス権に適切なアクセス許可スコープでアプリを構成します。As a developer, you configure your app with the permission scopes appropriate to the access that it requires.通常、その作業は Azure ポータルで行います。Typically you do this through the Azure portal.サインイン時、開発者が構成したアクセス許可スコープでディレクトリ データにアクセスすることをアプリに許可するための同意を与える機会がユーザーまたは管理者に与えられます。During sign-in, users or administrators are given an opportunity to consent to allow your app access to their directory data with the permission scopes you configured.そのような理由から、アプリで必要となる最小限のアクセス許可を与えるアクセス許可スコープを選択してください。For this reason, you should choose permission scopes that provide the least level of privilege needed by your app.アプリのアクセス許可の構成方法と同意プロセスの詳細については、「Azure Active Directory とアプリケーションの統合」を参照してください。For more details on how to configure permissions for your app and on the consent process, see Integrating Applications with Azure Active Directory.

重要

Azure Active Directory のリソースにアクセスするには、Azure AD Graph API ではなく Microsoft Graph を使用することを強くお勧めします。We strongly recommend that you use Microsoft Graph instead of Azure AD Graph API to access Azure Active Directory resources.現在は Microsoft Graph を中心にして開発が進められており、Azure AD Graph API の今後の機能強化は予定されていません。Our development efforts are now concentrated on Microsoft Graph and no further enhancements are planned for Azure AD Graph API.Azure AD Graph API の使用が適切である場合もありますが、非常にまれです。詳細については、Office Dev Center の Microsoft Graph または Azure AD Graph ブログの記事をご覧ください。There are a very limited number of scenarios for which Azure AD Graph API might still be appropriate; for more information, see the Microsoft Graph or the Azure AD Graph blog post in the Office Dev Center.

アクセス許可スコープの概念 Permission scope concepts

「アプリのみ」スコープと「委任」スコープの違いApp-only vs. delegated scopes

アクセス許可スコープは、「アプリのみ」または「委任」になります。Permission scopes can be either app-only or delegated.「アプリのみ」スコープ (別名、アプリ ロール) の場合、スコープで提供されるすべての特権がアプリに付与されます。App-only scopes (also known as app roles) grant the app the full set of privileges offered by the scope.通常、アプリのみスコープは、サインイン ユーザーがいない状態でサービスとして実行されるアプリで利用されます。App-only scopes are typically used by apps that run as a service without a signed-in user being present.「委任」アクセス許可スコープは、ユーザーがサインインするアプリに利用されます。Delegated permission scopes are for apps that a user signs in to.サインインしたユーザーの特権がアプリに委譲され、アプリはサインイン ユーザーとして動作できます。These scopes delegate the privileges of the signed-in user to the app, allowing the app to act as the signed in user.アプリに付与される実際の特権は、スコープで付与される特権とサインイン ユーザーが所有する特権を最小特権で組み合わせたもの (共通集合) になります。The actual privileges granted to the app will be the least privileged combination (the intersection) of the privileges granted by the scope and those possessed by the signed-in user.たとえば、アクセス許可スコープによりすべてのディレクトリ オブジェクトを書き込む委任特権が与えられるが、サインイン ユーザーには自分のユーザー プロファイルを更新する特権しか与えられていない場合、アプリはサインイン ユーザーのプロファイルを書き込むことはできるが、他のオブジェクトを書き込むことはできません。For example, if the permission scope grants delegated privileges to write all directory objects, but the signed-in user has privileges only to update their own user profile, the app will only be able to write the signed-in user's profile but no other objects.

ユーザーとグループの完全プロファイルと基本プロファイルFull and basic profiles for users and groups

ユーザーまたはグループの完全プロファイル (またはプロファイル) には、すべてのエンティティの宣言されたプロパティが含まれています。The full profile (or profile) of a User or a Group includes all of the entity's declared properties.プロファイルには機密ディレクトリ情報または個人を特定できる情報 (PII) が含まれている可能性があるため、一部のスコープでは、基本プロファイルと呼ばれる限られたプロパティ セットにアプリのアクセスが制限されます。Because the profile may contain sensitive directory information or personally identifiable information (PII), several scopes constrain app access to a limited set of properties known as a basic profile.ユーザーの場合、基本プロファイルには、プロパティとして表示名、名、姓、写真、電子メール アドレスのみが含まれます。For users, the basic profile includes only the following properties: display name, first and last name, photo, and email address.グループの場合、基本プロファイルには表示名だけが含まれます。For groups, the basic profile contains only the display name.

アクセス許可スコープの詳細 Permission scope details

次の表は Graph API のアクセス許可スコープとそれぞれのスコープにより与えられるアクセス権をまとめたものです。The following table lists the Graph API permission scopes and explains the access granted by each.

  • スコープ列には、スコープ名が一覧表示されています。The Scope column lists the scope name.スコープ名は resource.operation.constraint の形式になります。たとえば、Group.ReadWrite.All です。Scope names take the form resource.operation.constraint; for example, Group.ReadWrite.All.制約が "All (すべて)" の場合、ディレクトリで指定されたすべてのリソース (Group) に操作 (ReadWrite) を実行する機能がアプリに与えられます。それ以外の場合、サインイン ユーザーのプロファイルに対する操作のみが許可されます。If the constraint is "All", the scope grants the app the ability to perform the operation (ReadWrite) on all of the specified resources (Group) in the directory; otherwise, the scope only permits the operation on the profile of the signed-in user.スコープから、指定した操作に限られた特権が付与される場合があります。詳細については、説明列を参照してください。Scopes may grant limited privileges for the specified operation, see the Description column for details.
  • アクセス許可列は、Azure ポータルでスコープを表示する方法を示しています。The Permission column shows how the scope is displayed on the Azure portal.
  • 説明列は、スコープで与えられる権限の完全なセットについての説明です。The Description column describes the full set of privileges granted by the scope.委任スコープの場合、アプリに与えられる実際のアクセス権は、スコープで付与されるアクセス権とサインイン ユーザーの特権を最小特権で組み合わせたもの (共通集合) になります。For delegated scopes, the actual access granted to the app will be the least privileged combination (intersection) of the access granted by the scope and the privileges of the signed-in user.
スコープScopeアクセス許可Permission説明Descriptionスコープの種類Scope Type管理者の同意が必要かどうかRequires Administrator Consent
User.ReadUser.Readサインインとユーザー プロファイルの読み取りを可能にするEnable sign-in and read user profileユーザーがアプリにサインインすることと、アプリがサインインしたユーザーの完全プロファイルを読み取ることを許可します。Allows users to sign in to the app and allows the app to read the full profile of the signed-in user.完全プロファイルには、User エンティティのすべての宣言済みプロパティが含まれます。The full profile includes all of the declared properties of the User entity.User.Read は、(TenantDetail オブジェクトを介して) サインイン ユーザーの基本会社情報として、テナント ID、テナント表示名、確認済みドメインを読み取ることをアプリに許可します。User.Read allows the app to read the following basic company information of the signed-in user (through the TenantDetail object): tenant ID, tenant display name, and verified domains.アプリは、マネージャーや直属の部下などの、ナビゲーション プロパティを読み取ることができません。The app cannot read navigation properties, such as manager or direct reports.アプリでは、ユーザーのパスワードを読み取ることはできません。The app cannot read the user's password.委任delegated[いいえ]No
User.ReadBasic.AllUser.ReadBasic.Allすべてのユーザーの基本プロファイルを読み取るRead all users' basic profilesサインイン ユーザーの代理として、組織のすべてのユーザーの基本プロファイルを読み取ることをアプリに許可します。Allows the app to read the basic profile of all users in the organization on behalf of the signed-in user.表示名、名、姓、写真、電子メール アドレスというプロパティがユーザーの基本プロファイルになります。The following properties comprise a user’s basic profile: display name, first and last name, photo, and email address.ユーザーが属するグループを読み取るには、Group.Read.All または Group.ReadWrite.All もアプリに必要になります。To read the groups that a user is a member of, the app will also require Group.Read.All or Group.ReadWrite.All.委任delegated[いいえ]No
User.Read.AllUser.Read.Allすべてのユーザーの完全プロファイルを読み取るRead all users' full profiles組織のすべてのユーザーの完全プロファイルの読み取りをアプリに許可することと、マネージャーや直属の部下などのナビゲーション プロパティを読み取る場合を除き、User.ReadBasic.All と同じです。Same as User.ReadBasic.All, except that it allows the app to read the full profile of all users in the organization and when reading navigation properties like manager and direct reports.完全プロファイルには、User エンティティのすべての宣言済みプロパティが含まれます。The full profile includes all of the declared properties of the User entity.ユーザーが属するグループを読み取るには、Group.Read.All または Group.ReadWrite.All もアプリに必要になります。To read the groups that a user is a member of, the app will also require either Group.Read.All or Group.ReadWrite.All.アプリでは、ユーザーのパスワードを読み取ることはできません。The app cannot read users' passwords.委任delegated[はい]Yes
Group.Read.AllGroup.Read.Allすべてのグループを読み取る (プレビュー)Read all groups (preview)サインイン ユーザーの代理として、組織のすべてのグループの基本プロファイルを読み取ることをアプリに許可します。Allows the app to read the basic profile of all groups in the organization on behalf of the signed-in user.アプリはグループが属するグループの基本プロファイルを読み取ることもできます。The app can also read the basic profile of the groups that a group is a member of.グループの基本プロファイルには、グループの表示名のみが含まれます。The basic profile for a group includes only the group’s display name.グループのメンバーのプロファイル情報を読み取るには、User.ReadBasic または User.Read.All もアプリに必要になります。To read the profile information of a group’s members, the app will also require either User.ReadBasic or User.Read.All.委任delegatedYesYes
Group.ReadWrite.AllGroup.ReadWrite.Allすべてのグループの読み書き (プレビュー)Read and write all groups (preview)組織のすべてのグループの完全プロファイルを読み取ることと、グループを作成し、更新することをサインイン ユーザーの代理としてアプリに許可します。Allows the app to read the full profile of all groups in the organization, as well as to create and update groups on behalf of the signed-in user.アプリはグループが属するグループの完全プロファイルを読み取ることもできます。The app can also read the full profile of the groups that a group is a member of.完全プロファイルには、Group エンティティのすべての宣言されたプロパティが含まれます。The full profile includes all of the declared properties of the Group entity.グループのメンバーのプロファイル情報を読み取るには、User.ReadBasic または User.Read.All もアプリに必要になります。To read the profiles of or update a group’s members, the app will also require either User.ReadBasic or User.Read.All.委任delegatedYesYes
Device.ReadWrite.AllDevice.ReadWrite.Allすべてのデバイスの読み書きRead and write all devicesサインイン ユーザーなしで、すべてのデバイス プロパティの読み書きをアプリに許可します。Allows the app to read and write all device properties without a signed in user.デバイス作成、デバイス削除、デバイスの代替セキュリティ ID の更新は許可されません。Does not allow device creation, device deletion, or update of device alternative security identifiers.アプリのみapp-onlyYesYes
Directory.Read.AllDirectory.Read.Allディレクトリ データの読み込みRead directory dataユーザー、グループ、アプリ、その関連ナビゲーション プロパティなど、組織のディレクトリのすべてのデータの読み取りをアプリに許可します。Allows the app to read all of the data in the organization's directory, such as users, groups, and apps, and their associated navigation properties.: アプリケーションが組織のテナントに登録されている場合、このアクセス許可を要求するアプリケーションを承諾できます。Note: Users may consent to applications that require this permission if the application is registered in their own organization’s tenant.アプリのみ、委任app-only, delegated[はい]Yes
Directory.ReadWrite.AllDirectory.ReadWrite.Allディレクトリ データの読み取りと書き込みRead and write directory data組織のディレクトリのすべてのデータの読み取りをアプリに許可します。Allows the app to read all of the data in the organization's directory.ユーザーとグループを作成し、更新することと、ナビゲーション プロパティを更新することをアプリに許可するが、ユーザーやグループを削除することは禁止されます。Allows the app to create and update users and groups, and update their navigation properties, but prohibits user or group deletion.アプリケーションでスキーマ拡張を定義することもアプリに許可されます。Also allows the app to define schema extensions on applications.特権の詳しい一覧については、下の「Directory.ReadWrite.All 特権の詳細」を参照してください。For a detailed list of privileges, see Directory.ReadWrite.All privileges detail below.アプリのみ、委任app-only, delegated[はい]Yes
Directory.AccessAsUser.AllDirectory.AccessAsUser.Allサインイン ユーザーとしてのディレクトリへのアクセスAccess directory as the signed-in userサインイン ユーザーとして、組織のディレクトリのデータに同じようにアクセスすることをアプリに許可します。Allows the app the same access to data in the organization's directory as the signed-in user.: ネイティブ クライアント アプリには、このアクセス許可のユーザー承諾を与えることができます。ただし、Web アプリの場合、管理者の承諾が必要になります。Note: A native client app can have the user consent to this permission however, a web app requires administrator consent.委任delegatedYesYes

: 既定では、Azure ポータルを使用してアプリを作成するとき、Azure AD は User.Read の委任アクセス許可スコープをアプリに割り当てます。Note: By default, when you create an app using the Azure portal, Azure AD assigns it a delegated permission scope of User.Read.

Directory.ReadWrite.All 特権の詳細Directory.ReadWrite.All privileges detail

Directory.ReadWrite.All アクセス許可スコープは次の特権を付与します。The Directory.ReadWrite.All permission scope grants the following privileges:

  • すべてのディレクトリ オブジェクトの完全読み取り (宣言されたプロパティとナビゲーション プロパティの両方)Full read of all directory objects (both declared properties and navigation properties)
  • ユーザーの作成と更新Create and update users
  • ユーザーの有効化と無効化 (会社の管理者を除く)Disable and enable users (but not company administrator)
  • ユーザーの代替セキュリティ ID の設定 (管理者を除く)Set user alternative security id (but not administrators)
  • グループの作成と更新Create and update groups
  • グループ メンバーシップの管理Manage group memberships
  • グループ所有者の更新Update group owner
  • ライセンス割り当ての管理Manage license assignments
  • アプリケーションでスキーマ拡張を定義するDefine schema extensions on applications
  • ユーザーの作成時に設定するパスワードを許可します。Allows password to be set when creating a user.
  • : ユーザー パスワードをリセットする権限はありませんNote: No rights to reset user passwords
  • : ユーザー パスワードを読み取る権限はありませんNote: No rights to read user passwords
  • : エンティティを削除する権限はありません (ユーザーまたはグループを含む)Note: No rights to delete entities (including users or groups)
  • : 上の一覧にないエンティティの作成または更新は明示的に除外します。Note: Specifically excludes create or update for entities not listed above.これには Application、Oauth2PermissionGrant、AppRoleAssignment、Device、ServicePrincipal、TenantDetail、ドメインなどが含まれます。This includes: Application, Oauth2PermissionGrant, AppRoleAssignment, Device, ServicePrincipal, TenantDetail, domains, etc.

アクセス許可スコープのシナリオ Permission scope scenarios

次の表は、特定の操作を実行するためにアプリに必要となるアクセス許可スコープをまとめたものです。The following table shows the permission scopes needed for an app to be able to perform specific operations.アプリが一部の操作を実行できるかどうかは、アクセス許可スコープ (「アプリのみ」または「委任」) に依存する場合があります。さらに、委任の場合は、サインイン ユーザーの特権により左右されます。Note that in some cases the ability of the app to perform some operations will depend on whether the permission scope is app-only or delegated, and, in the case of delegated permission scopes, on the privileges of the signed-in user.

通信の種類Scenario必要なアクセスAccess Required必要なアクセス許可スコープPermission Scope Needed
サインインし、ユーザーの名前とサムネイル写真を含むタイルを表示する。Sign-in and show a tile with the user's name and thumbnail photo.サインイン ユーザーの完全なプロファイルを読み取る。Read full profile of the signed-in user.
基本会社情報を読み取る。Read basic company information.
User.ReadUser.Read
基本的なユーザー選択ウィンドウ。Basic people picker.サインイン ユーザーの代理として、すべてのユーザーの基本プロファイルを読み取る。Read basic profile of all users on behalf of the signed-in user.User.ReadBasic.AllUser.ReadBasic.All
完全プロファイルを含むユーザー選択ウィンドウ。People picker with full profile.上記に加え、サインイン ユーザーの代理として、ユーザーの完全プロファイルにアクセスする。Same as above but access to full profile of users on behalf of the signed-in user.User.Read.AllUser.Read.All
組織図ナビゲーター。Org chart navigator.サインイン ユーザーの代理として、すべてのユーザー、そのマネージャー、直属の部下の完全プロファイルを読み取る。Read full profile of all users, their managers, and direct reports on behalf of the signed-in user.User.Read.AllUser.Read.All
アプリのアクセスを制御するグループを含むユーザー選択ウィンドウ。People picker that includes groups for access control to your app.

グループとメンバーシップのビューアー。Group and membership viewer.
サインイン ユーザーの代理として、すべてのグループとユーザーの基本プロファイルを読み取る。Read basic profile of all groups and users on behalf of the signed-in user.
ユーザーのマネージャーと直属の部下の基本ユーザー プロファイルを読み取る。Read basic user profiles for users' manager and direct reports.
ユーザーのグループ メンバーシップの基本プロファイルを読み取る。Read basic profile of users' group memberships.
グループのグループ メンバーシップの基本プロファイルを読み取る。Read basic profile of groups' group memberships.
グループのメンバーの基本プロファイルを読み取る。Read basic profile of groups' members
User.ReadBasic.All と Group.Read.AllUser.ReadBasic.All and Group.Read.All
サインイン ユーザーとユーザーのマネージャー、直属の部下、グループ メンバーシップのプロファイルを表示する。Show the profile of the signed-in user and the user's manager, direct reports, and group memberships.me 操作を使用して次の項目を読み取ります。Use me operations to read:
サインイン ユーザーの完全プロファイル。The full profile of the signed-in user.
サインイン ユーザーのマネージャーと直属の部下の完全プロファイル。The full profile of the signed-in user's manager and direct reports.
サインイン ユーザーが属するグループの基本プロファイル。The basic profile of the groups that the signed-in user is a member of.

: 2 つのスコープが組み合わされると、個々に明記されている me 操作のアクセス権以上のアクセス権が付与されます。Note: The combination of the two scopes grants more access than that noted here for me operations.
User.Read.All と Group.Read.AllUser.Read.All and Group.Read.All
グループの作成と管理をユーザーに許可するグループ管理サービス。Group management service that allows users to create and manage groups.サインイン ユーザーの代理として、すべてのグループとユーザーの完全プロファイルを読み取る。Read full profile of all groups and users on behalf of the signed-in user.
ユーザーのマネージャーと直属の部下の完全プロファイルを読み取る。Read full profiles for users' manager and direct reports.
ユーザーのグループ メンバーシップの完全プロファイルを読み取る。Read full profile of users' group memberships.
グループのグループ メンバーシップの完全プロファイルを読み取る。Read full profile of groups' group memberships.
グループのメンバーの完全プロファイルを読み取る。Read full profile of groups' members.
グループとそのナビゲーション プロパティ (メンバー) の作成と更新。Create and update groups and their navigation properties (members).
User.Read.All と Group.ReadWrite.AllUser.Read.All and Group.ReadWrite.All
すべてのディレクトリ オブジェクト (ナビゲーション プロパティを含む) を読み取る。Read all directory objects (including navigation properties).Directory.Read.AllDirectory.Read.All
すべてのディレクトリ オブジェクト (ナビゲーション プロパティを含む) を読み取る。Read all directory objects (including navigation properties).
ユーザーとグループのオブジェクトを作成し、更新する。Create and update user and group objects.
ユーザーやグループの削除は含まれません。No user or group deletion.

: ここに掲載されている権限がすべてではありません。Note: Not all privileges granted are listed here.
Directory.ReadWrite.AllDirectory.ReadWrite.All
サインイン ユーザーとして動作する。Act as the signed-in user.サインイン ユーザーの代理として、ディレクトリ オブジェクト (ナビゲーション プロパティを含む) を読み書きする。Read and write directory objects (including navigation properties) on behalf of the signed-in user.Directory.AccessAsUser.AllDirectory.AccessAsUser.All

管理者、ユーザー、ゲスト ユーザーの既定アクセス Default access for administrators, users, and guest users

次の表は、ディレクトリの (グローバル) 管理者、ユーザー、ゲスト ユーザーの既定アクセスをまとめたものです。The following table lists the default access of (global) administrators, users, and guest users in the directory.ディレクトリの構成設定や 1 つまたは複数のディレクトリ ロールのユーザーのメンバーシップによっては、既定のアクセス権がさらに付与されたり、制限されたりします。The default access may be further augmented or restricted based on configuration settings for the directory and/or a user's membership in one or more directory roles.ユーザーやゲスト ユーザーがディレクトリ データにアクセスするための権利の構成方法については、「Azure AD でユーザーを作成または編集する」を参照してください。For more detailed information about configuring the access of users and guest users to directory data, see Create or edit users in Azure AD.さまざまなディレクトリ ロールに関連付けられているアクセス権の詳細については、「Azure AD の管理者ロールの割り当て」を参照してください。For more information about the access associated with various directory roles, see Assigning administrator roles in Azure AD.

ユーザーの種類User TypeアクセスAccess
グローバル管理者Global Administratorすべてのディレクトリ オブジェクトの読み取り。Read all directory objects.
すべてのディレクトリ オブジェクトの作成、更新、削除。Create, Update, and Delete all directory objects
UserUserすべてのディレクトリ オブジェクトの読み取り。Read all directory objects.
アプリケーションと関連サービス プリンシパルの作成。Create applications and associated service principals.
自分のプロファイルの更新。Update their profile.
所有するグループ (とメンバー プロパティ) の更新。Update groups that they own (and the members property).
所有するアプリケーションとサービス プリンシパルの更新。Update applications and service principals that they own.
所有するアプリケーションとサービス プリンシパルの削除。Delete applications and service principals that they own.
ゲスト ユーザーGuest User自分の完全プロファイルの読み取り。Read their full profile.
他のすべてのユーザーの基本プロファイルの読み取り。Read the basic profiles of all other users
すべてのグループの基本プロファイルの読み取り。Read basic profile of all groups.
アプリケーションの読み取り。Read applications.
自分のプロファイルの一部のプロパティの更新。Update some properties of their profile.
ユーザーまたはグループは検索できません (下の「ゲスト ユーザーによるユーザーとグループの検索の制限」を参照)。No user or group search (see User and group search limitations for guest users below).

ゲスト ユーザーによるユーザーとグループの検索の制限User and group search limitations for guest users

ユーザーとグループの検索機能では、ユーザーまたはグループのリソース セットにクエリを実行することで、顧客ディレクトリのユーザーまたはグループをアプリで検索できます (https://graph.windows.net/myorganization/users?api-version=1.6 など)。User and group search capabilities allow the app to search for any user or group in the customer directory by performing queries against the users or groups resource set (for example, https://graph.windows.net/myorganization/users?api-version=1.6).管理者とユーザーの両方にこの機能が与えられます。Both administrators and users have this capability.ゲスト ユーザーには与えられません。Guest users do not.サインイン ユーザーがゲスト ユーザーの場合、アクセス許可スコープによっては、特定のユーザーまたはグループのプロファイルをアプリが読み取れます。ユーザーの場合はオブジェクト ID かユーザー プリンシパル名 (UPN) が、グループの場合はオブジェクト ID が使用されます (https://graph.windows.net/myorganization/users/241f22af-f634-44c0-9a15-c8cd2cea5531?api-version=1.6 など)。ただし、潜在的に複数のエンティティを要求するクエリをユーザーまたはグループ リソースに実行することはできません。If the signed-in user is a guest user, depending on the permission scope, an app can read the profile of a specific user or group by using the object ID or user principal name (UPN) for a user or the object ID for a group (for example, https://graph.windows.net/myorganization/users/241f22af-f634-44c0-9a15-c8cd2cea5531?api-version=1.6); however, it cannot perform queries against the users or groups resource set that potentially request more than one entity.たとえば、アクセス許可スコープによっては、アプリはナビゲーション プリンシパルのリンクをフォローして取得するユーザーまたはグループのプロファイルを読み取れるが、ディレクトリのすべてのユーザーまたはグループを返すクエリは発行できません。For example, depending on the permission scope, the app can read the profiles of users or groups that it obtains by following links in navigation properties, but it cannot issue a query to return all users or groups in the directory.

その他のリソースAdditional resources

© 2018 Microsoft