servicePrincipals を一覧表示する

名前空間: microsoft.graph

重要

Microsoft Graph の /beta バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。

servicePrincipal オブジェクトの一覧を取得します。

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

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

アクセス許可

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

アクセス許可の種類 最小特権アクセス許可 特権の高いアクセス許可
委任 (職場または学校のアカウント) Application.Read.All Application.ReadWrite.All、Directory.Read.All、Directory.ReadWrite.All
委任 (個人用 Microsoft アカウント) サポートされていません。 サポートされていません。
アプリケーション Application.Read.All Application.ReadWrite.OwnedBy、Application.ReadWrite.All、Directory.Read.All

注:

サービス プリンシパルは、アプリケーションのアクセス許可を付与されていなくても、独自のアプリケーションとサービス プリンシパルの詳細を取得できます。 Application.ReadWrite.OwnedBy アクセス許可を使用すると、アプリがテナント内のすべてのアプリケーションとサービス プリンシパルを呼び出してGET /applicationsGET /servicePrincipals一覧表示できます。 このアクセス範囲は、アクセス許可に対して許可されています。

HTTP 要求

GET /servicePrincipals

オプションのクエリ パラメーター

このメソッドは、応答のカスタマイズに$count$filter$expand$orderby役立つ、、$search$select、および$top OData クエリ パラメーターをサポートします。 既定のページ サイズと最大ページ サイズは、それぞれ 100 および 999 のサービス プリンシパル オブジェクトです。 クエリの中には、ConsistencyLevel ヘッダーの設定を eventual および $count に使用した場合にのみサポートされるものもあります。 詳細については、「ディレクトリ オブジェクトの詳細クエリ機能」を参照してください。

既定では、この API は、すべてのサービス プリンシパルを一覧表示するときに、keyCredentials プロパティに key の値を返しません。 key で公開キー情報を取得するには、keyCredentials プロパティは、$select クエリで指定する必要があります。 たとえば、$select=id,appId,keyCredentials などです。

アプリケーションで $select を使用して keyCredentials を取得するには、テナントごとに 1 分あたり 150 要求の調整制限があります。

要求ヘッダー

名前 説明
Authorization ベアラー {token}。 必須です。 認証と承認の詳細については、こちらをご覧ください。
ConsistencyLevel 最終的。 このヘッダーと $count は、$search を使用する場合、または $filter の特別な使用をする場合に必要です。 ConsistencyLevel$countの使用の詳細については、「ディレクトリ オブジェクトに対する高度なクエリ機能」を参照してください。

要求本文

このメソッドには、要求本文を指定しません。

応答

成功した場合、このメソッドは 200 OK 応答コードと、応答本文で servicePrincipal オブジェクトのコレクションを返します。

例 1: サービス プリンシパルの一覧を取得する

要求

GET https://graph.microsoft.com/beta/servicePrincipals

応答

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

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

HTTP/1.1 200 OK
Content-type: application/json

{
  "value": [
    {
      "accountEnabled":true,
      "displayName":"amasf",
      "publisherName":"Contoso",
      "servicePrincipalType":"Application",
      "signInAudience":"AzureADMyOrg"
    }
  ]
}

例 2: サービス プリンシパルの数のみを取得する

要求

次の例は要求を示しています。 この要求では、$count が要求にあるため、ConsistencyLevel ヘッダーを eventual に設定する必要があります。 ConsistencyLevel$countの使用の詳細については、「ディレクトリ オブジェクトに対する高度なクエリ機能」を参照してください。

注:$countおよび$searchのクエリパラメーターは、現在 Azure ADB2C テナントでは使用できません。

GET https://graph.microsoft.com/beta/servicePrincipals/$count
ConsistencyLevel: eventual

応答

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

HTTP/1.1 200 OK
Content-type: text/plain

893

例 3: $filter と $top を使用して、「a」で始まる表示名のサービス プリンシパルを 1 つ取得する (返されたオブジェクトの数も含む)

要求

次の例は要求を示しています。 この要求では、$orderby$filter の両方のクエリ パラメーターがあるため、ConsistencyLevel ヘッダーを eventual および $count=true クエリ文字列に設定することが必要です。 ConsistencyLevel$countの使用の詳細については、「ディレクトリ オブジェクトに対する高度なクエリ機能」を参照してください。

注:$countおよび$searchのクエリパラメーターは、現在 Azure ADB2C テナントでは使用できません。

GET https://graph.microsoft.com/beta/servicePrincipals?$filter=startswith(displayName, 'a')&$count=true&$top=1&$orderby=displayName
ConsistencyLevel: eventual

応答

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

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

HTTP/1.1 200 OK
Content-type: application/json

{
  "@odata.context":"https://graph.microsoft.com/beta/$metadata#servicePrinciples",
  "@odata.count":1,
  "value":[
    {
      "accountEnabled":true,
      "displayName":"a",
      "publisherName":"Contoso",
      "servicePrincipalType":"Application",
      "signInAudience":"AzureADMyOrg"
    }
  ]
}

例 4: $search を使用して、表示名に「Team」の文字が含まれるサービス プリンシパルを取得する (返されたオブジェクトの数も含む)

要求

次の例は要求を示しています。 この要求では、$search$count=true のクエリ文字列が要求内にあるため、ConsistencyLevel ヘッダーを eventual に設定する必要があります。 ConsistencyLevel$countの使用の詳細については、「ディレクトリ オブジェクトに対する高度なクエリ機能」を参照してください。

注:$countおよび$searchのクエリパラメーターは、現在 Azure ADB2C テナントでは使用できません。

GET https://graph.microsoft.com/beta/servicePrincipals?$search="displayName:Team"&$count=true&$select=accountEnabled,displayName,publisherName,servicePrincipalType,signInAudience
ConsistencyLevel: eventual

応答

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

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

HTTP/1.1 200 OK
Content-type: application/json

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#servicePrincipals(accountEnabled,displayName,publisherName,servicePrincipalType,signInAudience)",
  "@odata.count":1396,
  "value":[
    {
      "accountEnabled":true,
      "displayName":"myContosoTeam",
      "publisherName":"Contoso",
      "servicePrincipalType":"Application",
      "signInAudience":"AzureADMyOrg"
    }
  ]
}

例 5: 所有者が 2 人未満のサービス プリンシパルを取得する

要求

次の例は要求を示しています。 この要求では、$count が要求にあるため、ConsistencyLevel ヘッダーを eventual に設定する必要があります。 ConsistencyLevel$countの使用の詳細については、「ディレクトリ オブジェクトに対する高度なクエリ機能」を参照してください。

注:$countおよび$searchのクエリパラメーターは、現在 Azure ADB2C テナントでは使用できません。

GET https://graph.microsoft.com/beta/serviceprincipals?$filter=owners/$count eq 0 or owners/$count eq 1&$count=true&$select=id,displayName
ConsistencyLevel: eventual

応答

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

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

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#servicePrincipals(id,displayName)",
    "@odata.count": 3,
    "value": [
        {
            "id": "c4ca17b7-4f3e-4c3a-b884-bfa4100c745d",
            "displayName": "Box"
        },
        {
            "id": "b5966bf3-e895-4f01-ae19-64f434c35b58",
            "displayName": "LinkedIn"
        },
        {
            "id": "ed17bd95-fbef-43eb-abea-9496e46eee42",
            "displayName": "BrowserStack"
        }
    ]
}