Google 그룹스 멤버십 관리
그룹이 존재하면 그룹의 멤버십을 만들 수 있습니다. 이 페이지에서는 Cloud Identity Groups API를 사용하여 기본적인 멤버십 작업을 수행하는 방법을 설명합니다. Google 그룹을 만드는 방법은 Google 그룹스 만들기 및 검색하기를 참조하세요.
시작하기 전에
Cloud Identity API를 사용 설정합니다.
API 사용 설정에 필요한 역할
API를 사용 설정하려면
serviceusage.services.enable권한이 포함된 서비스 사용량 관리자 IAM 역할(roles/serviceusage.serviceUsageAdmin)이 필요합니다. 역할 부여 방법 알아보기인증을 설정하고 클라이언트 라이브러리를 설치합니다. 자세한 내용은 Cloud Identity Groups API 설정을 참조하세요.
Google 그룹에 멤버십 추가
REST
memberships.create 메서드를 사용하여 그룹에 멤버를 추가합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
-
GROUP_ID: 멤버를 추가할 그룹의 숫자 ID입니다. 단일 그룹의 ID를 찾으려면groups.lookup메서드를 사용합니다. 고객 또는 네임스페이스 아래의 모든 그룹 ID를 보려면groups.list메서드를 사용합니다. -
MEMBER_ID: 멤버의 ID입니다. Google 관리 항목의 경우 멤버의 이메일 주소를 사용합니다. 외부 ID 매핑 엔티티의 경우 ID 소스의 요구사항을 충족하는 문자열을 사용합니다. -
ROLE_NAME: 멤버에게 부여할 역할의 이름입니다.OWNER,MANAGER,MEMBER을 사용합니다. -
PROJECT_ID: 요청을 실행하는 데 사용할 Google Cloud 프로젝트의 영숫자 ID입니다.
HTTP 메서드 및 URL:
POST https://cloudidentity.googleapis.com/v1/groups/GROUP_ID/memberships
JSON 요청 본문:
{
"preferredMemberKey": {
"id": "MEMBER_ID"
},
"roles": [
{
"name": "MEMBER"
}
]
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
응답에는 요청의 상태를 나타내는 Operation이 포함됩니다.
완료된 작업에는 추가된 멤버십이 포함됩니다. 예를 들면 다음과 같습니다.
{
"done": true,
"response": {
"@type": "type.googleapis.com/google.apps.cloudidentity.groups.v1.Membership",
"name": "groups/GROUP_ID/memberships/123456789012345678901",
"preferredMemberKey": {
"id": "MEMBER_ID"
},
"roles": [
{
"name": "MEMBER"
}
]
}
}
memberships.create 메서드를 사용하여 멤버를 그룹의 관리자 또는 소유자로 추가할 수도 있습니다.
누군가를 그룹의 관리자로 지정하려면 절차에 따라 그룹에 멤버를 추가하되 다음 요청 본문을 사용합니다.
{ "preferredMemberKey": { "id": "MEMBER_ID" }, "roles": [ { "name": "MEMBER" } { "name": "MANAGER" } ] }
누군가를 그룹 소유자로 지정하려면 절차에 따라 그룹에 멤버를 추가하되 다음 요청 본문을 사용합니다.
{ "preferredMemberKey": { "id": "MEMBER_ID" }, "roles": [ { "name": "MEMBER" } { "name": "OWNER" } ] }
Python
다음 코드는 그룹에 멤버십을 추가하는 방법을 보여줍니다.
expiryDetail은 멤버십 만료를 설정하기 위해 추가할 수 있는 필드(선택사항)입니다. preferredMemberKey 값은 멤버의 이메일 주소입니다.
def create_google_group_membership(service, identity_source_id, group_id, member_key):
param = "&groupKey.id=" + group_id + "&groupKey.namespace=identitysources/" + identity_source_id
try:
lookupGroupNameRequest = service.groups().lookup()
lookupGroupNameRequest.uri += param
# Given a group ID and namespace, retrieve the ID for parent group
lookupGroupNameResponse = lookupGroupNameRequest.execute()
groupName = lookupGroupNameResponse.get("name")
# Create a membership object with a memberKey and a single role of type MEMBER
membership = {
"preferredMemberKey": {"id": member_key},
"roles" : {
"name" : "MEMBER",
"expiryDetail": {
"expireTime": "2021-10-02T15:01:23Z"
}
}
}
# Create a membership using the ID for the parent group and a membership object
response = service.groups().memberships().create(parent=groupName, body=membership).execute()
print(response)
except Exception as e:
print(e)
Google 그룹의 멤버십 나열
REST
memberships.list 메서드를 사용하여 그룹 멤버를 나열합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
-
GROUP_ID: 멤버를 나열할 그룹의 숫자 ID입니다. 단일 그룹의 ID를 찾으려면groups.lookup메서드를 사용합니다. 고객 또는 네임스페이스 아래의 모든 그룹 ID를 보려면groups.list메서드를 사용합니다. -
PROJECT_ID: 요청을 실행하는 데 사용할 Google Cloud 프로젝트의 영숫자 ID입니다.
HTTP 메서드 및 URL:
GET https://cloudidentity.googleapis.com/v1/groups/GROUP_ID/memberships
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
응답에는 그룹 내 모든 멤버의 배열과 해당 역할이 포함됩니다.
Python
다음 코드는 그룹의 멤버십을 나열합니다.
def list_google_group_memberships(service, group_id):
param = "&groupKey.id=" + group_id
try:
lookup_group_name_request = service.groups().lookup()
lookup_group_name_request.uri += param
lookup_group_name_response = lookup_group_name_request.execute()
group_name = lookup_group_name_response.get("name")
# List memberships
response = service.groups().memberships().list(parent=group_name).execute()
print(response)
except Exception as e:
print(e)