앱은 OAuth를 사용하여 제로터치 등록 고객 API 호출을 승인합니다. 이 문서에서는 엔터프라이즈 모바일 관리 (EMM) 공급자 및 엔터프라이즈 IT 개발자와의 협업이 있었습니다. 이 문서를 읽으면 앱에서 API 요청을 승인하고 앱 사용자에게 계정 요구사항을 설명하는 방법을 알 수 있습니다.
승인 빠른 시작
- 제로터치 등록 API로 Google Cloud Platform 프로젝트 설정하기 OAuth 클라이언트 비밀번호를 확인하려면 이 마법사를 실행하세요.
- Java, .NET 또는 Python. Google의 API 클라이언트 라이브러리를 사용하여 다른 언어를 지원합니다.
개요
- 한 명 이상의 IT 관리자가 제로터치 등록 고객 계정의 사용자입니다.
- IT 관리자는 Google 계정을 사용하여 본인 인증을 진행합니다.
- API 요청은 OAuth2 토큰을 전달하여 IT 관리자입니다.
고객 계정
조직의 구성, 기기, (IT 관리자) 사용자는 확인할 수 있습니다. 고객 계정은 그룹과 비슷하며 확인할 수 있습니다 조직에서 처음 고객을 설정할 때 리셀러가 고객을 설정합니다. 제로터치 등록을 위해 기기를 구매합니다. IT 관리자는 의 다른 사용자를 관리합니다. 제로터치 등록 포털을 사용해 조직을 보호할 수 있습니다.
API는 숫자로 된 고객 ID를 사용하여 계정을 식별합니다. 고객 ID를 API 메서드를 호출할 때 URL 경로의 일부로 사용합니다. 앱은 사용자의 고객 ID를 제공해야 합니다.
아래 예시는 해당 사용자의 고객 계정을 가져오는 방법을 보여줍니다. 가 API 호출을 승인합니다.
자바
AndroidProvisioningPartner.Customers.List accountRequest = service.customers().list(); accountRequest.setPageSize(100); CustomerListCustomersResponse accountResponse = accountRequest.execute(); List<Company> customers = accountResponse.getCustomers(); if (customers == null || customers.isEmpty()) { // No accounts found for the user. Confirm the Google Account // that authorizes the request can access the zero-touch portal. System.out.println("No zero-touch enrollment account found."); } else { // Print the customers in this page. for (Company customer : customers) { System.out.format("%s\tcustomers/%d\n", customer.getCompanyName(), customer.getCompanyId()); } }
.NET
CustomersResource.ListRequest accountRequest = service.Customers.List(); accountRequest.PageSize = 100; CustomerListCustomersResponse accountResponse = accountRequest.Execute(); IList<Company> customers = accountResponse.Customers ?? new List<Company>(); if (customers.Count == 0) { // No accounts found for the user. Confirm the Google Account // that authorizes the request can access the zero-touch portal. Console.WriteLine("No zero-touch enrollment account found."); } foreach (Company customer in customers) { Console.WriteLine("{0}\tcustomers/{1}", customer.CompanyName, customer.CompanyId); }
Python
response = service.customers().list(pageSize=100).execute() if 'customers' not in response: # No accounts found for the user. Confirm the Google Account # that authorizes the request can access the zero-touch portal. print('No zero-touch enrollment account found.') response['customers'] = [] for customer in response['customers']: print('{0}\tcustomers/{1}'.format( customer['companyName'], customer['companyId']))
위의 예에서는 처음 100개의 계정만 출력하므로 앱에서 계정 결과 페이지를 탐색해야 합니다. 자세한 내용은 페이징된 결과.
조직에는 일반적으로 고객 계정이 하나이지만 더 큰 조직은
각 부서에 별도의 고객 계정을 사용할 수 있습니다. IT 관리자가 여러 고객 계정의 회원이 될 수 있으므로 앱은 사용자가 새 고객 계정을 찾고 사용하는 데 도움이 되어야 합니다. 앱에서
companyName
값입니다.
사용자
IT 관리자는 앱에서 관리자를 대신하여 전송하는 API 요청을 승인합니다. 받는사람 인증하려면 앱 사용자는 다음을 수행해야 합니다.
- Google 계정을 이메일 주소와 연결합니다.
- 동일한 이메일 주소를 사용하여 고객 계정에 가입합니다.
- 제로터치 등록 고객 서비스 약관(ToS)에 동의합니다.
앱 사용자의 설정에 도움이 되도록 시작 및 Google 계정 연결 확인하시기 바랍니다.
사용자 관리
IT 관리자가 제로터치에서 고객 계정의 사용자를 관리합니다. 등록할 수 있습니다. 고객 계정의 사용자는 소유자 또는 관리자 역할 중 하나를 갖습니다. 두 역할 모두 고객 API에 대해 동일한 액세스 권한을 갖지만 소유자는 다른 사용자를 관리할 수 있습니다.
서비스 약관 동의
앱 사용자가 API 호출을 승인하려면 먼저 최신 권한을 수락해야 합니다.
서비스 약관 이는 IT 관리자가 제로터치 등록을 처음 사용하거나
서비스 약관을 업데이트합니다 사용자가 최신 서비스 약관에 동의하지 않은 경우 API는
HTTP 403 Forbidden
상태 코드와 응답 본문에 다음이 포함됩니다.
TosError
사용자가 서명하면 포털에서 최신 서비스 약관에 동의하라는 메시지를 자동으로 표시합니다. 인치 앱에 포함할 수 있는 추천 접근 방식을 보려면 EMM 통합 가이드의 서비스 약관 처리를 참고하세요.
앱에 승인 추가
앱에서 고객 API로 전송하는 모든 요청에는 승인이 포함되어야 합니다. 토큰입니다. Google은 이 토큰을 사용하여 애플리케이션을 식별합니다. 왜냐하면 고객 API에서 사용자 데이터에 액세스하는 경우 데이터입니다. 앱이 OAuth 2.0 프로토콜을 사용하여 API 승인을 IT 관리자에게 위임합니다.
안내
Java, .NET, Python 앱을 위한 빠른 시작 가이드를 제공합니다. 다른 언어를 사용하는 경우 승인을 설정하는 방법은 다음과 같습니다. 있습니다.
승인에 대해 자세히 알아보려면 OAuth 2.0을 사용하여 Google에 액세스하기 API를 참고하세요.
승인 범위
API 승인 범위 사용
앱에서 https://www.googleapis.com/auth/androidworkzerotouchemm
요청
OAuth 2.0 액세스 토큰을
생성할 수 있습니다
범위 매개변수는 액세스 토큰이 호출을 허용하는 리소스 및 작업 집합을 제어합니다. 액세스 토큰은 작업 집합에 대해서만 유효합니다. 리소스 및 리소스에 대한 액세스 권한을 제공합니다 이 API는 위에 표시된 단일 제로터치 등록 범위로 모든 메서드와 리소스를 다룹니다.
Google API 클라이언트 라이브러리에서 사용되는 제로터치 등록 범위의 예는 Java, .NET, Python의 빠른 시작을 참고하세요. Google API 범위 사용에 대해 자세히 알아보려면 사용 OAuth 2.0을 통한 Google API 액세스를 참조하세요.
API 키 권장사항
애플리케이션에서 API 키를 사용할 때는 안전하게 보호해야 합니다. 사용자 인증 정보를 공개적으로 노출하면 계정이 유출되어 계정에 예상치 못한 비용이 부과될 수 있습니다. 보관하기 API 키를 안전하게 보호하려면 다음 권장사항을 따르세요.
- 코드에 API 키를 직접 삽입하지 마세요.
- 코드에 삽입된 API 키는 실수로 일반에 노출될 수 있습니다(예: 공유하는 코드에서 키를 삭제하는 것을 잊어버린 경우). 애플리케이션에 API 키를 삽입하는 대신 환경 변수 또는 애플리케이션 소스 외부의 파일에서 있습니다.
- 애플리케이션의 소스 트리 내에 있는 파일에 API 키를 저장하지 않습니다.
- API 키를 파일에 저장하는 경우 파일을 애플리케이션 소스 트리를 활용해 소스 코드 관리에 사용되는 키에서 키를 제거하지 않도록 합니다. 있습니다. 이는 공개 소스 코드를 사용하는 경우 특히 중요합니다. 관리 시스템입니다.
- API 키가 IP 주소, 리퍼러 URL, 필요한 모바일 앱에만
- 각 키를 사용할 수 있는 IP 주소, 리퍼러 URL, 모바일 앱을 제한하면 손상된 API 키로 인한 영향을 줄일 수 있습니다. 다음을 수행할 수 있습니다. Google API 콘솔에서 각 키를 사용할 수 있는 호스트와 앱 지정 사용자 인증 정보 페이지를 연 다음 새 API를 만들거나 키를 사용하거나 API의 설정을 수정할 수 있습니다. 키를 누릅니다.
- 필요 없는 API 키 삭제
- 공격에 노출되는 것을 최소화하려면 더 이상 필요하지 않은 API 키를 삭제하세요.
- API 키를 주기적으로 다시 생성
- Google API 콘솔에서 사용자 인증 정보 페이지에서 API 키를 선택하고 재생성하기 클릭 키를 사용할 수 있습니다. 그런 다음 새로 생성된 키를 누릅니다. 이전 키는 생성 후 24시간 동안 계속 작동합니다. 교체할 수 있습니다.
- 코드를 공개적으로 출시하기 전에 검토
- 코드에 API 키나 다른 비공개 항목이 포함되어서는 안 됩니다. 코드 공개 전에 확인해야 합니다.