控制对多播群组范围的访问权限
本页面介绍了如何控制对多播群组范围的访问权限。
概览
您可以按如下方式更新哪些多播使用方项目可以访问多播群组范围:
- 更新群组范围以允许所有项目。
- 更新群组范围以在默认情况下拒绝所有项目。您可以选择在执行此过程时提供要允许的特定项目的列表。
- 配置多播使用方接受列表:对于在默认情况下拒绝所有项目的群组范围,您可以指定要允许的项目。
在更新对多播群组范围的访问权限之前,请考虑以下事项:
- 如果您的更新撤消了具有多播群组使用方激活的某个现有多播使用方项目的访问权限,则Google Cloud 会停用相应的多播群组使用方激活,但该资源仍存在于多播使用方项目中,状态为
OBSOLETE。 - 如果您想向之前撤消了其访问权限的多播使用方项目授予访问权限,则多播使用方网络管理员必须创建新的群组使用方激活。现有的
OBSOLETE资源无法重复使用。
更新群组范围以允许所有项目
本部分介绍如何更新多播群组范围以允许所有项目。
完成此过程后,任何有权访问网域的项目都可以使用此群组范围。
gcloud
如需更新多播群组范围以允许所有项目,请使用 network-services multicast-group-ranges update 命令并指定以下标志:
--no-require-explicit-accept- 如果多播使用方接受列表不为空,则还必须指定
--clear-consumer-accept-list标志。
gcloud beta network-services multicast-group-ranges update GROUP_RANGE_NAME \
--location=global \
--no-require-explicit-accept \
--clear-consumer-accept-list
将 GROUP_RANGE_NAME 替换为多播群组范围的名称。
API
如需更新多播群组范围以允许所有项目,请使用 multicastGroupRanges.patch 方法。
将 requireExplicitAccept 字段设置为 false。 如果使用方接受列表不为空,则还必须通过将 consumerAcceptList 字段的值设置为 [] 来清除该字段。
PATCH https://networkservices.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/multicastGroupRanges/GROUP_RANGE_NAME?updateMask=requireExplicitAccept,consumerAcceptList
{
"requireExplicitAccept": "false",
"consumerAcceptList": []
}
替换以下值:
PROJECT_ID:多播管理员项目的 IDGROUP_RANGE_NAME:多播群组范围的名称
更新群组范围以在默认情况下拒绝所有项目
本部分介绍如何更新多播群组范围以在默认情况下拒绝所有项目。
在以下步骤中,您可以选择提供可访问多播群组范围的特定项目的列表。或者,您也可以在以后指定要允许的项目,如配置多播使用方接受列表中所述。
gcloud
如需更新多播群组范围以在默认情况下拒绝所有项目,请使用 network-services multicast-group-ranges update 命令。
gcloud beta network-services multicast-group-ranges update GROUP_RANGE_NAME \
--location=global \
--require-explicit-accept \
[--consumer-accept-list=LIST_OF_CONSUMERS]
替换以下值:
GROUP_RANGE_NAME:多播群组范围的名称。LIST_OF_CONSUMERS:可以使用此多播群组范围的使用方项目的列表。您可以按项目 ID 或项目名称最多指定 100 个项目。如果现有的多播使用方项目在使用多播群组范围,并且您希望它们继续拥有访问权限,请在列表中指定该项目。否则, Google Cloud 会停用该群组范围所有现有的多播群组使用方激活。如果以后将项目重新添加到使用方接受列表,多播使用方网络管理员必须创建新的群组使用方激活。
您可以选择省略此标志,并在以后指定要允许的项目,如配置使用方接受列表中所述。
API
如需更新多播群组范围以在默认情况下拒绝所有项目,请使用 multicastGroupRanges.patch 方法。
将 requireExplicitAccept 字段设置为 true。 您可以选择设置 consumerAcceptList 字段。
PATCH https://networkservices.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/multicastGroupRanges/GROUP_RANGE_NAME?updateMask=requireExplicitAccept,consumerAcceptList
{
"requireExplicitAccept": "true",
"consumerAcceptList": [LIST_OF_CONSUMERS]
}
替换以下值:
PROJECT_ID:多播管理员项目的 IDGROUP_RANGE_NAME:多播群组范围的名称LIST_OF_CONSUMERS:可以使用此多播群组范围的使用方项目的列表。请使用以下格式:"project-1", "project-2"您可以按项目 ID 或项目名称最多指定 100 个项目。如果现有的多播使用方项目在使用多播群组范围,并且您希望它们继续拥有访问权限,请在列表中指定该项目。否则, Google Cloud 会停用该群组范围所有现有的多播群组使用方激活。如果以后将项目重新添加到使用方接受列表,多播使用方网络管理员必须创建新的群组使用方激活。
您可以选择从请求正文和更新掩码中省略
consumerAcceptList,并在之后指定要允许的项目,如配置使用方接受列表中所述。
配置多播使用方接受列表
本部分介绍如何为多播群组范围配置多播使用方接受列表。
如果多播群组范围在默认情况下拒绝所有项目,则可以按如下方式配置使用方接受列表:
设置新的接受列表
本部分介绍如何为多播群组范围设置新的多播使用方接受列表。
如果您是首次配置多播使用方接受列表,或者想要替换现有的使用方接受列表,请按照本部分中的步骤操作。如果您想保留现有列表并添加或移除多播使用方项目,请参阅将项目添加到接受列表或从接受列表中移除项目。
gcloud
如需为多播群组范围设置接受列表,请使用 network-services multicast-group-ranges update 命令。
gcloud beta network-services multicast-group-ranges update GROUP_RANGE_NAME \
--location=global \
--consumer-accept-list=LIST_OF_CONSUMERS
替换以下值:
GROUP_RANGE_NAME:多播群组范围的名称LIST_OF_CONSUMERS:一个或多个可以使用此多播群组范围的使用方项目。您可以按项目 ID 或项目名称最多指定 100 个项目。
API
如需为多播群组范围设置接受列表,请使用 multicastGroupRanges.patch 方法。
PATCH https://networkservices.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/multicastGroupRanges/GROUP_RANGE_NAME?updateMask=consumerAcceptList
{
"consumerAcceptList": [LIST_OF_CONSUMERS]
}
替换以下值:
PROJECT_ID:多播管理员项目的 IDGROUP_RANGE_NAME:多播群组范围的名称LIST_OF_CONSUMERS:一个或多个可以使用此多播群组范围的使用方项目。 请使用以下格式:"project-1", "project-2"。 您可以按项目 ID 或项目名称最多指定 100 个项目。
将项目添加到接受列表
本部分介绍如何将多播使用方项目添加到多播群组范围的接受列表。
gcloud
如需将多播使用方项目添加到接受列表,请使用 network-services multicast-group-ranges update 命令。
gcloud beta network-services multicast-group-ranges update GROUP_RANGE_NAME \
--location=global \
--add-consumer-accept-list=LIST_OF_CONSUMERS
替换以下值:
GROUP_RANGE_NAME:多播群组范围的名称LIST_OF_CONSUMERS:要添加到接受列表,以便它们可以使用此多播群组范围的一个或多个多播使用方项目。
API
如需将多播使用方项目添加到接受列表,请获取当前的接受列表,然后发出 API 请求以更新该列表:
如需获取群组范围的当前接受列表,请按照查看多播群组范围中的说明进行操作。复制接受列表,以便在下一步中使用。
如需更新接受列表,请使用
multicastGroupRanges.patch方法。PATCH https://networkservices.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/multicastGroupRanges/GROUP_RANGE_NAME?updateMask=consumerAcceptList { "consumerAcceptList": [UPDATED_LIST_OF_CONSUMERS] }替换以下值:
PROJECT_ID:多播管理员项目的 IDGROUP_RANGE_NAME:多播群组范围的名称UPDATED_LIST_OF_CONSUMERS:更新后的项目列表,其中包含要保留的现有项目以及要添加的任何新项目。请使用以下格式:"project-1", "project-2"。 该 API 会将整个使用方接受列表替换为您提供的列表。
从接受列表中移除项目
本部分介绍如何从多播群组范围的接受列表中移除多播使用方项目。
gcloud
如需从接受列表中移除多播使用方项目,请使用 network-services multicast-group-ranges update 命令。
gcloud beta network-services multicast-group-ranges update GROUP_RANGE_NAME \
--location=global \
--remove-consumer-accept-list=LIST_OF_CONSUMERS
替换以下值:
GROUP_RANGE_NAME:多播群组范围的名称LIST_OF_CONSUMERS:要从使用方接受列表中移除,以便它们无法使用此多播群组范围的一个或多个多播使用方项目。
API
如需从接受列表中移除多播使用方项目,请获取当前的接受列表,然后发出 API 请求以更新该列表:
如需获取群组范围的当前接受列表,请按照查看多播群组范围中的说明进行操作。复制接受列表,以便在下一步中使用。
如需更新接受列表,请使用
multicastGroupRanges.patch方法。PATCH https://networkservices.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/multicastGroupRanges/GROUP_RANGE_NAME?updateMask=consumerAcceptList { "consumerAcceptList": [UPDATED_LIST_OF_CONSUMERS] }替换以下值:
PROJECT_ID:多播管理员项目的 IDGROUP_RANGE_NAME:多播群组范围的名称UPDATED_LIST_OF_CONSUMERS:更新后的项目列表,其中包含要保留的现有项目,并排除任何要移除的项目。请使用以下格式:"project-1", "project-2"。 该 API 会将整个使用方接受列表替换为您提供的列表。
清除接受列表
本部分介绍了如何清除多播群组范围的接受列表。
gcloud
如需清除多播群组范围的使用方接受列表,请使用 network-services multicast-group-ranges update 命令。
gcloud beta network-services multicast-group-ranges update GROUP_RANGE_NAME \
--location=global \
--clear-consumer-accept-list
将 GROUP_RANGE_NAME 替换为多播群组范围的名称。
API
如需清除多播群组范围的使用方接受列表,请使用 multicastGroupRanges.patch 方法。
PATCH https://networkservices.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/multicastGroupRanges/GROUP_RANGE_NAME?updateMask=consumerAcceptList
{
"consumerAcceptList": []
}
替换以下值:
PROJECT_ID:多播管理员项目的 IDGROUP_RANGE_NAME:多播群组范围的名称