이 가이드는 API 명세를 기반으로 AI가 자동 생성했습니다.
Classic/VPC 환경에서 이용 가능합니다.
Ncloud 표준 표현을 적용한 API입니다.
Attribute Mapper를 수정합니다.
요청
요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.
| 메서드 | URI |
|---|---|
| PUT | /tenant/saml-idps/{providerId}/profile-mapping |
요청 헤더
Ncloud Single Sign-On API에서 공통으로 사용하는 헤더에 대한 정보는 Ncloud Single Sign-On 요청 헤더를 참조해 주십시오.
요청 경로 파라미터
요청 경로 파라미터에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
providerId |
String (uuid) | Required | External IdP 아이디
|
요청 바디
요청 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
firstName |
Object<ProfileMappingV2> | Required | 이름 속성 매핑 |
lastName |
Object<ProfileMappingV2> | Required | 성 속성 매핑 |
email |
Object<ProfileMappingV2> | Required | 이메일 속성 매핑 |
emailVerified |
Object<ProfileMappingV2> | Required | 이메일 인증 여부 속성 매핑 |
employeeNo |
Object<ProfileMappingV2> | Required | 사원번호 속성 매핑 |
phoneNo |
Object<ProfileMappingV2> | Required | 전화번호 속성 매핑 |
phoneNoVerified |
Object<ProfileMappingV2> | Required | 전화번호 인증 여부 속성 매핑 |
phoneCountryCode |
Object<ProfileMappingV2> | Required | 전화번호 국가 코드 속성 매핑 |
departmentName |
Object<ProfileMappingV2> | Required | 부서명 속성 매핑 |
ProfileMappingV2
사용자 Profile 속성 매핑 항목
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
syncMode |
String | Required | 속성 정보 업데이트 정책
|
idpValue |
String | Required | 네이버 클라우드 플랫폼의 Single Sign-On 서비스로 전달할 속성(AttributeName)
|
요청 예시
요청 예시는 다음과 같습니다.
curl --location --request PUT 'https://sso.apigw.ntruss.com/api/v2/tenant/saml-idps/8192a3b4-8888-4123-9456-789abcdef012/profile-mapping' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--data '{
"firstName": {
"syncMode": "NONE",
"idpValue": "email"
},
"lastName": {
"syncMode": "NONE",
"idpValue": "email"
},
"email": {
"syncMode": "NONE",
"idpValue": "email"
},
"emailVerified": {
"syncMode": "NONE",
"idpValue": "email"
},
"employeeNo": {
"syncMode": "NONE",
"idpValue": "email"
},
"phoneNo": {
"syncMode": "NONE",
"idpValue": "email"
},
"phoneNoVerified": {
"syncMode": "NONE",
"idpValue": "email"
},
"phoneCountryCode": {
"syncMode": "NONE",
"idpValue": "email"
},
"departmentName": {
"syncMode": "NONE",
"idpValue": "email"
}
}'
응답
응답 형식을 설명합니다.
응답 바디
응답 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
firstName |
Object<ProfileMappingResponseV2> | - | 이름 속성 매핑 정보 |
lastName |
Object<ProfileMappingResponseV2> | - | 성 속성 매핑 정보 |
email |
Object<ProfileMappingResponseV2> | - | 이메일 속성 매핑 정보 |
emailVerified |
Object<ProfileMappingResponseV2> | - | 이메일 인증 여부 속성 매핑 정보 |
employeeNo |
Object<ProfileMappingResponseV2> | - | 사원번호 속성 매핑 정보 |
phoneNo |
Object<ProfileMappingResponseV2> | - | 전화번호 속성 매핑 정보 |
phoneNoVerified |
Object<ProfileMappingResponseV2> | - | 전화번호 인증 여부 속성 매핑 정보 |
phoneCountryCode |
Object<ProfileMappingResponseV2> | - | 전화번호 국가 코드 속성 매핑 정보 |
departmentName |
Object<ProfileMappingResponseV2> | - | 부서명 속성 매핑 정보 |
ProfileMappingResponseV2
사용자 Profile 속성 매핑 정보
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
displayName |
String | - | 네이버 클라우드 플랫폼 콘솔의 Ncloud Single Sign-On > Tenant 메뉴 내 사용자 Profile 관리 화면에 표시되는 사용자 Profile 이름
|
syncMode |
String | - | 속성 정보 업데이트 정책
|
idpValue |
String | - | 네이버 클라우드 플랫폼의 Single Sign-On 서비스로 전달할 속성(AttributeName)
|
응답 상태 코드
Ncloud Single Sign-On API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 Ncloud Single Sign-On 응답 상태 코드를 참조해 주십시오.
이 API에만 해당하는 응답 상태 코드는 다음과 같습니다.
| HTTP 상태 코드 | 코드 | 메시지 | 설명 |
|---|---|---|---|
| 200 | - | - | 요청 처리 성공 |
| 404 | NotFound | One or more of the resources in the request does not exist in the system. | 잘못된 URL 요청, 마스터 계정에 Organization이 존재하지 않음, 존재하지 않는 관리형 정책(System Managed) 아이디 입력, SSO User에 MFA Device가 존재하지 않음 |
| 404 | ResourceNotFound | The specified resource could not be found. | 생성된 Tenant가 없음, 존재하지 않는 자원 아이디 입력 |
응답 예시
응답 예시는 다음과 같습니다.
{
"firstName": {
"displayName": "example-display",
"syncMode": "NONE",
"idpValue": "${user:email}"
},
"lastName": {
"displayName": "example-display",
"syncMode": "NONE",
"idpValue": "${user:email}"
},
"email": {
"displayName": "example-display",
"syncMode": "NONE",
"idpValue": "${user:email}"
},
"emailVerified": {
"displayName": "example-display",
"syncMode": "NONE",
"idpValue": "${user:email}"
},
"employeeNo": {
"displayName": "example-display",
"syncMode": "NONE",
"idpValue": "${user:email}"
},
"phoneNo": {
"displayName": "example-display",
"syncMode": "NONE",
"idpValue": "${user:email}"
},
"phoneNoVerified": {
"displayName": "example-display",
"syncMode": "NONE",
"idpValue": "${user:email}"
},
"phoneCountryCode": {
"displayName": "example-display",
"syncMode": "NONE",
"idpValue": "${user:email}"
},
"departmentName": {
"displayName": "example-display",
"syncMode": "NONE",
"idpValue": "${user:email}"
}
}