チュートリアル: Microsoft Graph Api を使用して access パッケージを作成するTutorial: Create an access package using Microsoft Graph APIs

従業員が必要とするすべてのリソース (グループ、アプリケーション、サイトなど) へのアクセスを管理することは、組織にとって重要な機能です。Managing access to all the resources that employees need, such as groups, applications, and sites, is an important function for organizations. 生産性を高めるために必要なアクセスレベルを従業員に付与し、不要になった場合にアクセスを削除する。You want to grant employees the right level of access they need to be productive and remove their access when it is no longer needed. Azure Active Directory (AZURE AD) 受給管理 Microsoft Graph api を使用すると、この種のアクセスを管理できます。Azure Active Directory (Azure AD) entitlement management using Microsoft Graph APIs enables you to manage this type of access.

このチュートリアルでは、内部ユーザーがセルフサービス要求を行うことができるマーケティングキャンペーンのリソースのパッケージを作成するコードを開発するように求められています。In this tutorial, you've been asked to develop code to create a package of resources for a marketing campaign that internal users can self-service request. 要求は承認を必要とせず、30日後にユーザーのアクセスが有効期限切れになります。Requests do not require approval and user's access expires after 30 days. このチュートリアルでは、マーケティングキャンペーンリソースは単一のグループのメンバーであるだけでなく、グループ、アプリケーション、または SharePoint Online サイトのコレクションでもかまいません。For this tutorial, the marketing campaign resources are just membership in a single group, but it could be a collection of groups, applications, or SharePoint Online sites.

注: このチュートリアルに示されている応答オブジェクトは読みやすいように短縮されている場合があります。Note: The response objects shown in this tutorial might be shortened for readability.

前提条件Prerequisites

このチュートリアルを正常に完了するには、必要な前提条件を満たしていることを確認してください。To successfully complete this tutorial, make sure that you have the required prerequisites:

  • Azure AD 受給管理には特定のライセンスが必要です。Azure AD entitlement management requires specific licenses. 詳細については、「 ライセンス要件」を参照してください。For more information, see License requirements. テナントでは、次のライセンスが必要です。The following licenses are required in your tenant:
    • Azure AD Premium P2Azure AD Premium P2
    • Enterprise Mobility + Security (EMS) E5 ライセンスEnterprise Mobility + Security (EMS) E5 license
  • このチュートリアルでは、Microsoft Graph Explorer を使用していることを前提としていますが、Postman を使用するか、独自のクライアントアプリを作成して Microsoft Graph を呼び出すことができます。This tutorial assumes that you are using Microsoft Graph Explorer, but you can use Postman, or create your own client app to call Microsoft Graph. このチュートリアルの Microsoft Graph Api を呼び出すには、グローバル管理者ロールと適切なアクセス許可を持つアカウントを使用する必要があります。To call the Microsoft Graph APIs in this tutorial, you need to use an account with the global administrator role and the appropriate permissions. このチュートリアルでは、、、 User.ReadWrite.All Group.ReadWrite.All および EntitlementManagement.ReadWrite.All 委任されたアクセス許可が必要です。For this tutorial, the User.ReadWrite.All, Group.ReadWrite.All, and EntitlementManagement.ReadWrite.All delegated permissions are needed. Microsoft Graph Explorer でアクセス許可を設定するには、次の手順を実行します。Complete the following steps to set permissions in Microsoft Graph Explorer:
    1. Microsoft Graph Explorer を起動します。Start Microsoft Graph Explorer.

    2. [ Microsoft とのサインイン ] を選択して、Azure AD グローバル管理者アカウントを使用してサインインします。Select Sign-In with Microsoft and sign in using an Azure AD global administrator account. サインインに成功すると、左側のウィンドウにユーザーアカウントの詳細が表示されます。After you successfully sign in, you can see the user account details in the left-hand pane.

    3. ユーザーアカウントの詳細の右側にある [設定] アイコンを選択し、[ アクセス権の選択] を選択します。Select the settings icon to the right of the user account details, and then select Select permissions.

      Microsoft Graph のアクセス許可を選択する

    4. アクセス許可の一覧をスクロールして、[ Group グループ (2)] を展開します。Scroll through the list of permissions to the Group permissions, expand Group (2), select the Group.ReadWrite.All permission. アクセス許可の一覧をさらに下にスクロールし、[ User ユーザー (8)] を展開して、 ユーザーのすべて のアクセス許可を選択します。Scroll further down the list of permissions to the User permissions, expand User (8), and select the User.ReadWrite.All permission.

      ユーザー、グループ、および entitlementmanagement のアクセス許可を検索する

    5. [ 同意] を選択し、[ 同意 する] を選択して、アクセス許可の同意を承諾します。Select Consent, and then select Accept to accept the consent of the permissions. これらのアクセス許可については、組織の代わりに同意する必要はありません。You do not need to consent on behalf of your organization for these permissions.

    6. アクセス許可を検索し、 EntitlementManagement EntitlementManagement (2) を展開して、[ 付与 ] を選択し、[ 同意] を選択します。Search for the EntitlementManagement permissions, expand EntitlementManagement (2), select the Entitlement.ReadWrite.All permission, and then select Consent. このアクセス許可には管理者の同意が必要であるため、このチュートリアルで作成するユーザーアカウントで必要になるため、 組織の代わりに同意を選択する必要があります。Because this permission requires admin consent and is needed by a user account that you create in this tutorial, you must select Consent on behalf of your organization.

      組織の同意

    7. [ 承諾 ] を選択して、アクセス許可の同意を承諾します。Select Accept to accept the consent of the permissions.

手順 1: ユーザーアカウントとグループを作成するStep 1: Create a user account and a group

この手順では、資格情報管理用のターゲットリソースであるディレクトリに、 Marketing リソース という名前のグループを作成します。In this step, you create a group named Marketing resources in the directory that is the target resource for entitlement management. 内部リクエスターとして設定されたユーザーアカウントも作成します。You also create a user account that is set up as an internal requestor.

ユーザーアカウントを作成するCreate a user account

このチュートリアルでは、アクセスパッケージ内のリソースへのアクセスを要求するために使用されるユーザーアカウントを作成します。For this tutorial, you create a user account that is used to request access to the resources in the access package. これらの呼び出しを行う場合は、 contoso.onmicrosoft.com テナントのドメイン名に変更します。When you make these calls, change contoso.onmicrosoft.com to the domain name of your tenant. [Azure Active Directory の概要] ページで、テナント情報を見つけることができます。You can find tenant information on the Azure Active Directory overview page. このチュートリアルで後で使用するために返される id プロパティの値を記録します。Record the value of the id property that is returned to be used later in the tutorial.

要求Request

POST https://graph.microsoft.com/v1.0/users
Content-type: application/json

{
  "accountEnabled":true,
  "displayName":"Requestor1",
  "mailNickname":"Requestor1",
  "userPrincipalName":"Requestor1@contoso.onmicrosoft.com",
  "passwordProfile": {
    "forceChangePasswordNextSignIn":true,
    "password":"Contoso1234"
  }
}

応答Response

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users/$entity",
  "id": "007d1c7e-7fa8-4e33-b678-5e437acdcddc",
  "deletedDateTime": null,
  "accountEnabled": true,
  "ageGroup": null,
  "businessPhones": [],
  "city": null,
  "createdDateTime": null,
  "creationType": null,
  "companyName": null,
  "consentProvidedForMinor": null,
  "country": null,
  "department": null,
  "displayName": "Requestor1",
  "employeeId": null,
  "faxNumber": null,
  "givenName": null,
  "imAddresses": [],
  "infoCatalogs": [],
  "isResourceAccount": null,
  "jobTitle": null,
  "legalAgeGroupClassification": null,
  "mail": null,
  "mailNickname": "Requestor1",
}

グループの作成Create a group

このチュートリアルでは、利用資格管理のターゲットリソースである Marketing リソース という名前のグループを作成します。In this tutorial, you create a group named Marketing resources that is the target resource for entitlement management. 既存のグループが既にある場合は、そのグループを使用できます。You can use an existing group if you already have one. このチュートリアルで後で使用するために返される id プロパティの値を記録します。Record the value of the id property that is returned to use later in this tutorial.

要求Request

POST https://graph.microsoft.com/v1.0/groups
Content-type: application/json

{
  "description":"Marketing group",
  "displayName":"Marketing resources",
  "mailEnabled":false,
  "mailNickname":"markres",
  "securityEnabled":true
}

応答Response

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#groups/$entity",
  "id": "e93e24d1-2b65-4a6c-a1dd-654a12225487",
  "deletedDateTime": null,
  "classification": null,
  "createdDateTime": "2020-06-24T16:47:37Z",
  "createdByAppId": "de8bc8b5-d9f9-48b1-a8ad-b748da725064",
  "description": "Marketing group",
  "displayName": "Marketing resources",
  "expirationDateTime": null,
  "groupTypes": [],
  "infoCatalogs": [],
  "isAssignableToRole": null,
  "mail": null,
  "mailEnabled": false,
  "mailNickname": "markres"
}

手順 2: リソースをカタログに追加し、アクセスパッケージを作成するStep 2: Add resources to a catalog and create an access package

Access パッケージは、チームまたはプロジェクトが必要とし、ポリシーによって管理されるリソースのバンドルです。An access package is a bundle of resources that a team or project needs and is governed with policies. アクセスパッケージは、カタログと呼ばれるコンテナーで定義されます。Access packages are defined in containers called catalogs. カタログは、アクセスパッケージで使用される、グループ、アプリ、サイトなどのリソースを参照できます。Catalogs can reference resources, such as groups, apps and sites, that are used in the access package. この手順では、一般的なカタログに マーケティングキャンペーン アクセスパッケージを作成します。In this step, you create a Marketing Campaign access package in the General catalog. 別のカタログがある場合は、次のセクションでその名前を使用します。If you have a different catalog, use its name in the next section.

カタログ識別子を取得するGet the catalog identifier

カタログにリソースを追加するには、最初にその識別子を取得する必要があります。To add resources to the catalog, you must first get the identifier of it. 一般的なカタログを使用している場合は、次の要求を実行してその識別子を取得します。If you are using the General catalog, run the following request to get its identifier. 別のカタログを使用している場合は、要求のフィルター値をカタログの名前に変更します。If you are using a different calalog, change the filter value in the request to the name of your catalog. このチュートリアルで後で使用するために返される id プロパティの値を記録します。Record the value of the id property that is returned to use later in this tutorial.

要求Request

GET https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageCatalogs?$filter=(displayName eq 'General')

応答Response

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#accessPackageCatalogs",
  "value": [ 
    {
      "id": "cec5d6ab-c75d-47c0-9c1c-92e89f66e384",
      "displayName": "General",
      "description": "Built-in catalog.",
      "catalogType": "ServiceDefault",
      "catalogStatus": "Published",
      "isExternallyVisible": true,
      "createdBy": "Azure AD",
      "createdDateTime": "2020-05-30T10:58:05.363Z",
      "modifiedBy": "Azure AD",
      "modifiedDateTime": "2020-05-30T10:58:05.363Z"
    }
  ]
}

応答には、要求で指定した名前のカタログのみが含まれている必要があります。The response should only contain the catalog whose name you provided in the request. 値が返されない場合は、続行する前に、カタログの名前が正しいことを確認してください。If there are no values returned, check that the name of the catalog is correct before you proceed.

カタログにグループを追加するAdd the group to the catalog

カタログに作成したグループを追加するには、次のプロパティ値を指定します。To add the group that you created to the catalog, provide the following property values:

  • catalogid -使用しているカタログのidcatalogId - the id of the catalog that you are using
  • displayName -グループの名前displayName - the name of the group
  • description -グループの説明description - the description of the group
  • [発信者 id ]-作成したグループのidです。originId - the id of the group that you created

要求Request

POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageResourceRequests
Content-type: application/json

{
  "catalogId":"cec5d6ab-c75d-47c0-9c1c-92e89f66e384",
  "requestType": "AdminAdd",
  "justification": "",
  "accessPackageResource": {
    "displayName": "Marketing resources",
    "description": "Marketing group",
    "resourceType": "AadGroup",
    "originId": "e93e24d1-2b65-4a6c-a1dd-654a12225487",
    "originSystem": "AadGroup"
  }
}

応答Response

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#identityGovernance/entitlementManagement/accessPackageResourceRequests/$entity",
  "catalogId": "cec5d6ab-c75d-47c0-9c1c-92e89f66e384",
  "executeImmediately": false,
  "id": "44e521e0-fb6b-4d5e-a282-e7e68dc59493",
  "requestType": "AdminAdd",
  "requestState": "Delivered",
  "requestStatus": "Fulfilled",
  "isValidationOnly": false,
  "expirationDateTime": null,
  "justification": ""
}

カタログリソースを取得するGet catalog resources

このチュートリアルの後の手順では、カタログ内のグループリソースに割り当てられた id を指定する必要があります。In later steps in this tutorial, you need the id that was assigned to the group resource in the catalog. この識別子は、カタログ内のリソースとしてグループを表すもので、Microsoft Graph のグループ自体の識別子とは異なります。This identifier, which represents the group as a resource in the catalog, is different than the identifier of the group itself in Microsoft Graph. これは、カタログには Microsoft Graph では表現されないリソースがあるためです。This is because a catalog can have resources which aren't represented in Microsoft Graph.

要求で、使用しているカタログの id を指定します。In the request, provide the id of the catalog that you are using. グループカタログリソースの id プロパティの値を記録します。Record the value of the id property for the group catalog resource.

要求Request

GET https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageCatalogs/cec5d6ab-c75d-47c0-9c1c-92e89f66e384/accessPackageResources?$filter=(displayName eq 'Marketing resources')

応答Response

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#accessPackageResources",
  "value": [
    {
      "id": "4a1e21c5-8a76-4578-acb1-641160e076e8",
      "displayName": "Marketing resources",
      "description": "Marketing group",
      "url": "https://account.activedirectory.windowsazure.com/r?tenantId=d3030981-8fb9-4919-9980-5580caeddd75#/manageMembership?objectType=Group&objectId=e93e24d1-2b65-4a6c-a1dd-654a12225487",
      "resourceType": "Security Group",
      "originId": "e93e24d1-2b65-4a6c-a1dd-654a12225487",
      "originSystem": "AadGroup",
      "isPendingOnboarding": false,
      "addedBy": "admin@contoso.onmicrosoft.com",
      "addedOn": "2020-08-21T19:27:29.967Z"
    }
  ]
}

リソースの役割を取得するGet resources roles

アクセスパッケージは、ユーザーをリソースの役割に割り当てます。The access package assigns users to the roles of a resource. グループの一般的な役割は、メンバーの役割です。The typical role of a group is the member role. SharePoint Online サイトやアプリケーションなどのその他のリソースは、多くの役割を持っている場合があります。Other resources, such as SharePoint Online sites and applications, might have many roles. アクセスパッケージで使用されるグループの一般的な役割は、メンバーの役割です。The typical role of a group used in an access package is the member role. このチュートリアルで後述するように、access パッケージにリソースの役割を追加するときには、メンバーの役割が必要になります。You'll need the member role when you add a resource role to the access package later in this tutorial.

要求で、カタログの id と、記録したカタログ内のグループリソースの id を使用して、Member Resource 役割の 発信者 id を取得します。In the request, use the id of the catalog and the id of the group resource in the catalog that you recorded to get the originId of the Member resource role. このチュートリアルで使用する場合は、" 発信者 id " プロパティの値を記録しておきます。Record the value of the originId property to use later in this tutorial.

要求Request

GET https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageCatalogs/cec5d6ab-c75d-47c0-9c1c-92e89f66e384/accessPackageResourceRoles?$filter=(originSystem+eq+%27AadGroup%27+and+accessPackageResource/id+eq+%274a1e21c5-8a76-4578-acb1-641160e076e8%27+and+displayName+eq+%27Member%27)&$expand=accessPackageResource

応答Response

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#identityGovernance/entitlementManagement/accessPackageCatalogs('ede67938-cda7-4127-a9ca-7c7bf86a19b7')/accessPackageResourceRoles(accessPackageResource())",
  "value": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "displayName": "Member",
      "description": null,
      "originSystem": "AadGroup",
      "originId": "Member_e93e24d1-2b65-4a6c-a1dd-654a12225487",
      "accessPackageResource@odata.context": "https://graph.microsoft.com/beta/$metadata#identityGovernance/entitlementManagement/accessPackageCatalogs('cec5d6ab-c75d-47c0-9c1c-92e89f66e384')/accessPackageResourceRoles('00000000-0000-0000-0000-000000000000')/accessPackageResource/$entity",
      "accessPackageResource": {
        "id": "4a1e21c5-8a76-4578-acb1-641160e076e8",
        "displayName": "Marketing resources",
        "description": "Marketing group",
        "url": "https://account.activedirectory.windowsazure.com/r?tenantId=d3030981-8fb9-4919-9980-5580caeddd75#/manageMembership?objectType=Group&objectId=e93e24d1-2b65-4a6c-a1dd-654a12225487",
        "resourceType": "Security Group",
        "originId": "e93e24d1-2b65-4a6c-a1dd-654a12225487",
        "originSystem": "AadGroup",
        "isPendingOnboarding": false,
        "addedBy": "admin@contoso.onmicrosoft.com",
        "addedOn": "2020-06-26T17:13:23.723Z",
        "accessPackageResourceScopes@odata.context": "https://graph.microsoft.com/beta/$metadata#identityGovernance/entitlementManagement/accessPackageCatalogs('cec5d6ab-c75d-47c0-9c1c-92e89f66e384')/accessPackageResourceRoles('00000000-0000-0000-0000-000000000000')/accessPackageResource/accessPackageResourceScopes",
        "accessPackageResourceScopes": []
      }
    }
  ]
}

成功した場合、1つの値が返され、そのグループのメンバーロールを表します。If successful, a single value is returned, which represents the Member role of that group. ロールが返されない場合は、カタログの id 値とアクセスパッケージリソースを確認します。If no roles are returned, check the id values of the catalog and the access package resource.

Access パッケージを作成するCreate the access package

この時点で、グループリソースを含むカタログがあり、アクセスパッケージでグループメンバーのリソースロールを使用することがわかっていることがわかります。At this point, you have a catalog with a group resource, and you know that you'll use the resource role of group member in the access package. 次の手順では、access パッケージを作成します。The next step is to create the access package. アクセスパッケージを取得したら、そのパッケージにリソースの役割を追加し、ユーザーがそのリソースの役割へのアクセスを要求する方法についてのポリシーを作成できます。After you have the access package, you can add the resource role to it, and create a policy for how users can request access to that resource role. 以前に記録したカタログの id を使用して、access パッケージを作成します。You use the id of the catalog that you recorded earlier to create the access package. このチュートリアルで後述するアクセスパッケージの id を記録します。Record the id of the access package to use later in this tutorial.

要求Request

POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackages
Content-type: application/json

{
  "catalogId": "cec5d6ab-c75d-47c0-9c1c-92e89f66e384",
  "displayName": "Marketing Campaign",
  "description": "Access to resources for the campaign"
}

応答Response

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#identityGovernance/entitlementManagement/accessPackages/$entity",
  "id": "88203d16-0e31-41d4-87b2-dd402f1435e9",
  "catalogId": "cec5d6ab-c75d-47c0-9c1c-92e89f66e384",
  "displayName": "Marketing Campaign",
  "description": "Access to resources for the campaign",
  "isHidden": false,
  "isRoleScopesVisible": false,
  "createdBy": "admin@contoso.onmicrosoft.com",
  "createdDateTime": "2020-08-21T19:45:33.2042281Z",
  "modifiedBy": "admin@contoso.onmicrosoft.com",
  "modifiedDateTime": "2020-08-21T19:45:33.2042281Z"
}

リソースの役割をアクセスパッケージに追加するAdd a resource role to the access package

グループリソースのメンバーの役割をアクセスパッケージに追加します。Add the Member role of the group resource to the access package. 要求で、アクセスパッケージの id を指定します。In the request, provide the id of the access package. 要求本文で、accessPackageResource のグループカタログリソースの id を指定し、以前に記録したメンバーロールの 発信者 id を指定します。In the request body provide the id of the group catalog resource for accessPackageResource, and provide the originId of the Member role that you previously recorded.

要求Request

POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackages/88203d16-0e31-41d4-87b2-dd402f1435e9/accessPackageResourceRoleScopes
Content-type: application/json

{
  "accessPackageResourceRole": {
    "originId":"Member_e93e24d1-2b65-4a6c-a1dd-654a12225487",
    "displayName":"Member",
    "originSystem":"AadGroup",
    "accessPackageResource": {
      "id":"4a1e21c5-8a76-4578-acb1-641160e076e8","resourceType":"Security Group",  
      "originId":"e93e24d1-2b65-4a6c-a1dd-654a12225487","originSystem":"AadGroup"
    }
  },
  "accessPackageResourceScope": {
    "originId":"e93e24d1-2b65-4a6c-a1dd-654a12225487","originSystem":"AadGroup"
  }
}

応答Response

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#identityGovernance/entitlementManagement/accessPackages('88203d16-0e31-41d4-87b2-dd402f1435e9')/accessPackageResourceRoleScopes/$entity",
  "id": "e081321b-2802-4834-a6ca-6f598ce3cdf7_6dbd2209-9d14-4c76-b92b-fcb00e835fe1",
  "createdBy": "admin@contoso.onmicrosoft.com",
  "createdDateTime": "2020-08-21T19:56:00.6320729Z",
  "modifiedBy": "admin@contoso.onmicrosoft.com",
  "modifiedDateTime": "2020-08-21T19:56:00.6320729Z"
}

これで、アクセスパッケージには、1つのリソースの役割 (グループメンバーシップ) が与えられました。The access package now has one resource role, which is group membership. この役割は、アクセスパッケージを持つすべてのユーザーに割り当てられます。The role is assigned to any user who has the access package.

アクセスパッケージポリシーを作成するCreate an access package policy

アクセスパッケージを作成し、リソースとロールを追加したので、アクセスパッケージポリシーを作成することによってアクセスできるユーザーを決定することができます。Now that you created the access package and added resources and roles, you can decide who can access it by creating an access package policy. このチュートリアルでは、作成した Requestor1 アカウントを有効にして、アクセスパッケージ内のリソースへのアクセスを要求します。In this tutorial, you enable the Requestor1 account that you created to request access to the resources in the access package. このタスクでは、次の値が必要です。For this task, you need these values:

  • accessPackageIdプロパティの値のアクセスパッケージのidid of the access package for the value of the accessPackageId property
  • Allowedrequestorsidプロパティの値に対応するRequestor1ユーザーアカウントのidid of the Requestor1 user account for the value of the id property in allowedRequestors

DurationInDaysプロパティの値を使用すると、 Requestor1アカウントは、最大30日間、アクセスパッケージ内のリソースにアクセスできます。The value of the durationInDays property enables the Requestor1 account to access the resources in the access package for up to 30 days. このチュートリアルで後で使用するために返される id プロパティの値を記録します。Record the value of the id property that is returned to use later in this tutorial.

要求Request

POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageAssignmentPolicies
Content-type: application/json

{
  "accessPackageId": "88203d16-0e31-41d4-87b2-dd402f1435e9",
  "displayName": "Specific users",
  "description": "Specific users can request assignment",
  "accessReviewSettings": null,
  "durationInDays": 30,
  "requestorSettings": {
    "scopeType": "SpecificDirectorySubjects",
    "acceptRequests": true,
    "allowedRequestors": [
       {
         "@odata.type": "#microsoft.graph.singleUser",
         "isBackup": false,
         "id": "007d1c7e-7fa8-4e33-b678-5e437acdcddc",
         "description": "Requestor1"
       }
    ]
  },
  "requestApprovalSettings": {
    "isApprovalRequired": false,
    "isApprovalRequiredForExtension": false,
    "isRequestorJustificationRequired": false,
    "approvalMode": "NoApproval",
    "approvalStages": []
  }
}

応答Response

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#accessPackageAssignmentPolicies/$entity",
  "id": "db440482-1210-4a60-9b55-3ac7a72f63ba",
  "accessPackageId": "88203d16-0e31-41d4-87b2-dd402f1435e9",
  "displayName": "Specific users",
  "description": "Specific users can request assignment",
  "canExtend": false,
  "durationInDays": 30,
  "expirationDateTime": null,
  "createdBy": "admin@contoso.onmicrosoft.com",
  "createdDateTime": "2020-06-29T19:47:44.7399675Z",
  "modifiedBy": "admin@contoso.onmicrosoft.com",
  "modifiedDateTime": "2020-06-29T19:47:44.7555489Z",
  "accessReviewSettings": null,
  "requestorSettings": {
    "scopeType": "SpecificDirectorySubjects",
    "acceptRequests": true,
    "allowedRequestors": [
      {
        "@odata.type": "#microsoft.graph.singleUser",
        "isBackup": false,
        "id": "007d1c7e-7fa8-4e33-b678-5e437acdcddc",
        "description": "Requestor1"
      }
    ]
  },
  "requestApprovalSettings": {
    "isApprovalRequired": false,
    "isApprovalRequiredForExtension": false,
    "isRequestorJustificationRequired": false,
    "approvalMode": "NoApproval",
    "approvalStages": []
  }
}

手順 3: アクセス権を要求するStep 3: Request access

この手順では、 Requestor1 ユーザーアカウントは、アクセスパッケージ内のリソースへのアクセスを要求します。In this step, the Requestor1 user account requests access to the resources in the access package.

アクセスパッケージ内のリソースへのアクセスを要求するには、次の値を指定する必要があります。To request access to resources in the access package, you need to provide these values:

  • Targetidプロパティの値として作成したRequestor1ユーザーアカウントのidid of the Requestor1 user account that you created for the value of the targetId property
  • assignment policyidプロパティの値の割り当てポリシーのidid of the assignment policy for the value of the assignmentPolicyId property
  • accessPackageIdプロパティの値のアクセスパッケージのidid of the access package for the value of accessPackageId property

応答には、状態が [ 承認 済み] と [ 送信済み] の状態が表示されます。In the response you can see the status of Accepted and a state of Submitted. 後で要求の状態を取得するために返される id プロパティの値を記録します。Record the value of the id property that is returned to get the status of the request later.

まだ行っていない場合は、Microsoft Graph Explorer で使用していた管理者アカウントからサインアウトします。If you haven't done so already, sign out of the administrator account that you were using in Microsoft Graph Explorer. 作成した Requestor1 ユーザーアカウントにサインインします。Sign in to the Requestor1 user account that you created. 初めてサインインするときは、パスワードを変更するように求められます。You will be asked to change the password if it is the first time you are signing in.

要求Request

POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageAssignmentRequests
Content-type: application/json

{
  "requestType": "UserAdd",
  "accessPackageAssignment":{
     "targetId":"007d1c7e-7fa8-4e33-b678-5e437acdcddc",
     "assignmentPolicyId":"db440482-1210-4a60-9b55-3ac7a72f63ba",
     "accessPackageId":"88203d16-0e31-41d4-87b2-dd402f1435e9"
  }
}

応答Response

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#accessPackageAssignmentRequests/$entity",
    "createdDateTime": null,
    "completedDate": null,
    "id": "a6bb6942-3ae1-4259-9908-0133aaee9377",
    "requestType": "UserAdd",
    "requestState": "Submitted",
    "requestStatus": "Accepted",
    "isValidationOnly": false,
    "expirationDateTime": null,
    "justification": null
}

手順 4: アクセスが割り当てられていることを検証するStep 4: Validate that access has been assigned

この手順では、 Requestor1 ユーザーアカウントにアクセスパッケージが割り当てられており、それが Marketing resources グループのメンバーであることを確認します。In this step, you confirm that the Requestor1 user account was assigned the access package and that they are now a member of the Marketing resources group.

Requestor1 アカウントからサインアウトし、管理者アカウントにもう一度サインインして、要求の状態を表示します。Sign out of the Requestor1 account and sign back in to the administrator account to see the status of the request.

要求の状態を取得するGet the status of the request

要求の id プロパティの値を使用して、現在の状態を取得します。Use the value of the id property of the request to get the current status of it. 応答では、状態が "処理済み " に変更 され、状態が [ 配信済み] に変更されたことを確認できます。In the response, you can see the status changed to Fulfilled and the state changed to Delivered.

要求Request

GET https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageAssignmentRequests/a6bb6942-3ae1-4259-9908-0133aaee9377

応答Response

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#accessPackageAssignmentRequests/$entity",
  "createdDateTime": "2020-06-29T20:24:24.683Z",
  "completedDate": "2020-06-29T20:24:47.937Z",
  "id": "a6bb6942-3ae1-4259-9908-0133aaee9377",
  "requestType": "UserAdd",
  "requestState": "Delivered",
  "requestStatus": "FulfilledNotificationTriggered",
  "isValidationOnly": false,
  "expirationDateTime": null,
  "justification": null
}

アクセスパッケージの割り当てを取得するGet access package assignments

作成したアクセスパッケージポリシーの id を使用して、リソースが Requestor1 ユーザーアカウントに割り当てられていることを確認することもできます。You can also use the id of the access package policy that you created to see that resources have been assigned to the Requestor1 user account.

要求Request

GET https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageAssignments?$filter=accessPackageAssignmentPolicy/Id eq 'db440482-1210-4a60-9b55-3ac7a72f63ba'

応答Response

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#accessPackageAssignments",
  "value": [
    {
      "id": "a6bb6942-3ae1-4259-9908-0133aaee9377",
      "catalogId": "cec5d6ab-c75d-47c0-9c1c-92e89f66e384",
      "accessPackageId": "88203d16-0e31-41d4-87b2-dd402f1435e9",
      "assignmentPolicyId": "db440482-1210-4a60-9b55-3ac7a72f63ba",
      "targetId": "2bc42425-6dc5-4f2a-9ebb-7a7464481eb0",
      "assignmentStatus": "Delivered",
      "assignmentState": "Delivered",
      "isExtended": false,
      "expiredDateTime": null
    }
  ]
}

グループのメンバーを取得するGet the members of the group

要求が許可された後、 Marketing resourcesグループに記録したidを使用して、 Requestor1ユーザーアカウントが追加されたことを確認できます。After the request has been granted, you can use the id that you recorded for the Marketing resources group to see that the Requestor1 user account has been added to it.

要求Request

GET https://graph.microsoft.com/v1.0/groups/e93e24d1-2b65-4a6c-a1dd-654a12225487/members

応答:Response:

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#directoryObjects",
  "value": [
    {
      "@odata.type": "#microsoft.graph.user",
      "id": "007d1c7e-7fa8-4e33-b678-5e437acdcddc",
      "deletedDateTime": null,
      "accountEnabled": true,
      "ageGroup": null,
      "businessPhones": [],
      "city": null,
      "createdDateTime": "2020-06-23T18:43:24Z",
      "creationType": null,
      "companyName": null,
      "consentProvidedForMinor": null,
      "country": null,
      "department": null,
      "displayName": "Requestor1",
      "employeeId": null,
      "faxNumber": null,
      "givenName": null,
      "imAddresses": [],
      "infoCatalogs": [],
      "isResourceAccount": null,
      "jobTitle": null,
      "legalAgeGroupClassification": null,
      "mail": null,
      "mailNickname": "Requestor1"
    }
  ]
}

手順 5: リソースをクリーンアップするStep 5: Clean up resources

この手順では、加えた変更を削除して、 マーケティングキャンペーン アクセスパッケージを削除します。In this step, you remove the changes you made and delete the Marketing Campaign access package.

アクセスパッケージの割り当てを削除するRemove an access package assignment

削除する前に、アクセスパッケージへの割り当てを削除する必要があります。You must remove any assignments to the access package before you can delete it. 以前に記録した割り当て要求の id を使用して、それを削除します。Use the id of the assignment request that you previously recorded to delete it.

要求Request

POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageAssignmentRequests
Content-type: application/json

{
  "requestType": "AdminRemove",
  "accessPackageAssignment":{
     "id": "a6bb6942-3ae1-4259-9908-0133aaee9377"
  }
}

応答Response

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#accessPackageAssignmentRequests/$entity",
    "createdDateTime": null,
    "completedDate": null,
    "id": "78eaee8c-e6cf-48c9-8f99-aae44c35e379",
    "requestType": "AdminRemove",
    "requestState": "Submitted",
    "requestStatus": "Accepted",
    "isValidationOnly": false,
    "expirationDateTime": null,
    "justification": null
}

アクセスパッケージの割り当てポリシーを削除するDelete the access package assignment policy

以前に記録した割り当てポリシーの id を使用して、それを削除します。Use the id of the assignment policy that you previously recorded to delete it. 最初にすべての割り当てが削除されていることを確認してください。Make sure all assignments are removed first.

要求Request

DELETE https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageAssignmentPolicies/6c1f65ec-8c25-4a45-83c2-a1de2a6d0e9f

応答Response

No Content - 204

アクセスパッケージを削除するDelete the access package

以前記録した access パッケージの id を使用して削除します。Use the id of the access package that you previously recorded to delete it.

要求Request

DELETE https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackages/cf54c6ca-d717-49bc-babe-d140d035dfdd

応答Response

No Content - 204

ユーザーアカウントを削除するDelete the user account

Requestor1ユーザーアカウントを削除します。Delete the Requestor1 user account.

要求Request

DELETE https://graph.microsoft.com/v1.0/users/ce02eca8-752b-4ecf-ac29-aa9bccd87606

応答Response

No Content - 204

グループのメンバーを追加または削除するDelete the group

[ マーケティングリソース ] グループを削除します。Delete the Marketing resources group.

要求Request

DELETE https://graph.microsoft.com/v1.0/groups/a468eaea-ed6c-4290-98d2-a96bb1cb4209

応答Response

No Content - 204

関連項目See also

このチュートリアルでは、タスクを実行するために多くの Api を使用しています。In this tutorial, you used many APIs to accomplish tasks. Api によって可能になることの詳細については、これらの Api の API リファレンスを参照してください。Explore the API reference for these APIs to learn more about what the APIs can do.