servicePrincipals を一覧表示する

名前空間: microsoft.graph

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

HTTP 要求

GET /servicePrincipals

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

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

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

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

要求ヘッダー

名前 説明
Authorization ベアラー {token}。 必須です。 認証と認可についての詳細をご覧ください。
ConsistencyLevel 最終的。 このヘッダーと $count は、$search を使用する場合、または $orderby クエリ パラメーターを使用して $filter を使用する場合に必要です。 最新の状態に更新されていない可能性があるインデックスを使用しています。

要求本文

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

応答

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

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

要求

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

GET https://graph.microsoft.com/v1.0/servicePrincipals

応答

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

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

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

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

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

要求

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

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

GET https://graph.microsoft.com/v1.0/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/v1.0/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/v1.0/$metadata#servicePrincipals",
  "@odata.count":1,
  "value":[
    {
      "accountEnabled":true,
      "displayName":"a",
      "servicePrincipalType":"Application",
      "signInAudience":"AzureADMyOrg"
    }
  ]
}

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

要求

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

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

GET https://graph.microsoft.com/v1.0/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/v1.0/$metadata#servicePrincipals(accountEnabled,displayName,publisherName,servicePrincipalType,signInAudience)",
  "@odata.count":1396,
  "value":[
    {
      "accountEnabled":true,
      "displayName":"myContosoTeam",
      "servicePrincipalType":"Application",
      "signInAudience":"AzureADMyOrg"
    }
  ]
}

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

要求

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

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

GET https://graph.microsoft.com/v1.0/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/v1.0/$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"
        }
    ]
}