프로파일 관리
IBM Cloud® App ID를 사용하면 애플리케이션의 개별 사용자에 관한 정보를 프로파일로 컴파일할 수 있습니다. 프로파일에 있는 정보는 귀하가 앱과 상호작용하는 방식을 통해 사용자에 관해 배우게 되거나 귀하가 사용자 대신 추가할 수 있습니다. 정보를 저장하면 사용자를 위해 앱의 개인화된 환경을 만드는 데 도움이 되도록 이 정보에 액세스할 수 있습니다.
Cloud Directory 사용자에 대한 정보를 찾고 있습니까? 사용자 관리를 확인하십시오.
콘솔에서 사용자 프로필 보기
앱 사용자가 사용할 수 있는 데이터를 확인하기 위해 App ID UI를 사용할 수 있습니다.
-
App ID 인스턴스의 사용자 프로파일 > 프로파일 탭으로 이동하십시오.
-
테이블을 검토하거나 이메일 주소로 검색하여 정보를 보려는 사용자를 찾으십시오. 검색어는 정확해야 합니다.
-
사용자 행의 오버플로우 메뉴에서 사용자 프로파일 보기를 클릭하십시오. 사용자 정보가 포함된 페이지가 열립니다. 다음 표에서 볼 수 있는 정보를 확인하십시오.
App ID 대시보드에 표시된 사용자 세부 정보 세부사항 설명 IdP ID IdP ID는 사용자가 애플리케이션에 사인인하는 데 사용하도록 선택한 제공자가 발행합니다. 이메일 사용자에게 첨부되는 기본 이메일 주소입니다. 이름 ID 제공자가 발행한 사용자의 이름과 성입니다. ID 제공자 사용자가 사인인하는 데 사용하도록 선택한 제공자입니다. ID App ID에서 사용자에게 지정한 ID입니다. 사용자 정의 속성 사용자 정의 속성은 사용자 프로파일에 추가되거나 애플리케이션과 상호작용하는 사용자에 대해 학습한 추가 정보입니다. 요약 JSON 오브젝트로 표시된 사용자와 연관된 모든 정보입니다.
API를 사용하여 사용자 프로파일 보기
App ID API를 사용하여 앱 사용자에 대한 세부사항을 볼 수 있습니다.
-
서비스 인스턴스에서 테넌트 ID를 얻으십시오. 서비스 또는 애플리케이션 인증 정보에서 ID를 찾을 수 있습니다.
-
이메일 주소와 같은 식별 조회로 App ID 사용자를 검색하여 사용자 ID를 찾으십시오.
curl -X GET "https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/Users?query=<identifyingSearchQuery>" \ -H "accept: application/json" \ -H "authorization: Bearer <token>"예:
curl -X GET https://us-south.appid.cloud.ibm.com/management/v4/e19a2778-3262-4986-8875-8khjafsdkhjsdafkjh/cloud_directory/Users?query=example@domain.com -H "accept: application/json" -H "authorization: Bearer eyJraWQiOiIyMDE3MTEyOSIsImFsZ...." -
이전 단계에서 얻은 ID로
/users엔드포인트에 대한 GET 요청을 수행하여 전체 사용자 프로파일을 표시하십시오.curl -X GET "https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/users/<userID>/profile" \ -H "accept: application/json" \ -H "authorization: Bearer <token>"리소스 예:
{ "id": "a0791903-ed4c-41cf-bd0e-a37957dad820", "name": "David Test-user", "email": "dave.test@domain.com", "picture": "https://platform-lookaside.fbsbx.com/platform/profilepic/?asid=11122233344455566&height=50&width=50&ext=1569429199&hash=AaAaAAAAAaAAAaaA", "identities": [ { "provider": "facebook", "id": "11122233344455566", "idpUserInfo": { "id": "11122233344455566", "name": "David Test-user", "picture": { "data": { "height": 50, "is_silhouette": false, "url": "https://platform-lookaside.fbsbx.com/platform/profilepic/?asid=11122233344455566&height=50&width=50&ext=1569429199&hash=AaAaAAAAAaAAAaaA", "width": 50 } }, "first_name": "David", "last_name": "Test-user", "email": "dave.test@domain.com", "idpType": "facebook" } } ], "attributes": { "role": "admin" } }App ID 에서 지원하는 전체 사용자 데이터 집합을 보려면 SCIM 핵심 스키마를 확인하세요.
콘솔에서 사용자 지정 속성 설정하기
사용자 정의 속성을 설정하여 보유하고 있는 사용자 정의 정보(예: 역할 또는 선호도)를 사용자 프로파일에 추가할 수 있습니다. 속성을 설정하기 위해 App ID UI를 사용할 수 있습니다.
기본적으로 사용자 정의 속성은 수정 가능하며 클라이언트 애플리케이션의 App ID 액세스 토큰을 사용하여 업데이트할 수 있습니다. 액세스 토큰이 있는 경우 적절한 예방조치를 수행하지 않고 첫 번째 사용자 로그인 이후 즉시 사용자 또는 애플리케이션이 사용자 정의 속성을 업데이트할 수 있습니다. 이로 인해 잠재적으로 의도하지 않은 결과가 발생할 수 있습니다. 예를 들어 사용자가 해당 역할을 사용자에서 관리자로 변경하여 악의적 사용자에게 관리 권한을 노출시킬 수 있습니다.
-
App ID 대시보드의 사용자 프로파일 > 설정 탭으로 이동하십시오.
-
사용자 정의 속성을 사용 가능으로 전환하십시오.
-
속성을 설정하려는 사용자 행의 오버플로우 메뉴에서 프로파일 보기를 클릭하십시오.
-
사용자 정의 속성 섹션에서 편집을 클릭하십시오.
-
JSON 오브젝트로 추가할 속성을 입력하십시오. 예를 들어,
{"role":"admin"}입니다.
API를 사용하여 사용자 정의 속성 설정
관리자는 사용자 정의 속성을 설정하여 보유하고 있는 사용자 정의 정보(예: 역할 또는 선호도)를 사용자 프로파일에 추가할 수 있습니다. 속성을 설정하기 위해 App ID API를 사용하여 /users 엔드포인트를 호출할 수 있습니다. 사용자가 애플리케이션에 처음 사인인하기 전에 사용자 정의 속성을 설정하려면 향후 사용자 사전 등록을
참조하십시오.
기본적으로 사용자 정의 속성은 수정 가능하며 클라이언트 애플리케이션의 App ID 액세스 토큰을 사용하여 업데이트할 수 있습니다. 즉, 액세스 토큰이 있는 경우 적절한 예방조치를 수행하지 않고 첫 번째 사용자 사인인 이후 즉시 사용자 또는 애플리케이션이 사용자 정의 속성을 업데이트할 수 있습니다. 이로 인해 잠재적으로 의도하지 않은 결과가 발생할 수 있습니다. 예를 들어 사용자가 해당 역할을 사용자에서 관리자로 변경하여 악의적 사용자에게 관리 권한을 노출시킬 수 있습니다.
-
App ID 대시보드의 사용자 프로파일 > 설정 탭으로 이동하십시오.
-
사용자 정의 속성을 사용 가능으로 전환하십시오.
-
IAM 토큰을 얻으십시오.
-
IBM Cloud 대시보드에서 **관리 > 액세스(IAM)**를 클릭하십시오.
-
IBM Cloud API 키를 선택하십시오.
-
IBM Cloud API 키 작성을 클릭하십시오.
-
키에 이름을 지정하고 설명하십시오. 작성을 클릭하십시오. 사용자의 키가 있는 화면이 표시됩니다.
-
키 복사 또는 다운로드를 클릭하십시오. 화면을 닫으면 더 이상 키에 액세스할 수 없습니다.
-
작성한 API 키를 사용하여 다음과 같은 cURL 요청을 작성하십시오.
curl -k -X POST \ --header "Content-Type: application/x-www-form-urlencoded" \ --header "Accept: application/json" \ --data-urlencode "grant_type=urn:ibm:params:oauth:grant-type:apikey" \ --data-urlencode "apikey=<apikey>" \ "https://iam.cloud.ibm.com/identity/token"
-
-
/users엔드포인트에 대한 PUT 요청을 작성하십시오.curl -X PUT "https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/users/<userID>/profile" \ -H "accept: application/json" \ -H "Content-Type: application/json" \ -H "authorization: Bearer <token>" -d "{ \"attributes\": { \"points\": \"150\" } { \"role\": \"admin\" }}"
콘솔에서 프로필 삭제하기
관리자는 프로파일을 삭제하여 사용자 애플리케이션의 사용자를 제거할 수 있습니다.
-
App ID 인스턴스의 사용자 프로파일 > 프로파일 탭으로 이동하십시오.
-
테이블을 검토하거나 이메일 주소로 검색하여 정보를 보려는 사용자를 찾으십시오. 검색어는 정확해야 합니다.
-
사용자 행의 오버플로우 메뉴에서 삭제를 클릭하십시오. 확인 화면이 열립니다.
-
표시된 내용과 비교하여 이메일을 확인하여 올바른 사용자를 삭제하는지 확인하십시오. 올바른 사용자이면 삭제를 클릭하십시오. 이 조치는 실행 취소할 수 없습니다. 사용자를 다시 추가할 수 있지만 프로필에는 다시 추가한 날짜를 기준으로 새 사용자로 표시됩니다.
API를 사용하여 프로파일 삭제
관리자는 프로파일을 삭제하여 사용자 애플리케이션의 사용자를 제거할 수 있습니다.
-
서비스 인스턴스에서 테넌트 ID를 얻으십시오. 서비스 또는 애플리케이션 인증 정보에서 ID를 찾을 수 있습니다.
-
이메일 주소와 같은 식별 조회로 App ID 사용자를 검색하여 사용자 ID를 찾으십시오.
curl -X GET "https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/Users?query=<identifyingSearchQuery>" \ -H "accept: application/json" \ -H "authorization: Bearer <token>"예:
curl -X GET https://us-south.appid.cloud.ibm.com/management/v4/e19a2778-3262-4986-8875-8khjafsdkhjsdafkjh/cloud_directory/Users?query=example@domain.com -H "accept: application/json" -H "authorization: Bearer eyJraWQiOiIyMDE3MTEyOSIsImFsZ...." -
이전 단계에서 얻은 ID로
DELETE엔드포인트에 대한/users요청을 수행하여 프로파일을 삭제하십시오.curl -X DELETE "https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/users/<userID>/profile" \ -H "accept: application/json" \ -H "authorization: Bearer <token>"
사용자 프로파일 마이그레이션
경우에 따라 고가용성 또는 재해 복구를 보장하기 위해 App ID의 인스턴스를 계정에 추가해야 할 수도 있습니다. 또는 모두 함께 서비스의 인스턴스를 더 이상 사용하지 말아야 할 수 있습니다. 사용자 정보를 마이그레이션하기 위해 App ID의 한 인스턴스에서 사용자 프로파일을 내보내고 다른 인스턴스로 가져올 수 있습니다.
이 조치는 API를 통해서만 수행할 수 있습니다. 단계를 확인하려면 API 명령어로 전환하십시오.
사용자 프로파일 내보내기
프로파일을 새 인스턴스로 가져오려면 먼저 서비스의 원래 인스턴스에서 해당 프로파일을 내보내야 합니다.
-
App ID 인스턴스 모두에 대해 관리자 IAM 역할이 할당되었는지 확인합니다.
-
서비스의 원래 인스턴스에서 프로파일을 내보내십시오.
curl -X GET https://us-south.appid.cloud.ibm.com/management/v4/<tenantID>/users/export \ --header "Accept: application/json" \ --header "Authorization: Bearer <IAMToken>"사용자 가져오기 명령 변수 가변 설명 tenantID서비스 인증 정보에서 찾을 수 있는 서비스 테넌트 ID입니다. 서비스 또는 애플리케이션 인증 정보는 App ID 대시보드에서 찾을 수 있습니다. iam-token사용자의 IAM 토큰입니다. 리소스 예:
{ "itemsPerPage": 2, "totalResults": 2, "requestOptions": {}, "users": [ { "id": "7ae804f3-0ed3-45f0-bc6b-1c6af868e6d6", "name": "App ID Google User profile", "email": "your@mail.com", "identities": [ { "provider": "google", "id": "105646725068605084546", "idpUserInfo": { "id": "105646725068605084546", "email": "your@mail.com", "picture": "profilePic.jpg" } } ], "attributes": { "points": 150 }, "roles": ["admin"] { "id": "1439d777-185d-4be1-8f4a-c4e8142b87ea", "name": "App ID Facebook User profile", "email": "mail@mail.com", "identities": [ { "provider": "facebook", "id": "100195207128541", "picture": { "data": { "height": 50, "width": 50, "url": "https://url-to-idp-profile-picture.com" } }, "first_name": "AppID", "last_name": "Development" } ], "attributes": { "points": 250 }, "roles": ["admin"] } }
사용자 프로파일 가져오기
내보낸 사용자 프로파일 목록이 있으므로 프로파일을 새 인스턴스로 가져올 수 있습니다.
-
App ID 인스턴스 모두에 대해 관리자 IAM 역할이 할당되었는지 확인합니다.
-
사용자에게 역할이 지정된 경우, 역할과 범위를 App ID의 새 인스턴스에 작성해야 합니다.
역할과 범위는 이전 인스턴스에 있던 것과 마찬가지로 동일한 철자로 정확하게 작성해야 합니다.
-
사용자를 서비스의 새 인스턴스로 가져오십시오.
curl -X POST "https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/users/import" \ -H "accept: application/json" \ -H "Authorization: Bearer <bearerToken>" \ -H "Content-Type: application/json" \ -d "{ \"itemsPerPage\": 2, \"totalResults\": 2, \"requestOptions\": {}, \"users\": [ { \"id\": \"7ae804f3-0ed3-45f0-bc6b-1c6af868e6d6\", \"name\": \"App ID Google User profile\", \"email\": \"your@mail.com\", \"identities\": [ { \"provider\": \"google\", \"id\": \"105646725068605084546\", \"idpUserInfo\": { \"id\": \"{ID}\", \"email\": \"your@mail.com\", \"picture\": \"{profile.jpg}\" } } ], \"attributes\": { \"points\": 150 } { \"role\": admin } }, { \"id\": \"{userinfo}\", \"name\": \"App ID Facebook User profile\", \"email\": \"mail@mail.com\", \"identities\": [ { \"provider\": \"facebook\", \"id\": \"{id}\", \"picture\": { \"data\": { \"height\": 50, \"width\": 50, \"url\": \"https://{url}.com\" } }, \"first_name\": \"AppID\", \"last_name\": \"Development\" } ], \"attributes\": { \"points\": 250 } { \"role\": admin } } ]}"사용자를 App ID의 인스턴스로 가져올 때 ID 제공자의 ID는 동일하게 유지됩니다.