SCIM 사용자 API 참조¶
SCIM 사용자 API를 사용하여 사용자 데이터에 액세스하고, 생성하고, 수정할 수 있습니다.
HTTP 헤더¶
Snowflake SCIM API는 HTTP 인증에 무기명 토큰을 사용합니다.
Snowflake SCIM API에 대한 각 HTTP 요청은 다음 HTTP 헤더를 허용합니다.
헤더 |
값 |
---|---|
|
|
|
|
|
|
|
|
사용자 속성¶
API 요청 본문에서 사용자 특성을 JSON 형식의 키-값 페어로 지정할 수 있습니다. 이러한 쌍에는 사용자의 표시 이름이나 이메일 주소와 같은 사용자 정보가 포함되어 있습니다. ID 공급자는 각 특성에 대해 고유한 키 이름을 지정할 수 있습니다. 예를 들어, ID 공급자는 사용자의 성을 나타내기 위해 familyName
대신 lastName
키를 사용할 수 있습니다. Snowflake는 다중값 사용자 특성을 지원하지 않습니다.
중요
아래 표에서 userName
및 loginName
특성은 모두 userName
특성을 참조합니다. Snowflake는 userName
및 loginName
특성에 대해 서로 다른 값을 지정하는 기능을 지원합니다.
사용자 수명 주기 관리를 위해 Snowflake가 지원하는 특성은 다음과 같습니다.
SCIM 사용자 속성 |
Snowflake 사용자 속성 |
타입 |
설명 |
---|---|---|---|
|
|
문자열 |
Snowflake에서 사용자의 변경 불가능한 고유 식별자(GUID)입니다. Snowflake는 DESCRIBE USER 또는 SHOW USERS 출력에서 이 값을 반환하지 않습니다. 이 특성이 필요한 엔드포인트(예: |
|
|
문자열 |
Snowflake에 로그인하는 데 사용되는 식별자입니다. 이러한 특성에 대한 자세한 내용은 CREATE USER 섹션을 참조하십시오. |
|
|
문자열 |
사용자의 이름입니다. |
|
|
문자열 |
사용자의 성입니다. |
|
|
문자열 |
사용자의 이메일 주소입니다. |
|
|
문자열 |
사용자를 지칭할 때 사용자 인터페이스에 표시되는 텍스트입니다. |
|
N/A |
문자열 |
프로비저닝 클라이언트(예: Azure, Okta)가 설정한 고유 식별자입니다. |
|
|
문자열 |
사용자의 비밀번호입니다. 이 값은 JSON 응답에서 반환되지 않습니다. SCIM 보안 통합의 |
|
|
boolean |
|
|
N/A |
문자열 |
사용자가 속한 그룹의 목록입니다. 그룹 사용자의 그룹은 변경할 수 없으며 SCIM 그룹 API 를 사용하여 구성원 자격을 업데이트해야 합니다. |
|
|
문자열 |
사용자가 Snowflake에 추가된 시간입니다. |
|
|
문자열 |
사용자가 마지막으로 Snowflake에서 수정한 시간입니다. |
|
N/A |
문자열 |
사용자의 리소스 유형입니다. 이 특성의 값으로 |
|
N/A |
문자열 |
네임스페이스 URIs를 지정하는 쉼표로 구분된 문자열 배열입니다. Snowflake는 다음 값을 지원합니다.
|
사용자 지정 속성¶
defaultRole
같이 RFC 7643 에서 정의되지 않은 사용자 지정 특성을 설정할 수 있습니다.
POST, PUT, PATCH 요청을 수행할 때 다음 네임스페이스를 사용하여 사용자 지정 특성을 설정할 수 있습니다.
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User
이 네임스페이스는 Snowflake에서 원래 SCIM 구현의 일부였습니다. 이 네임스페이스는 Okta SCIM 보안 통합 에서 사용자 지정 특성을 설정하기 위한 용도로만 사용할 수 있습니다.
이 네임스페이스를 사용하여 Microsoft Azure SCIM 보안 통합 또는 사용자 지정 SCIM 통합 에서 사용자 지정 특성을 설정할 수 없습니다.
urn:ietf:params:scim:schemas:extension:2.0:User
이 네임스페이스를 사용하여 모든 SCIM 통합에 대한 사용자 지정 특성을 설정할 수 있습니다. Microsoft Azure SCIM 보안 통합 또는 사용자 지정 SCIM 보안 통합 에서 사용자 지정 특성을 설정하려면 이 네임스페이스를 사용해야 합니다.
Snowflake는 다음 사용자 지정 특성을 지원합니다.
SCIM 사용자 지정 특성 |
Snowflake 사용자 속성 |
타입 |
설명 |
---|---|---|---|
|
|
문자열 |
로그인 시 사용자 세션에 대해 기본적으로 활성 상태인 가상 웨어하우스입니다. |
|
|
문자열 |
로그인 시 사용자 세션에 대해 기본적으로 활성화되는 기본 역할입니다. |
|
|
문자열 |
로그인 시 사용자 세션에 대해 활성화되는 보조 역할 목록입니다. 이 특성은 |
|
|
문자열 |
사용자의 유형입니다. 기본값: |
사용자가 있는지 확인¶
- 메서드 및 엔드포인트:
GET /scim/v2/Users?filter=userName eq "{{user_name}}"
- 설명:
userName
쿼리 매개 변수가 있는 사용자에 대한 세부 정보를 반환합니다.HTTP 요청이 성공적으로 완료되면
200
응답 상태 코드 HTTP 을 반환합니다.
사용자에 대한 세부 정보 가져오기¶
- 메서드 및 엔드포인트:
GET /scim/v2/Users/{{user_id}}
- 설명:
user_id
경로 매개 변수와 연결된 사용자에 대한 세부 정보를 반환합니다.HTTP 요청이 성공적으로 완료되면
200
응답 상태 코드 HTTP 을 반환합니다.
사용자 만들기¶
- 메서드 및 엔드포인트:
POST /scim/v2/Users
- 설명:
Snowflake에서 사용자를 만듭니다.
HTTP 요청이 성공적으로 완료되면
201
응답 상태 코드 HTTP 을 반환합니다.사용자가 이미 존재하거나 다른 이유로 HTTP 요청이 실패한 경우 Snowflake는 HTTP 응답 상태 코드
409
를 반환합니다.- 예:
userName
및loginName
이 동일한 값에 매핑된 사용자를 생성합니다.{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:2.0:User" ], "userName": "test_user_1", "password": "test", "name": { "givenName": "test", "familyName": "user" }, "emails": [ {"value": "test.user@snowflake.com"} ], "displayName": "test user", "active": true }
userName
및loginName
이 다른 값에 매핑된 사용자를 생성합니다.참고
Okta를 ID 공급자로 사용하는 경우 다음 절차 를 따릅니다.
{ "active": true, "displayName": "test user", "emails": [ {"value": "test.user@snowflake.com"} ], "name": { "familyName": "test_last_name", "givenName": "test_first_name" }, "password": "test_password", "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User" ], "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { "snowflakeUserName": "USER5" }, "userName": "USER5" }
사용자 특성 바꾸기¶
- 메서드 및 엔드포인트:
PATCH /scim/v2/Users/{{id}}
- 설명:
id
경로 매개 변수와 연결된 사용자의 특성을 바꿉니다.이 HTTP 요청을 수행하려면
op
를replace
로 설정해야 합니다.active
에는 다음 값을 사용할 수 있습니다.false
: 사용자를 비활성화합니다.true
: 사용자를 활성화합니다.
HTTP 요청이 성공적으로 완료되었으면
200
응답 상태 코드 HTTP 을 반환합니다.실패하면 HTTP 응답 코드
204
을 반환합니다.- 예:
사용자를 비활성화하고
givenName
을deactivated_user
로 업데이트합니다.{ "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operations": [ {"op": "replace", "value": { "active": false }} {"op": "replace", "value": { "givenName": "deactivated_user" }} ], }
userName
및loginName
이 동일한 값에 매핑된 사용자를 업데이트합니다.{ "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operations": [ {"op": "replace", "value": { "active": false }} ] }
userName
및loginName
이 다른 값에 매핑된 사용자를 업데이트합니다.ID 공급자가 Okta인 경우, 이 절차 를 따릅니다.
{ "Operations": [ { "op": "replace", "path": "userName", "value": "test_updated_name" }, { "op": "replace", "path": "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.snowflakeUserName", "value": "USER5" } ], "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"] }
사용자 업데이트¶
- 메서드 및 엔드포인트:
PUT /scim/v2/Users/{{id}}
- 설명:
id
경로 매개 변수와 연결된 사용자의 특성을 업데이트합니다.실패하면 HTTP 응답 코드
400
을 반환합니다. 요청이 변경이 불가능한 특성을 변경하려고 하거나 변경하려는 특성이 Snowflake에 존재하지 않는 경우 HTTP 요청은 실패합니다.- 예:
사용자 및 해당
"defaultRole"
,"defaultSecondaryRoles"
,"defaultWarehouse"
특성을 업데이트합니다."defaultRole"
,"defaultSecondaryRoles"
,"defaultWarehouse"
특성을 지정하려면extension
스키마 중 하나를 사용해야 합니다.defaultSecondaryRoles
특성에는 값으로"ALL"
만 사용할 수 있습니다.참고
PUT 메서드는 PATCH 메서드보다 비용이 더 많이 듭니다. 대신, PATCH 작업을 사용하십시오.
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User" ], "userName": "test_user_1", "password": "test", "name": { "givenName": "test", "familyName": "user" }, "emails": [{ "primary": true, "value": "test.user@snowflake.com", "type": "work" } ], "displayName": "test user", "active": true, "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { "defaultRole" : "test_role", "defaultSecondaryRoles" : "ALL", "defaultWarehouse" : "test_warehouse" } }
사용자 삭제¶
- 메서드 및 엔드포인트:
DELETE /scim/v2/Users/{{id}}
- 설명:
id
경로 매개 변수와 연결된 사용자를 삭제합니다.