• ログイン今すぐ開始

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

NerdGraph チュートリアル: ユーザーの作成と管理

NerdGraph APIを使用して、ユーザーを表示および管理できます。ユーザーの追加と削除、ユーザーの電子メール アドレスとユーザー タイプの編集、および他のタイプのユーザー情報の取得を行うことができます。

UI でこれを行う方法については、 ユーザー管理 UI のドキュメントを参照してください。

要件

NerdGraph を介してユーザーを管理するためのいくつかの要件:

  • これは、新しいユーザー モデルでユーザーを管理するためのものです。その他の権限関連の要件:

    • 必要なユーザー タイプ: コア ユーザーまたはフル プラットフォーム ユーザー。
    • 必要な管理設定: ユーザーを表示して変更するには、認証ドメインの設定が必要です。組織レベルで表示および変更するには、組織設定が必要です。

始める前に

NerdGraph を使用してユーザーを管理する前に、いくつかの重要な点を以下に示します。

以下は、ユーザー情報を照会してユーザーに変更を加える例です。

ユーザー タイプ フィールド

使用可能なユーザー タイプの値は次のとおりです。

  • FULL_USER_TIER
  • CORE_USER_TIER
  • BASIC_USER_TIER

ユーザー情報のクエリ

組織内のすべてのユーザー タイプを表示するクエリの例を次に示します。

{
actor {
organization {
userManagement {
types {
displayName
id
}
}
}
}
}

特定の認証ドメイン内のユーザーの最終アクティブ日とユーザー タイプを取得するクエリの例を次に示します。

{
actor {
organization {
userManagement {
authenticationDomains(id: "YOUR_AUTH_DOMAIN_ID") {
authenticationDomains {
users {
users {
id
name
email
lastActive
type {
displayName
id
}
}
}
}
}
}
}
}
}

ユーザーを作成する

基本ユーザーを作成する例を次に示します。

mutation {
userManagementCreateUser(
createUserOptions: {
authenticationDomainId: "YOUR_AUTH_DOMAIN_ID"
email: "EMAIL_OF_YOUR_USER"
name: "NAME_OF_YOUR_USER"
userType: BASIC_USER_TIER
}
) {
createdUser {
authenticationDomainId
email
id
name
type {
displayName
id
}
}
}
}

手動でプロビジョニングされたユーザー用に設定されていない認証ドメイン内でユーザーを作成しようとした場合のエラー応答の例を次に示します。

{
"data": {
"userManagementCreateUser": null
},
"errors": [
{
"message": "This API can only be used to create users within Authentication Domains set for manually provisioned users."
}
]
}

認証ドメインに既に存在するユーザーを作成しようとしたときのエラー応答の例を次に示します。

{
"data": {
"userManagementCreateUser": null
},
"errors": [
{
"message": "User with email: <USER_EMAIL> and authentication domain: <AUTH_DOMAIN_ID> already exists."
}
]
}

ユーザーの更新

ユーザーのユーザー タイプをフル プラットフォーム ユーザーに更新する例を次に示します。

mutation {
userManagementUpdateUser(
updateUserOptions: { id: "ID_OF_YOUR_USER", userType: FULL_USER_TIER }
) {
user {
id
type {
displayName
id
}
}
}
}

ユーザーのメール アドレスを更新する例を次に示します。

mutation {
userManagementUpdateUser(
updateUserOptions: { id: "ID_OF_YOUR_USER", email: "EMAIL_OF_YOUR_USER" }
) {
user {
id
email
}
}
}

グループへのユーザー追加

グループを管理し、ユーザーをグループに追加する方法については、「 NerdGraph でユーザー グループを管理する」を参照してください。

ユーザーを削除する

ユーザーを削除する例を次に示します。

mutation {
userManagementDeleteUser(deleteUserOptions: {id: "ID_OF_YOUR_USER"}) {
deletedUser {
id
}
}
}

SCIM でプロビジョニングされた認証ドメインでユーザーを削除しようとしたときのエラー応答の例を次に示します。

{
"data": {
"userManagementDeleteuser": null
},
"errors": [
{
"message": "This API can only be used to delete users within Authentication Domains set for manually provisioned users."
}
]
}

ページ付け

デフォルトでは、API は最大 500 ユーザーまたは 10 認証ドメインのみを返します。それ以上ある場合は、カーソルを使用して次の 500 ユーザーまたは 10 認証ドメインを取得できます。この呼び出しはnextCursorを返します。これは、カーソル入力を使用して別の呼び出しに渡すことができます。

{
actor {
organization {
userManagement {
authenticationDomains(id: "YOUR_AUTH_DOMAIN_ID") {
authenticationDomains {
users(cursor: "=abcdEFGH2356X") {
nextCursor
totalCount
users {
email
id
lastActive
name
type {
displayName
id
}
}
}
}
}
}
}
}
}

組織のすべての認証ドメインのページ分割されたリターンを開始する例を次に示します。

{
actor {
organization {
userManagement {
authenticationDomains(cursor: "=123xyzABCx") {
nextCursor
totalCount
authenticationDomains {
id
name
}
}
}
}
}
}

グループを管理する

グループを管理する方法、およびグループからユーザーを追加および削除する方法については、 グループの管理を参照してください。

Copyright © 2023 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.