Admin Settings API를 사용하면 Google Workspace 도메인의 관리자가 Google Data API 피드 형식으로 도메인의 설정을 검색하고 변경할 수 있습니다.
이러한 도메인 설정에는 Google Workspace 관리 콘솔에서 사용할 수 있는 많은 기능이 포함되어 있습니다. 이 API의 사용 예로는 맞춤 제어 패널을 만들거나 Google Workspace 도메인을 기존 레거시 환경에 통합하는 것이 있습니다.
Admin Settings API는 Google Data API 프로토콜을 구현합니다. Google Data API는 Atom 게시 프로토콜 (AtomPub) 게시 및 수정 모델을 준수합니다. AtomPub HTTP 요청은 웹 서비스에 REpresentational State Transfer (RESTful) 설계 접근 방식을 사용합니다. 자세한 내용은 Google 데이터 개발자 가이드를 참고하세요.
잠재고객
이 문서는 Google Workspace 도메인에 대한 정보를 수정하고 검색할 수 있는 클라이언트 애플리케이션을 작성하려는 개발자를 대상으로 합니다. 원시 XML 및 HTTP를 사용하는 기본 Admin Settings API 상호작용의 예를 제공합니다.
이 문서에서는 Google Data API 프로토콜의 일반적인 개념을 이해하고 있으며 Google Workspace 관리 콘솔에 익숙하다고 가정합니다. 관리 콘솔에 대한 자세한 내용은 관리 콘솔 사용하기를 참고하세요.
시작하기
계정 만들기
Admin Settings API는 Google Workspace 계정에 사용 설정되어 있습니다. 테스트 목적으로 Google Workspace 계정에 가입합니다. 관리 설정 서비스는 Google 계정을 사용하므로 Google Workspace 도메인에 이미 계정이 있는 경우 설정이 완료된 것입니다.
Admin Settings API 피드 유형에 대한 정보
Admin Settings API를 사용하면 다음과 같은 도메인 설정 카테고리를 관리할 수 있습니다.
- 싱글 사인온(SSO) 설정
SAML 기반 싱글 사인온 (SSO)을 사용하면 사용자가 Google Workspace 호스팅 서비스와 조직 내에서 호스팅하는 다른 서비스 모두에 동일한 로그인 ID와 비밀번호를 사용할 수 있습니다. 특히 SSO를 사용하는 경우 Google Workspace와 같은 호스팅된 웹 애플리케이션은 사용자가 로그인할 때 사용자를 조직의 ID 공급업체로 리디렉션하여 사용자를 인증합니다. 자세한 내용은 Google Workspace용 SAML 기반 SSO 이해하기를 참고하세요.
SSO를 구성하려면 Google Workspace 서비스가 사용자의 로그인 정보를 저장하는 ID 공급업체와 통신하는 데 필요한 정보를 입력하고 사용자가 로그인, 로그아웃, 비밀번호 변경을 위해 이동해야 하는 링크를 설정해야 합니다. Admin Settings API를 사용하면 이러한 설정을 프로그래매틱 방식으로 업데이트하고 검색할 수 있습니다. Google은 생성된 공개 키를 사용하여 ID 공급업체에 이 SSO 요청을 확인하고 네트워크 전송 중에 비공개 키 SAML 응답이 수정되지 않았는지 확인합니다.
SSO 설정 사용에 관한 간단한 API별 요약을 보려면 ID 공급업체에서 공개 키 인증서를 가져오고, Google에 공개 키를 등록하고, SAML 기반 SSO 쿼리 설정을 설정하세요. 오류 메시지는 SSO 문제 해결을 참고하세요.- 키 생성: ID 제공업체에서 DSA 또는 RSA 알고리즘을 사용하여 공개 키와 비공개 키 집합을 생성합니다. 공개 키는 X.509 형식의 인증서에 있습니다. SAML 기반 싱글 사인온 서명 키에 관한 자세한 내용은 Google Workspace 싱글 사인온 서비스용 키 및 인증서 생성을 참고하세요.
- Google에 등록: Admin Settings API의 싱글 사인온 설정을 사용하여 공개 키 인증서를 Google에 등록합니다.
- SSO 설정 설정: Admin Settings API의 싱글 사인온 설정을 사용하여 도메인의 ID 공급업체 서버와 통신하는 데 사용되는 설정을 구성합니다.
- 게이트웨이 및 라우팅 설정
이 피드를 사용하면 도메인 관리자가 도메인의 이메일 라우팅을 제어할 수 있습니다.
이메일 라우팅 작업을 사용하면 관리자가 도메인 수준 이메일 라우팅 설정을 지정할 수 있습니다. 이는 관리 콘솔의 Gmail 설정에 있는 이메일 라우팅 기능과 유사합니다. 자세한 내용은 이메일 라우팅 및 이메일 라우팅 기능의 이중 전송 구성을 참고하세요.
Admin Settings API XML 요청 및 응답 샘플
이 문서에서는 원시 XML 및 HTTP를 사용하는 기본 Admin Settings API 요청 및 응답의 코드 예를 제공합니다. 이 도메인 기본 언어 예에서는 각 작업에 공통적인 요청 및 응답 항목 본문의 전체 XML 및 HTTP 문법을 보여줍니다.
도메인의 발신 이메일 게이트웨이 설정을 변경하려면 게이트웨이 피드 URL로 HTTP PUT
를 전송합니다.
https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/email/gateway
도메인 기본 언어 PUT
요청 AtomPub entry
XML은 다음과 같습니다.
<atom:entry xmlns:atom='http://www.w3.org/2005/Atom'
xmlns:apps='http://schemas.google.com/apps/2006'>
<apps:property name='smartHost' value='smtp.out.domain.com' />
<apps:property name='smtpMode' value='SMTP' />
</atom:entry>
작업별 속성과 값을 제외하고 atom:property
요소는 가져오거나 업데이트하려는 속성에 관한 정보가 포함된 단일 키-값 쌍을 나타냅니다. 이는 모든 Admin Settings API 요청 본문에 공통적으로 적용됩니다.
도메인 기본 언어 응답 entry
요소는 모든 Admin Settings API 응답 본문에 공통적인 XML 문법과 함께 smartHost
및 smtpMode
속성을 반환합니다.
<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
<id>https://apps-apis.google.com/a/feeds/domain/2.0/domainName/email/gateway</id>
<updated>2008-12-17T23:59:23.887Z</updated>
<link rel='self' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/domain/
2.0/domainName/email/gateway'/>
<link rel='edit' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/domain/
2.0/domainName/email/gateway'/>
<apps:property name='smartHost' value='smtp.out.domain.com' />
<apps:property name='smtpMode' value='SMTP' />
</entry>
싱글 사인온 설정 관리
Google Workspace 싱글 사인온 (SSO) 기능을 사용하면 사용자가 로그인 ID와 비밀번호를 한 번만 입력하면 여러 서비스에 로그인할 수 있습니다. 이 비밀번호는 Google Workspace가 아닌 도메인의 ID 공급자가 저장합니다. 자세한 내용은 고객센터의 SSO 페이지를 참고하세요. 다음 섹션에서는 SSO 설정에 사용되는 XML 형식을 보여줍니다.
싱글 사인온 설정 가져오기
싱글 사인온 설정을 검색하려면 SSO 일반 피드 URL에 HTTP GET
를 전송하고 관리 설정 서비스에 인증에 설명된 대로 Authorization
헤더를 포함합니다. 오류 메시지는 SSO 문제 해결을 참고하세요.
https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/sso/general
이 작업에는 요청 본문에 매개변수가 없습니다.
응답이 성공하면 HTTP 200 OK
상태 코드와 함께 도메인의 SSO 설정이 포함된 AtomPub 피드가 반환됩니다.
GET 응답 XML은 samlSignonUri
, samlLogoutUri
, changePasswordUri
, enableSSO
, ssoWhitelist
, useDomainSpecificIssuer
속성을 반환합니다.
<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
<apps:property name='samlSignonUri' value='http://www.example.com/sso/signon'/>
...
<apps:property name='samlLogoutUri' value='http://www.example.com/sso/logout'/>
<apps:property name='changePasswordUri' value='http://www.example.com/sso/changepassword'/>
<apps:property name='enableSSO' value='true'/>
<apps:property name='ssoWhitelist' value='CIDR formatted IP address'/>
<apps:property name='useDomainSpecificIssuer' value='false'/>
</entry>
속성에는 다음이 포함됩니다.
- samlSignonUri
- Google Workspace에서 사용자 인증을 위한 SAML 요청을 전송하는 ID 제공업체의 URL입니다.
- samlLogoutUri
- 사용자가 웹 애플리케이션에서 로그아웃할 때 이동할 주소입니다.
- changePasswordUri
- 사용자가 웹 애플리케이션의 SSO 비밀번호를 변경하려고 할 때 전송되는 주소입니다.
- enableSSO
- 이 도메인에 SAML 기반 SSO를 사용 설정합니다. 이전에 SSO 설정을 구성한 후
enableSSO
를enableSSO=false
로 설정해도 이전에 입력한 설정은 계속 저장됩니다. - ssoWhitelist
- ssoWhitelist는 클래스 없는 도메인 간 라우팅 (CIDR) 형식의 네트워크 마스크 IP 주소입니다. ssoWhitelist는 SSO를 사용하여 로그인하는 사용자와 Google Workspace 계정 인증 페이지를 사용하여 로그인하는 사용자를 결정합니다. 마스크를 지정하지 않으면 모든 사용자가 SSO를 사용하여 로그인합니다. 자세한 내용은 네트워크 마스크의 작동 방식을 참고하세요.
- useDomainSpecificIssuer
- 도메인별 발급기관은 ID 공급업체에 대한 SAML 요청에 사용할 수 있습니다. 대부분의 SSO 배포에는 필요하지 않지만, 단일 ID 공급업체를 사용하여 여러 하위 도메인으로 전체 조직을 인증하는 대기업에 유용합니다. 특정 도메인 발급자를 지정하면 요청과 연결할 하위 도메인이 결정됩니다. 자세한 내용은 SAML 요청의 Issuer 요소는 어떻게 작동하나요?를 참고하세요.
어떠한 이유로든 요청이 실패하면 다른 상태 코드가 반환됩니다. Google Data API 상태 코드에 관한 자세한 내용은 HTTP 상태 코드를 참고하세요.
싱글 사인온 설정 업데이트
도메인의 SSO 설정을 업데이트하려면 먼저 싱글 사인온 설정 검색 작업을 사용하여 SSO 설정을 가져와 수정한 다음 SSO 피드 URL에 PUT
요청을 전송합니다. 업데이트된 항목의 <id>
값이 기존 항목의 <id>
와 정확히 일치하는지 확인합니다. Admin Settings API 서비스 인증에 설명된 대로 Authorization
헤더를 포함합니다. 오류 메시지는 SSO 문제 해결을 참고하세요.
싱글 사인온 설정을 업데이트할 때 SSO 일반 피드 URL에 HTTP PUT을 전송합니다.
https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/sso/general
PUT
요청의 XML 본문은 다음과 같습니다.
<atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
<apps:property name='enableSSO' value='false' />
<apps:property name='samlSignonUri' value='http://www.example.com/sso/signon' />
<apps:property name='samlLogoutUri' value='http://www.example.com/sso/logout' />
<apps:property name='changePasswordUri' value='http://www.example.com/sso/changepassword' />
<apps:property name='ssoWhitelist' value='127.0.0.1/32' />
<apps:property name='useDomainSpecificIssuer' value='false'/>
</atom:entry>
응답에 HTTP 200 OK
상태 코드와 SSO 설정이 포함된 AtomPub 피드가 반환됩니다.
PUT
응답 XML은 다음과 같습니다.
<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
...
<apps:property name='samlSignonUri' value='http://www.example.com/sso/signon'/>
<apps:property name='samlLogoutUri' value='http://www.example.com/sso/logout'/>
<apps:property name='changePasswordUri' value='http://www.example.com/sso/changepassword'/>
<apps:property name='enableSSO' value='false'/>
<apps:property name='ssoWhitelist' value='127.0.0.1/32'/>
<apps:property name='useDomainSpecificIssuer' value='false'/>
</entry>
어떠한 이유로든 요청이 실패하면 다른 상태 코드가 반환됩니다. Google Data API 상태 코드에 관한 자세한 내용은 HTTP 상태 코드를 참고하세요.
타겟 고객이 민감한 작업에 대한 복수 사용자 승인 체계를 사용 설정한 경우 싱글 사인온 설정을 변경할 수 없습니다. 요청이 errorCode="1811"
및 reason="LegacyInboundSsoChangeNotAllowedWithMultiPartyApproval"
과 함께 실패합니다.
싱글 사인온 서명 키 검색
싱글 사인온 서명 키를 검색하려면 SSO 서명 키 피드 URL에 HTTP GET
를 전송하고 관리 설정 서비스에 인증에 설명된 대로 Authorization
헤더를 포함합니다. 오류 메시지는 SSO 문제 해결을 참고하세요.
https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/sso/signingkey
이 작업에는 요청 본문에 매개변수가 없습니다.
응답이 성공하면 서명 키가 포함된 AtomPub 피드와 함께 HTTP 200 OK
상태 코드가 반환됩니다.
GET
응답 XML은 signingKey
속성을 반환합니다.
<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
...
<apps:property name='signingKey' value='yourBase64EncodedPublicKey'/>
</entry>
어떠한 이유로든 요청이 실패하면 다른 상태 코드가 반환됩니다. Google Data API 상태 코드에 관한 자세한 내용은 HTTP 상태 코드를 참고하세요.
싱글 사인온 서명 키 업데이트
도메인의 SSO 서명 키를 업데이트하려면 먼저 싱글 사인온 서명 키 검색 작업을 사용하여 서명 키를 가져와 수정한 다음 SSO 서명 키 피드 URL에 PUT
요청을 전송합니다. 업데이트된 항목의 <id>
값이 기존 항목의 <id>
와 정확히 일치하는지 확인합니다. SAML 기반 싱글 사인온 서명 키에 관한 자세한 내용은 Google Workspace 싱글 사인온 서비스용 키 및 인증서 생성을 참고하세요.
싱글 사인온 서명 키를 업데이트할 때 SSO 서명 키 피드 URL에 HTTP PUT
를 전송합니다.
https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/sso/signingkey
PUT
요청 XML은 다음과 같습니다.
<atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps="http://schemas.google.com/apps/2006">
<apps:property name='signingKey' value='yourBase64EncodedPublicKey'/>
</atom:entry>
타겟 고객이 민감한 작업에 대한 복수 사용자 승인 체계를 사용 설정한 경우 싱글 사인온 설정을 변경할 수 없습니다. 요청이 errorCode="1811"
및 reason="LegacyInboundSsoChangeNotAllowedWithMultiPartyApproval"
과 함께 실패합니다.
이메일 게이트웨이 및 라우팅 관리
발신 이메일 게이트웨이 섹션에서는 Admin Settings API가 도메인 사용자의 발신 메일 라우팅을 지원하는 방법을 보여줍니다. 이메일 라우팅 섹션에서는 메일을 다른 메일 서버로 라우팅하는 방법을 보여줍니다.
발신 이메일 게이트웨이 설정 검색 중
아웃바운드 이메일 게이트웨이 설정을 검색하려면 게이트웨이 피드 URL로 HTTP GET
를 전송하고 관리 설정 서비스에 대한 인증에 설명된 대로 Authorization
헤더를 포함합니다.
https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/email/gateway
이 작업에는 요청 본문에 매개변수가 없습니다.
응답이 성공하면 이메일 게이트웨이 상태 정보가 포함된 AtomPub 피드와 함께 HTTP 200 OK 상태 코드가 반환됩니다.
GET
응답은 smartHost
및 smtpMode
속성을 반환합니다. 이러한 속성에 대한 자세한 내용은 외부 발신 이메일 게이트웨이 설정 업데이트를 참고하세요.
가능한 응답의 예는 다음과 같습니다.
<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
...
<apps:property name='smartHost' value='smtpout.domain.com'/>
<apps:property name='smtpMode' value='SMTP'/>
</entry>
어떠한 이유로든 요청이 실패하면 다른 상태 코드가 반환됩니다. Google Data API 상태 코드에 관한 자세한 내용은 HTTP 상태 코드를 참고하세요.
발신 이메일 게이트웨이 설정 업데이트
도메인의 발신 이메일 게이트웨이 설정을 업데이트하려면 게이트웨이 피드 URL에 HTTP PUT
요청을 보냅니다.
https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/email/gateway
PUT
요청 XML은 다음과 같습니다.
<atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps="http://schemas.google.com/apps/2006">
<apps:property name='smartHost' value='smtp.out.domain.com' />
<apps:property name='smtpMode' value='SMTP' />
</atom:entry>
요청 속성은 다음과 같습니다.
- smartHost
- SMTP 서버의 IP 주소 또는 호스트 이름입니다. Google Workspace에서 발신 메일을 이 서버로 라우팅합니다.
- smtpMode
- 기본값은 SMTP입니다. 다른 값인 SMTP_TLS는 메일을 전송할 때 TLS로 연결을 보호합니다.
응답이 성공하면 이메일 게이트웨이 설정 상태가 포함된 AtomPub 피드와 함께 HTTP 200 OK
상태 코드가 반환됩니다.
어떠한 이유로든 요청이 실패하면 다른 상태 코드가 반환됩니다. Google Data API 상태 코드에 관한 자세한 내용은 HTTP 상태 코드를 참고하세요.
이메일 라우팅 설정 관리
먼저 XML 요청을 만듭니다.
<atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps="http://schemas.google.com/apps/2006">
<apps:property name='routeDestination' value='route-smtp.domain.com'/>
<apps:property name='routeRewriteTo' value='true'/>
<apps:property name='routeEnabled' value='true'/>
<apps:property name='bounceNotifications' value='true'/>
<apps:property name='accountHandling' value='can be either allAccounts | provisionedAccounts | unknownAccounts'/>
</atom:entry>
요청 속성은 다음과 같습니다.
- routeDestination
- 이 대상은 이메일이 라우팅되는 SMTP-In 메일 서버의 호스트 이름 또는 IP 주소입니다. 호스트 이름 또는 IP 주소가 Google에서 확인되어야 합니다. 메일 호스트 이름 확인에 관한 자세한 내용은 이메일 라우팅을 사용한 Google Workspace 파일럿을 참고하세요.
- routeRewriteTo
- true이면 메일의 SMTP 봉투의
to:
필드가 대상 호스트 이름 (user@destination의 호스트 이름)으로 변경되고 메일이 대상 메일 서버의 이 사용자 주소로 전송됩니다.false
인 경우 이메일은 대상 메일 서버의 원본 메일의to:
이메일 주소 (user@original hostname)로 전송됩니다. 이는 관리 콘솔의 'SMTP 봉투 변경' 설정과 유사합니다. 자세한 내용은 이메일 라우팅을 위한 도메인 설정을 참고하세요. - routeEnabled
true
이면 이메일 라우팅 기능이 사용 설정된 것입니다.false
인 경우 기능이 사용 중지됩니다.- bounceNotifications
true
인 경우 전송에 실패하면 Google Workspace에서 발신자에게 반송 알림을 전송하도록 설정됩니다.- accountHandling
이 설정에 따라 도메인의 다양한 유형의 사용자가 이메일 라우팅의 영향을 받는 방식이 결정됩니다.
allAccounts
-- 모든 이메일을 이 대상에 전송합니다.provisionedAccounts
-- 사용자가 Google Workspace에 있는 경우 이 대상에 메일을 전송합니다.unknownAccounts
-- 사용자가 Google Workspace에 없는 경우 이 대상에 메일을 전송합니다. 이는 관리 콘솔의 '전송 이메일' 설정과 유사합니다. 기본 요건 및 메일 라우팅 사용 방법에 관한 자세한 내용은 이메일 라우팅의 도메인 설정을 참고하세요. ~ 이 요청을 게시하려면 이메일 라우팅 피드 URL로 HTTPPOST
를 전송하고 관리 설정 서비스에 인증에 설명된 대로Authorization
헤더를 포함합니다.
https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/emailrouting
응답이 성공하면 보관 파일 정보가 포함된 AtomPub 피드와 함께 HTTP 200 OK
상태 코드가 반환됩니다.
어떠한 이유로든 요청이 실패하면 다른 상태 코드가 반환됩니다. Google Data API 상태 코드에 관한 자세한 내용은 HTTP 상태 코드를 참고하세요.
2018년 10월 31일에 Endpoints 지원 종료
이 공지사항의 일환으로 다음 엔드포인트가 지원 중단되었습니다. 2018년 10월 31일에 지원 종료되어 더 이상 사용할 수 없습니다.
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/general/defaultLanguage
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/general/organizationName
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/general/currentNumberOfUsers
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/general/maximumNumberOfUsers
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/accountInformation/supportPIN
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/accountInformation/customerPIN
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/accountInformation/adminSecondaryEmail
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/accountInformation/edition
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/accountInformation/creationTime
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/accountInformation/countryCode
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/appearance/customLogo
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/verification/mx