IDプロバイダーからのNewRelicユーザーのプロビジョニングと管理をセットアップするために、NewRelic 固有のアプリと実装を まだ持っていないIDプロバイダー向けにSCIMAPIを提供しています。
誰がSCIMAPIを使用する必要がありますか? New Relic アプリ (Azure AD、Okta、OneLogin) を備えた ID プロバイダーがある場合は、それらのガイド を参照してください。 SCIM API 、これらの ID プロバイダーを使用していない組織、またはアプリで利用できない追加の設定に SCIM APIを使用する組織 (例: managing user type ) を対象としています。 追加の制限:
Ping IdentityのPingOneは、グループのプロビジョニングを許可しない ため、サポートされていません。 SCIM APIを使用する前に、まずSCIMを有効にして認証ドメインを設定する 必要があります。認証ドメインUIは、IDプロバイダーとの統合に使用できる値を提供します。
なお、SCIM APIで統合を設定した後は、一部のユーザーをベーシックユーザーにダウングレードしたり、ユーザーグループにNew Relicアカウントへのアクセス権を付与したりするなど、 次のステップを行う必要があります。
このドキュメントには、SCIMAPIに関する技術情報が含まれています。使用方法の詳細については、 SCIMAPIチュートリアル を参照してください。
SCIMサービスプロバイダー 当社の SCIM サービス プロバイダーは、 RFC 7643 および 7644 で 説明されているSCIM 2.0 API に従います。ユーザー情報を New Relic と統合するために、SCIM 2.0 仕様のすべての側面を実装する必要はありません。実際、New Relic サービス プロバイダー自体が仕様のすべての側面を実装しているわけではありません。このドキュメントでは、New Relic との統合に使用できる仕様の機能について説明します。
認証 認証には、ベアラートークンが必要です。 このベアラートークンは、New Relic の認証ドメイン に固有のもので、認証ドメインに対して初めて SCIM を有効にする際に表示されます。
サポートされているリソース New Relicサービスプロバイダーは、次のSCIMリソースをサポートしています: Group
、 User
、 Service provider config
、 Resource type
、 Schema
。 Bulk
とSearch
はサポートされていません。 RFCがリソースエンドポイントを記述する方法の詳細については、 RFC7644SCIMプロトコル仕様 を参照してください。
スキーマ New Relic は、SCIM コアスキーマで利用可能なフィールドのサブセットを使用します。他の SCIM フィールドが受信リクエストに含まれていても無視されます。New Relic が使用するフィールドは次のとおりです。
Group
:
SCIMフィールド名
説明
displayName
Required. グループの名前。
members
グループ内のユーザーのリスト。
User
:
SCIMフィールド名
説明
externalId
お客様のシステムで使用されるユーザーの固有識別子。
userName
Required. New Relic システム内のユーザーの一意の識別子。 ユーザーのメールアドレスを使用します。
name.familyName
ユーザーのラストネーム。
name.givenName
ユーザーのファーストネーム。
emails
または emails.value
Required. ユーザーのメールアドレス。
timezone
IANAタイムゾーンデータベース形式でのユーザーのタイムゾーン。"オルソン" タイムゾーンデータベース形式としても知られている(exmaple,"America/Los_Angeles" )。
active
Required. NewRelic内でユーザーをアクティブにするか非アクティブにするかを示すブール値。
groups
ユーザーが所属するグループの一覧。
New Relic のユーザータイプ (ベーシック、コア、フル) スキーマ これは、New Relic 固有のユーザー属性のための、オプションの スキーマ拡張 です。現在は、ユーザーの ユーザータイプ に対してのみ制御を行います。使い方のチュートリアルは、 SCIM API tutorial をご覧ください。
urn:ietf:params:scim:schemas:extension:newrelic:2.0:User
:
SCIMフィールド名
説明
nrUserType
ユーザータイプ : full user
、 core user
、またはbasic user
。
対応アクション SCIMには、グループやユーザーを操作するためのいくつかのオプションがあります。New Relic のサービスプロバイダーは、以下のオプションをサポートしています。
設定する際には、以下の点に注意してください。
単純なフィルタリングのみがサポートされています。 eq
演算子は、基本的なフィルター式で使用できます。たとえば、 “displayName eq "Example Group 1”
。他の演算子はサポートされていません。 PUT
更新では、すべてのフィールドを含める必要はありません。含まれていないフィールドは変更されません。 PUT
を実行するときに、必須フィールドにすでに適切な値がある場合は、フィールドを含める必要はありません。サポートされているアクションは
グループ作成 リクエスト例
"urn:ietf:params:scim:schemas:core:2.0:Group"
"displayName": "Example Group 1",
回答例
"urn:ietf:params:scim:schemas:core:2.0:Group"
"id": "d0652232-b14f-434d-9c6f-36de7e1ab010",
"displayName": "Example Group 1",
"created": "2019-11-08T21:33:13.055Z",
"lastModified": "2019-11-08T21:33:13.055Z"
グループの取得 リクエスト例
GET /Groups/YOUR_GROUP_ID
回答例
"urn:ietf:params:scim:schemas:core:2.0:Group"
"id": "d0652232-b14f-434d-9c6f-36de7e1ab010",
"displayName": "Example Group 1",
"created": "2019-11-08T21:33:13.055Z",
"lastModified": "2019-11-08T21:33:13.055Z"
クエリによるグループの取得 リクエスト例
GET /Groups?filter=displayName eq "Example Group 1"
回答例
"urn:ietf:params:scim:api:messages:2.0:ListResponse"
"urn:ietf:params:scim:schemas:core:2.0:Group"
"id": "d0652232-b14f-434d-9c6f-36de7e1ab010",
"displayName": "Example Group 1",
"created": "2019-11-08T21:33:13.055Z",
"lastModified": "2019-11-08T21:33:13.055Z"
PUTによるグループの更新 リクエストには、変更するフィールドを含めます。 members
フィールドを含めると、グループのユーザーはメンバーフィールドの内容と一致するように調整されます。リクエストの例:
PUT /Groups/YOUR_GROUP_ID
"urn:ietf:params:scim:schemas:core:2.0:Group"
"displayName": "Example Group 1a"
回答例
"urn:ietf:params:scim:schemas:core:2.0:Group"
"id": "d0652232-b14f-434d-9c6f-36de7e1ab010",
"displayName": "Example Group 1a",
"created": "2019-11-08T21:33:13.055Z",
"lastModified": "2019-11-08T22:47:14.019Z"
PATCHでグループを更新する(非会員のフィールド) リクエスト例
PATCH /Groups/YOUR_GROUP_ID
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
"value": "Example Group 1b"
回答例
PATCHでグループを更新する(メンバーの追加) リクエスト例
PATCH /Groups/YOUR_GROUP_ID
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
"value": "f0cbc276-16c9-4d1a-abc0-1856b0c74224"
回答例
PATCHによるグループの更新(メンバーの削除) リクエスト例
PATCH /Groups/YOUR_GROUP_ID
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
"value": "f0cbc276-16c9-4d1a-abc0-1856b0c74224"
回答例
グループ削除 リクエスト例
DELETE /Groups/YOUR_GROUP_ID
回答例
ユーザー作成 リクエスト例
"urn:ietf:params:scim:schemas:core:2.0:User"
"externalId": "external-id-1",
"userName": "example-user-1@example.com",
"value": "example-user-1@example.com",
"timezone": "America/Los_Angeles",
回答例
"urn:ietf:params:scim:schemas:core:2.0:User"
"id": "f0cbc276-16c9-4d1a-abc0-1856b0c74224",
"externalId": "external-id-1",
"userName": "example-user-1@example.com",
"value": "example-user-1@example.com",
"timezone": "America/Los_Angeles",
"created": "2019-11-08T22:07:12.477Z",
"lastModified": "2019-11-08T22:07:12.477Z"
ゲットユーザー リクエスト例
回答例
"urn:ietf:params:scim:schemas:core:2.0:User"
"id": "f0cbc276-16c9-4d1a-abc0-1856b0c74224",
"externalId": "external-id-1",
"userName": "example-user-1@example.com",
"value": "example-user-1@example.com",
"timezone": "America/Los_Angeles",
"created": "2019-11-08T22:07:12.477Z",
"lastModified": "2019-11-08T22:07:12.477Z"
クエリでユーザーを取得 リクエスト例
GET /Users?filter=externalId eq "external-id-1"
回答例
"urn:ietf:params:scim:api:messages:2.0:ListResponse"
"urn:ietf:params:scim:schemas:core:2.0:User"
"id": "f0cbc276-16c9-4d1a-abc0-1856b0c74224",
"externalId": "external-id-1",
"userName": "example-user-1@example.com",
"value": "example-user-1@example.com",
"timezone": "America/Los_Angeles",
"created": "2019-11-08T22:07:12.477Z",
"lastModified": "2019-11-08T22:07:12.477Z"
PUTによるユーザーの更新 リクエストには、変更するフィールドを含めます。 groups
フィールドを含めると、ユーザーのグループはグループフィールドの内容と一致するように調整されます。リクエストの例:
"urn:ietf:params:scim:schemas:core:2.0:User"
回答例
"urn:ietf:params:scim:schemas:core:2.0:User"
"id": "f0cbc276-16c9-4d1a-abc0-1856b0c74224",
"externalId": "external-id-1",
"userName": "example-user-1@example.com",
"value": "example-user-1@example.com",
"timezone": "America/Los_Angeles",
"created": "2019-11-08T22:07:12.477Z",
"lastModified": "2019-11-08T22:28:33.552Z"
PATCHでユーザーを更新 リクエスト例
PATCH /Users/YOUR_USER_ID
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
回答例
ユーザーの削除 リクエスト例
DELETE /Users/YOUR_USER_ID
回答例
RFCからの乖離 このセクションでは、New Relic SCIM サービスプロバイダーが SCIM プロトコルから逸脱している部分について説明します RFC 7644 。セクション番号はRFCのセクション番号を参照しています。
このセクションの項目は、サービスプロバイダーがRFCに完全に準拠するようにするために変更される可能性があります。
RFCセクション名
RFCセクション番号
偏差値の説明
リソースの作成
3.3.
meta.location
フィールドが設定されていません。フィルタリング
3.4.2.2.
現在サポートされている演算子はeq
のみです。 フィールド名は大文字と小文字を区別します。 文字列属性は、大文字と小文字を区別して比較されます。 フィールド名の前にスキーマを付けることはサポートされていません。たとえば、 filter=urn:ietf:params:scim:schemas:core:2.0:User:userName eq "johnsmith"
は機能しません。 /Me
認証されたサブジェクトエイリアス
3.11.
GET
/Me
リソースを使用すると404 Not Found
が返されます。サービスプロバイダー設定用エンドポイント
4.
サービスプロバイダーの機能発見エンドポイントは、フィルタリングをサポートしていません。 ベアラートークンとクッキーに関する考察
7.4.
無記名のトークンは、有効期限が設定されていません。
終わった後の次のステップ 次のステップ
ユーザーのユーザータイプを調整する ユーザーが New Relic でプロビジョニングされると、 User management UI で確認できます。
SCIMを介してNewRelicにユーザーを追加しているが、 SCIMを介してユーザータイプを管理して いない 場合、ユーザーは基本ユーザー として開始されます。ユーザーをアップグレードするには、次の2つのオプションがあります。
グループ アクセスの割り当て ユーザーがNew Relicに参加したら、特定のNew Relicアカウント、特定のグループ、特定のロールへのアクセス権を付与する必要があります。これを行わないと、ユーザーは New Relic アカウントへのアクセスができません。この方法については、以下を参照してください。
SAMLSSOを設定する ほとんどのSCIMユーザーが行うSAMLSSOを設定する場合は、 SAMLSSOのドキュメント を参照してください。