次の方法で共有


accessPackageResourceRequest を作成する

名前空間: microsoft.graph

新しい accessPackageResourceRequest オブジェクトを作成して、アクセス パッケージ カタログへのリソースの追加、リソースの更新、またはカタログからのリソースの削除を要求します。 そのリソースのロールをアクセス パッケージに追加するには、 リソースを アクセス パッケージ カタログに含める必要があります。

  • Microsoft Entra グループをリソースとしてカタログに追加するには、requestTypeadminAddに設定し、リソースを表すresourceを設定します。 resource内の originSystem プロパティの値はAadGroupする必要があり、originId の値はグループの識別子です。
  • Microsoft Entra アプリケーションをリソースとしてカタログに追加するには、requestTypeadminAddに設定し、リソースを表すresourceを設定します。 resource内の originSystem プロパティの値はAadApplicationする必要があり、originId の値は servicePrincipal の識別子です。
  • SharePoint Online サイトをリソースとしてカタログに追加するには、 requestTypeadminAddに設定し、リソースを表す resource を設定します。 resource内の originSystem プロパティの値はSharePointOnlineする必要があり、originId の値はサイトの URI です。
  • カタログからリソースを削除するには、requestTypeadminRemoveに設定し、削除するリソース オブジェクトのidを含むようにresourceを設定します。 リソース オブジェクトは、 リスト リソースを使用して取得できます。

この API は、次の国内クラウド展開で使用できます。

グローバル サービス 米国政府機関 L4 米国政府機関 L5 (DOD) 21Vianet が運営する中国

アクセス許可

この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。 アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、「アクセス許可のリファレンス」を参照してください。

アクセス許可の種類 最小特権アクセス許可 より高い特権のアクセス許可
委任 (職場または学校のアカウント) EntitlementManagement.ReadWrite.All 注意事項なし。
委任 (個人用 Microsoft アカウント) サポートされていません。 サポートされていません。
アプリケーション EntitlementManagement.ReadWrite.All 注意事項なし。

ヒント

職場または学校アカウントを使用した委任されたシナリオでは、サインインしているユーザーに、次のいずれかのオプションを使用して、サポートされているロールのアクセス許可を持つ管理者ロールも割り当てる必要があります。

アプリのみのシナリオでは、呼び出し元のアプリに、 EntitlementManagement.ReadWrite.All アプリケーションのアクセス許可ではなく、前述のサポートされているロールのいずれかを割り当てることができます。 カタログ所有者ロールの特権は、EntitlementManagement.ReadWrite.All アプリケーションのアクセス許可よりも低くなります。

さらに、追加するリソースに対する次のアクセス許可も必要です。

  • Microsoft Entra グループをリソースとしてカタログに追加するには:
  • 委任されたアクセス許可を使用する場合、グループの追加を要求するユーザーは、グループの所有者であるか、グループを変更できるディレクトリ ロールに含まれている必要があります。
  • アプリケーションのアクセス許可を使用している場合は、グループの追加を要求するアプリケーションにも、 Group.ReadWrite.All アクセス許可が割り当てられている必要があります。
  • Microsoft Entra アプリケーションをリソースとしてカタログに追加するには:
    • 委任されたアクセス許可を使用する場合、アプリケーションの追加を要求するユーザーは、アプリケーションの所有者であるか、アプリケーション ロールの割り当てを変更できるディレクトリ ロールに属している必要があります。
    • アプリケーションのアクセス許可を使用している場合は、 servicePrincipal の追加を要求するアプリケーションにも Application.ReadWrite.All アクセス許可が割り当てられている必要があります。
  • SharePoint Online サイトをリソースとしてカタログに追加するには:

HTTP 要求

POST /identityGovernance/entitlementManagement/resourceRequests

要求ヘッダー

名前 説明
Authorization ベアラー {token}。 必須です。 認証と認可についての詳細をご覧ください。
Content-Type application/json. 必須です。

要求本文

要求本文で、 accessPackageResourceRequest オブジェクトの JSON 表現を指定します。 accessPackageResource オブジェクトとのresource関係を要求の一部として含め、そのidを含むcatalog オブジェクトを含めます。

成功した場合、このメソッドは応答コード 201 Created と、応答本文に新しい accessPackageResourceRequest オブジェクトを返します。

例 1: グループをリソースとして追加するための accessPackageResourceRequest を作成する

要求

次の例は要求を示しています。

POST https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/resourceRequests
Content-type: application/json

{
  "requestType": "adminAdd",
  "resource": {
    "displayName": "Test group",
    "originId": "8ab659d0-3839-427d-8c54-5ae92f0b3e2e",
    "originSystem": "AadGroup"
  },
  "catalog": {
    "id": "beedadfe-01d5-4025-910b-84abb9369997"
  }
}

応答

次の例は応答を示しています。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

HTTP/1.1 201 Created
Content-type: application/json

{
  "id": "acc2294e-f37f-42d3-981d-4e83847ed0ce",
  "requestType": "adminAdd",
  "state": "delivered"
}

例 2: アプリケーションをリソースとして追加するための accessPackageResourceRequest を作成する

要求

次の例は要求を示しています。

POST https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/resourceRequests
Content-type: application/json

{
  "requestType": "adminAdd",
  "resource": {
    "originId": "e81d7f57-0840-45e1-894b-f505c1bdcc1f",
    "originSystem": "AadApplication"
  },
  "catalog": {
    "id": "beedadfe-01d5-4025-910b-84abb9369997"
  }
}

応答

次の例は応答を示しています。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

HTTP/1.1 201 Created
Content-type: application/json

{
  "id": "acc2294e-f37f-42d3-981d-4e83847ed0ce",
  "requestType": "adminAdd",
  "state": "delivered"
}

例 3: SharePoint Online サイトをリソースとして追加するための accessPackageResourceRequest を作成する

要求

次の例は要求を示しています。

POST https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/resourceRequests
Content-type: application/json

{
  "requestType": "adminAdd",
  "resource": {
    "originId": "https://microsoft.sharepoint.com/sites/Example",
    "originSystem": "SharePointOnline"
  },
  "catalog": {
    "id": "beedadfe-01d5-4025-910b-84abb9369997"
  }
}

応答

次の例は応答を示しています。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

HTTP/1.1 201 Created
Content-type: application/json

{
  "id": "acc2294e-f37f-42d3-981d-4e83847ed0ce",
  "requestType": "adminAdd",
  "state": "delivered"
}

例 4: リソースを削除するための accessPackageResourceRequest を作成する

要求

次の例は要求を示しています。

POST https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/resourceRequests
Content-type: application/json

{
  "requestType": "adminRemove",
  "resource": {
    "id": "1d0bb962-5bb0-4b16-a488-fda7a788b9ec"
  },
  "catalog": {
    "id": "beedadfe-01d5-4025-910b-84abb9369997"
  }
}

応答

次の例は応答を示しています。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

HTTP/1.1 201 Created
Content-type: application/json

{
  "id": "acc2294e-f37f-42d3-981d-4e83847ed0ce",
  "requestType": "adminRemove",
  "state": "delivered"
}

例 5: 属性を持つリソースとしてアプリケーションを更新するための accessPackageResourceRequest を作成する

次の例は、2 つの属性を持つリソースとして既に追加されているアプリケーションに対して、カタログ内のリソースを更新する要求を示しています。

要求

次の例は要求を示しています。

POST https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/resourceRequests
Content-type: application/json

{
  "requestType": "adminUpdate",
  "resource": {
    "originId": "e81d7f57-0840-45e1-894b-f505c1bdcc1f",
    "originSystem": "AadApplication",
    "attributes": [
      {
        "destination": {
          "@odata.type": "microsoft.graph.accessPackageUserDirectoryAttributeStore"
        },
        "name": "officeLocation",
        "source": {
          "@odata.type": "#microsoft.graph.accessPackageResourceAttributeQuestion",
          "question": {
            "@odata.type": "#microsoft.graph.accessPackageTextInputQuestion",
            "sequence": 1,
            "isRequired": true,
            "isAnswerEditable": true,
            "text": "What office do you work at?",
            "isSingleLineQuestion": true,
            "regexPattern": "[a-zA-Z]+[a-zA-Z\\s]*"
          }
        }
      },
      {
        "destination": {
          "@odata.type": "microsoft.graph.accessPackageUserDirectoryAttributeStore"
        },
        "name": "extension_e409fedc08ab4807a9eb53ebc0d6cc9f_Expense_CostCenter",
        "source": {
          "@odata.type": "#microsoft.graph.accessPackageResourceAttributeQuestion",
          "question": {
            "@odata.type": "#microsoft.graph.accessPackageTextInputQuestion",
            "isRequired": false,
            "text": "What is your cost center number?",
            "sequence": 0,
            "isSingleLineQuestion": true,
            "regexPattern": "[0-9]*"
          }
        }
      }
    ]
  },
  "catalog": {
    "id": "beedadfe-01d5-4025-910b-84abb9369997"
  }
}

応答

次の例は応答を示しています。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

HTTP/1.1 201 Created
Content-type: application/json

{
  "id": "acc2294e-f37f-42d3-981d-4e83847ed0ce",
  "requestType": "adminAdd",
  "state": "delivered"
}