• EnglishEspañol日本語한국어Português
  • 로그인지금 시작하기

이 한글 문서는 사용자의 편의를 위해 기계 번역되었습니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

SCIM API 튜토리얼

이 튜토리얼은 SCIM API를 통해 사용자를 관리하기 위한 몇 가지 일반적인 절차를 안내합니다.SCIM API를 사용하면 사용자 관리 UI 외부에서 프로그래밍 방식으로 사용자 및 그룹을 보고, 만들고, 업데이트하고, 삭제할 수 있습니다.

요구 사항

이 튜토리얼은 원래 사용자 모델이 아닌 새로운 사용자 모델 의 사용자에게 적용됩니다.

이 자습서를 사용하기 전에 다음 내용을 읽는 것이 좋습니다.

기타 관련 리소스:

개요

이 튜토리얼은 ID 제공자 서비스에서 New Relic에 사용자를 추가하고 관리하는 데 필요한 가장 일반적인 작업 중 일부를 수행하는 방법을 보여줍니다. 이는 기본 SCIM API 리소스 를 보완하기 위한 것입니다.

자동화된 사용자 관리를 사용한다는 것은 사용자 그룹을 New Relic으로 가져오는 것을 의미합니다. 즉, 사용자 관리 UI를 사용하여 사용자를 그룹에 추가할 수 없습니다. 그룹은 ID 제공자 측에서 생성 및 관리됩니다.

사용자 그룹을 New Relic으로 가져오는 작업을 마쳤으면 액세스 관리 UI를 사용하여 해당 그룹에 역할 및 계정에 대한 액세스 권한을 부여해야 합니다. 자세한 내용은 사용자 관리 개념 을 참조하십시오.

SCIM에 대한 인증 도메인 구성

SCIM API를 사용하려면 먼저 인증 도메인에 대해 SCIM을 활성화 해야 합니다. API 액세스 토큰은 구성을 저장한 후 한 번만 표시되므로 나중에 사용자를 위해 안전한 곳에 저장하십시오.

나중에 무기명 토큰을 확인해야 하는 경우 이를 수행하는 유일한 방법은 새 토큰을 생성하는 것입니다. 그러면 이전 토큰과 이전 토큰을 사용하는 통합이 무효화됩니다.

시스템에서 사용자 및 사용자 그룹 생성

SCIM API는 일반적으로 New Relic에 대해 사전 구성된 구성이 없는 데이터베이스 또는 타사 ID 공급자에서 New Relic으로 사용자 및 그룹을 가져오기 위한 스크립트에서 사용됩니다.

SCIM API 사용자 지정 응용 프로그램을 사용하거나 임시 요청을 사용하려는 경우 계속하여 SCIM API에 연결하는 방법을 배우십시오.

SCIM API에 연결

SCIM API는 https://scim-provisioning.service.newrelic.com/scim/v2 에서 사용할 수 있으며 이 URL은 인증 도메인 설정 페이지에서 볼 수 있습니다. SCIM API에 액세스하려면 클라이언트가 각 요청에 전달자 토큰 을 포함해야 합니다. 인증 도메인 구성을 저장한 후 토큰이 표시됩니다.

타사 ID 공급자를 사용하는 경우 Bearer 토큰 인증 을 사용하도록 구성하고 API 액세스 토큰을 연결합니다. 이를 구성하는 데 도움이 필요하면 ID 공급자의 설명서를 참조하십시오. 구성이 완료되면 사용자 및 그룹을 가져올 수 있습니다.

전체 SCIM 프로토콜 RFC를 읽는 대신 가치 있는 세 가지 특정 섹션이 있습니다. 자세한 내용은 RFC 7643 - SCIM 핵심 리소스 및 확장RFC 7643 - JSON 표현 을 참조하세요. 이 튜토리얼에서 사용되는 프로토콜에 대한 자세한 정보는 RFC 7644 - SCIM 프로토콜 을 참조하십시오.

SCIM API에 대한 모든 요청에 대해 Authorization 헤더에 전달자 토큰을 제공해야 합니다. 다음은 curl 의 예입니다.

curl -X 'GET' -H 'Accept: application/json' -H "Authorization: Bearer $TOKEN" 'https://scim-provisioning.service.newrelic.com/scim/v2/Users'

이 자습서의 나머지 부분에 있는 모든 요청은 API 액세스 토큰이 없거나 유효하지 않은 경우 401 Unauthorized 응답을 받습니다.

예시 응답:

인증 도메인에서 사용자 생성

SCIM API를 사용하여 POST 요청을 /scim/v2/Users 에 보내 사용자를 생성할 수 있습니다. 다음 사용자 속성이 필요합니다 .

  • userName 이 식별자는 인증 도메인 내에서 고유 해야 합니다. 사용자의 이메일 주소를 사용합니다.
  • emails userName 과 동일합니다. 사용자의 이메일 주소입니다. (이름이 emails 임에도 불구하고 이 절차에서는 하나만 입력하십시오.)
  • active 사용자가 New Relic 내에서 활성 또는 비활성 상태여야 하는지 여부를 나타내는 부울입니다.

최상의 사용자 경험을 위해 다음 속성을 제공하는 것이 좋습니다.

  • name.givenName 사용자의 이름 또는 이름입니다.
  • name.familyName 사용자의 성 또는 성입니다.
  • timezone IANA 시간대 데이터베이스 형식의 사용자 시간대입니다.
curl -X 'POST' -H 'Content-Type: application/json' -H "Authorization: Bearer $TOKEN" 'https://scim-provisioning.service.newrelic.com/scim/v2/Users' --data-binary @- <<EOF
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userName": "bjensen@example.com",
"name": {
"familyName": "Jensen",
"givenName": "Barbara"
},
"emails": [
{
"primary": true,
"value": "bjensen@example.com"
}
],
"active": true,
"timezone": "America/Los_Angeles"
}
EOF

중요

반환된 사용자 id 를 기록해 둡니다. 나중에 사용자를 업데이트하려면 요청에 동일한 ID를 제공해야 합니다.

예시 응답

인증 도메인에 그룹 생성

SCIM API를 사용하여 POST 요청을 /scim/v2/Groups 에 보내 그룹을 생성할 수 있습니다. 필요한 유일한 그룹 속성은 다음과 같습니다.

  • displayName 그룹 이름입니다.
curl -X 'POST' -H 'Content-Type: application/json' -H "Authorization: Bearer $YOUR_TOKEN" 'https://scim-provisioning.service.newrelic.com/scim/v2/Groups' --data-binary @- <<EOF
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
"displayName": "Example Group"
}
EOF

중요

반환된 그룹 id 을 기록해 둡니다. 나중에 그룹이나 그 구성원을 업데이트하려면 요청에 동일한 ID를 제공해야 합니다.

예시 응답

인증 도메인의 사용자 및 그룹 보기

일부 사용자와 그룹을 만든 후에는 사용자 관리 UI 에 표시됩니다. SCIM API에서 검색할 수도 있습니다.

이 자습서에서는 특정 사용자와 그룹을 검색하지만 이것이 사용자와 그룹을 보는 유일한 방법은 아닙니다. 사용 가능한 모든 쿼리 옵션은SCIM API 참조RFC 7644 를 참조하십시오.

이메일로 사용자를 검색하려면 filter 쿼리 매개변수를 사용하여 /scim/v2/UsersGET 요청을 보냅니다. filter 매개변수는 URL로 인코딩되어야 합니다.

curl -X 'GET' -H 'Accept: application/json' -H "Authorization: Bearer $YOUR_TOKEN" 'https://scim-provisioning.service.newrelic.com/scim/v2/Users' --get --data-urlencode 'filter=userName eq "bjensen@example.com"'

예시 응답:

마찬가지로 filter 쿼리 매개변수를 사용하여 /scim/v2/GroupsGET 요청을 보내 이름으로 그룹을 검색합니다.

curl -X 'GET' -H 'Accept: application/json' -H "Authorization: Bearer $YOUR_TOKEN" 'https://scim-provisioning.service.newrelic.com/scim/v2/Groups' --get --data-urlencode 'filter=displayName eq "Example Group"'

예시 응답:

사용자 속성 업데이트

SCIM API는 사용자 업데이트를 위한 PUTPATCH 메서드를 모두 지원합니다. PATCH 사용에 대한 자세한 내용은 SCIM API 지원 작업RFC 7644 를 참조하세요. 이 가이드는 PUT 메서드를 사용하여 사용자의 속성을 업데이트하는 방법을 보여줍니다.

New Relic은 모든 사용자 속성이 요청 본문에 포함될 필요가 없으며 업데이트하려는 속성만 필요합니다. 사용자를 업데이트하려면 /scim/v2/Users/${ID}PUT 요청을 보냅니다.

curl -X 'PUT' -H 'Content-Type: application/json' -H "Authorization: Bearer $YOUR_TOKEN" 'https://scim-provisioning.service.newrelic.com/scim/v2/Users/5a1d580f-323c-450c-8c62-479b5c9085d6' --data-binary @- <<EOF
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"timezone": "America/Chicago"
}
EOF

예시 응답

그룹 회원 업데이트

SCIM API는 그룹 업데이트를 위한 PUTPATCH 메서드를 모두 지원합니다. 이 자습서에서는 PATCH 메서드로 그룹 구성원을 업데이트하는 방법을 보여줍니다. PUT 사용에 대한 자세한 내용은 SCIM API 지원 작업RFC 7644 를 참조하세요.

PATCH 요청에 전체 구성원 목록을 지정할 필요 없이 그룹 구성원을 추가하거나 제거하는 데 편리합니다. 그룹에 사용자를 추가하려면 다음 작업 매개변수를 사용하십시오.

  • op 로 설정 Add
  • path 로 설정 members
  • value 그룹에 추가할 각 사용자 ID와 함께 {"value": "${USER_ID}"} 목록으로 설정

그룹 구성원을 업데이트하려면 /scim/v2/Groups/${ID}PATCH 요청을 보냅니다.

curl -X 'PATCH' -H 'Content-Type: application/json' -H "Authorization: Bearer $YOUR_TOKEN" 'https://scim-provisioning.service.newrelic.com/scim/v2/Groups/df2b9a04-0426-4a3e-bf5f-54d5341f4e5b' --data-binary @- <<EOF
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [{
"op": "Add",
"path": "members",
"value": [{
"value": "5a1d580f-323c-450c-8c62-479b5c9085d6"
}]
}]
}
EOF

예시 응답:

그룹에서 사용자를 제거하려면 다음 작업 매개변수를 사용하십시오.

  • op 로 설정 Remove
  • path 로 설정 members
  • value 그룹에서 제거할 각 사용자 ID와 함께 {"value": "${USER_ID}"} 목록으로 설정
curl -X 'PATCH' -H 'Accept: application/json' -H "Authorization: Bearer $YOUR_TOKEN" 'https://scim-provisioning.service.newrelic.com/scim/v2/Groups/df2b9a04-0426-4a3e-bf5f-54d5341f4e5b' --data-binary @- <<EOF
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [{
"op": "Remove",
"path": "members",
"value": [{
"value": "5a1d580f-323c-450c-8c62-479b5c9085d6"
}]
}]
}
EOF

예시 응답:

사용자 및 그룹 삭제

인증 도메인에서 사용자를 제거하려면 /scim/v2/Users/${ID}DELETE 요청을 보냅니다.

curl -X 'DELETE' -H 'Accept: application/json' -H "Authorization: Bearer $YOUR_TOKEN" 'https://scim-provisioning.service.newrelic.com/scim/v2/Users/d0f4d8e3-5413-4894-a8f9-de709994e18c'

예시 응답:

204 No Content

마찬가지로 인증 도메인에서 그룹을 제거하려면 DELETE 요청을 /scim/v2/Groups/${ID} 에 보냅니다.

curl -X 'DELETE' -H 'Accept: application/json' -H "Authorization: Bearer $YOUR_TOKEN" 'https://scim-provisioning.service.newrelic.com/scim/v2/Groups/df2b9a04-0426-4a3e-bf5f-54d5341f4e5b'

예시 응답:

204 No Content

다음 단계

통합이 완료되면 잠재적인 다음 단계는 다음과 같습니다.

선택 사항: 사용자 유형 관리

SCIM API 통합이 완료되면 New Relic에 가져온 모든 사용자는 기본 사용자로 시작합니다. 사용자 관리 UI 를 사용하는 기본 사용자 유형 관리 방법을 사용할 수 있습니다. 선택적으로 SCIM API를 대신 사용할 수 있습니다. 이렇게 하려면 인증 도메인 구성 업데이트 를 사용자 유형 제어를 ID 공급자 또는 사용자 지정 응용 프로그램에 위임 하도록 설정할 수 있습니다.

사용자의 유형 속성은 사용자 정의 스키마 urn:ietf:params:scim:schemas:extension:newrelic:2.0:User 에 정의되어 있습니다. 이 스키마와 nrUserType 문자열 속성을 생성 또는 업데이트 요청에 포함하여 사용자 유형을 설정합니다.

nrUserType 에 유효한 값은 다음과 같습니다.

  • Full User
  • Core User
  • Basic User

Basic user 을 만들려면 POST 요청 /scim/v2/Users 을 보내고 맞춤 New Relic 스키마 확장을 포함합니다.

curl -X 'POST' -H 'Content-Type: application/json' -H "Authorization: Bearer $YOUR_TOKEN" 'https://scim-provisioning.service.newrelic.com/scim/v2/Users' --data-binary @- <<EOF
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:newrelic:2.0:User"
],
"userName": "jbenson@example.com",
"name": {
"givenName": "James",
"familyName": "Benson"
},
"emails": [{
"primary": true,
"value": "jbenson@example.com",
"type": "work"
}],
"active": true,
"timezone": "America/Chicago",
"urn:ietf:params:scim:schemas:extension:newrelic:2.0:User": {
"nrUserType": "Basic User"
}
}
EOF

예시 응답

사용자 유형을 업데이트하려면 PUT 요청 scim/v2/Users/${ID} 을 보내고 맞춤 New Relic 스키마 확장을 포함합니다.

curl -X 'PUT' -H 'Content-Type: application/json' -H "Authorization: Bearer $YOUR_TOKEN" 'https://scim-provisioning.service.newrelic.com/scim/v2/Users' --data-binary @- <<EOF
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:newrelic:2.0:User"
],
"urn:ietf:params:scim:schemas:extension:newrelic:2.0:User": {
"nrUserType": "Full User"
}
}
EOF

예시 응답

Copyright © 2024 New Relic Inc.

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