Google グループのメンバーシップの管理
グループを作成したら、そのグループのメンバーを作成できます。このページでは、Cloud Identity Groups API を使用してメンバーシップに関する基本的なオペレーションを行う方法について説明します。Google グループの作成方法については、Google グループの作成と検索をご覧ください。
始める前に
Enable the Cloud Identity API.
認証を設定し、クライアント ライブラリをインストールします。方法については、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)