動的グループの作成と更新
このページでは、動的グループを作成、更新する方法について説明します。
始める前に
次の作業を実施した後、このページの内容に進んでください。
Groups API の概要を確認する。
動的グループの概要を確認する。
(省略可)メンバークエリを作成してテストします。
動的グループの作成
動的グループを作成する例を次に示します。
REST
動的グループを作成するには、そのグループのインスタンスを指定して groups.create()
を呼び出します。グループのインスタンスには、グループの入力に使用されたクエリを dynamicGroupMetadata
に含める必要があります。
Python
動的グループを作成するには、グループのインスタンスを指定して service.groups().create
メソッドを呼び出します。グループのインスタンスには、グループの入力に使用されたクエリを dynamicGroupMetadata
に含める必要があります。次のサンプルは、エンジニアリング部門に存在するすべてのユーザーを含む動的グループを作成する方法を示しています。
def create_dynamic_group(customer_id, email, query):
service = build_service()
groupDef = {
"parent": "customerId/{}".format(customer_id),
"groupKey": {"id": email},
"labels": {"cloudidentity.googleapis.com/groups.discussion_forum": ""},
"dynamicGroupMetadata": {
"queries": [
{
"resourceType": "USER",
"query": "user.organizations.exists(org, org.department=='engineering')"
}
]
}
}
request = service.groups().create(body=groupDef)
request.uri += "&initialGroupConfig=EMPTY"
response = request.execute()
return response
動的グループの更新
動的グループを更新する例を次に示します。
REST
動的グループを更新するには、そのグループのインスタンスを指定して groups.patch()
を呼び出します。グループのインスタンスには、グループの入力に使用された新しいクエリを dynamicGroupMetadata
に含める必要があります。
Python
動的グループを更新するには、更新するグループの名前と、グループのインスタンスを指定して service.groups().patch
メソッドを呼び出します。グループのインスタンスには、グループの入力に使用されたクエリを dynamicGroupMetadata
に含める必要があります。次のサンプルでは、エンジニアリング部門のすべてのユーザーを含む動的グループを、エンジニアリング部門または財務部門のすべてのユーザーを含むグループに更新する方法を示しています。
# name (i.e. groups/01234abcdeef) uniquely identifies the group
def update_dynamic_group(name, query):
service = build_service()
groupDef = {
"dynamicGroupMetadata": {
"queries": [
{
"resourceType": "USER",
"query": "user.organizations.exists(org, org.department=='engineering' || org.department=='finance')"
}
]
}
}
request = service.groups().patch(name=name, body=groupDef)
request.uri += "&updateMask=dynamicGroupMetadata"
response = request.execute()
return response
次のステップ
動的グループが作成されると、そのグループを取得してメンバーを一覧表示できます。詳細については、動的グループの取得とメンバーの一覧表示をご覧ください。