Python Permission SDK 参考

本主题可提供 Python Permission SDK 的 snowflake.permissions 模块所支持的函数的参考信息。有关使用 Python Permission SDK 在使用者账户中请求权限的信息,请参阅 创建用户界面以请求权限和引用

get_application_specifications()

返回为应用程序定义的所有应用程序规范。

签名:
get_application_specifications()
Copy
实参:

此函数不接受任何实参。

返回:

字典数组,其中每个字典都包含以下键/值对:

{
  "name": "<value>",
  "requested_on": "<value>",
  "type": "<value>",
  "sequence_number": "<value>",
  "status": "<value>",
  "status_upgraded_on": "<value>",
  "label": "<value>",
  "description": "<value>",
  "definition": "<value>",
}
Copy

其中:

  • name:应用程序规范的名称。

  • requested_on:请求应用程序规范时的时间戳。

  • type:应用程序规范的类型。支持的值为:EXTERNAL ACCESS 和 SECURITY INTEGRATION。

  • sequence_number:应用程序规范版本的 ID。每次提供商更改 应用程序规范定义 时,该值都会递增。

  • status:指定应用程序规范的当前状态。可能的值:

    • APPROVED:使用者已批准应用程序规范。

    • DECLINED:应用程序规范正在等待使用者进行批准或拒绝。

    • DECLINED:使用者已拒绝应用程序规范。

    • PENDING:应用程序规范正在等待使用者进行批准或拒绝。

  • status_updated_on:上次状态更改的时间戳。

  • label:在 Snowsight 中向使用者显示的应用程序规范的名称。

  • description:在 Snowsight 中向使用者显示的应用程序规范的描述。

  • definition:作为 应用程序规范定义 一部分的值。此列的值取决于应用程序规范的类型。

get_detailed_reference_associations()

提供有关对使用者账户中对象的引用的详细信息。

签名:
get_detailed_reference_associations(reference_name: str) -> List[dict]
Copy
实参:

包含引用名称的字符串值。

返回:

返回代表字典数组的 JSON 对象。每个字典都包含如下键/值对:

{
  "alias": "<value>",
  "database": "<value>",
  "schema": "<value>",
  "name": "<value>"
}
Copy

其中:

  • alias:系统为引用生成的别名。

  • database:使用者对象的父数据库名称(如果该对象位于数据库中)。否则为 null。

  • schema:使用者对象的父架构(如果该对象位于架构中)。否则为 null。

  • name:使用者对象的名称。

get_held_account_privileges()

返回已向应用程序授予的权限。

签名:
get_held_account_privileges(privilege_names: [str]) -> [str]
Copy
实参:

包含要检查的权限名称的字符串值数组。

返回:

返回一个数组,其中包含基于传递给函数的权限数组已向应用程序授予的权限。

返回一个数组,其中包含基于传递给函数的权限数组授予的 Snowflake Native App 的权限。

get_missing_account_privileges()

返回尚未向应用程序授予的权限。

签名:
get_missing_account_privileges(privilege_names: [str]) -> [str]
Copy
实参:

包含要检查的权限名称的字符串值数组。

返回:

返回一个字符串数组,其中包含基于传递给函数的权限数组尚 向应用程序授予的权限。

get_reference_associations()

确定使用者账户中与引用关联的对象。

要获取有关对使用者账户中对象的引用的更多详细信息,请使用 get_detailed_reference_associations()

签名:
get_reference_associations(reference_name: str) -> [str]
Copy
实参:

包含引用名称的字符串值。

返回:

返回一个数组,其中包含使用者账户中绑定到引用的对象的别名(由 Snowflake 生成)。

is_application_all_mandatory _telemetry_event_definitions_enabled()

检查应用程序是否启用了所有必需的遥测事件定义。

有关遥测事件共享的更多信息,请参阅 使用 Permissions SDK 验证事件定义

签名:
is_application_all_mandatory_telemetry_event_definitions_enabled() -> bool
Copy
实参:

此函数不接受任何实参。

返回:

如果应用程序启用了所有必需的遥测事件定义,则返回 TRUE。否则返回 FALSE。

is_application_authorized_for_telemetry_event_sharing()

检查当前应用程序是否已获得遥测事件共享的授权。

有关遥测事件共享的更多信息,请参阅 使用 Permissions SDK 验证事件定义

签名:
is_application_authorized_for_telemetry_event_sharing() -> bool
Copy
实参:

此函数不接受任何实参。

返回:

如果应用程序已获得遥测事件共享的授权,则返回 TRUE。否则返回 FALSE。

is_application_local_to_package()

检查应用程序是否与应用程序包安装在同一个账户中。

签名:
is_application_local_to_package() -> bool
Copy
实参:

此函数不接受任何实参。

返回:

如果应用程序与应用程序包安装在同一个账户中,则返回 TRUE。否则返回 FALSE。

is_event_sharing_enabled()

检查应用程序是否启用了事件共享。

签名:
is_event_sharing_enabled() -> bool
Copy
实参:

此函数不接受任何实参。

返回:

如果 SHARE_EVENTS_WITH_PROVIDER 属性为 true,并且使用者账户配置了活跃事件表,则返回 TRUE。否则返回 FALSE。

is_external_data_enabled()

检查当前应用程序是否允许使用外部表和 Iceberg 表。

签名:
is_external_data_enabled() -> bool
Copy
实参:

此函数不接受任何实参。

返回:

如果应用程序允许使用外部表和 Iceberg 表,则返回 TRUE。否则返回 FALSE。

request_application_specification_review()

在 Streamlit 应用程序中打开一个对话框,允许使用者查看应用程序规范,然后批准、拒绝或不采取任何操作。只有应用程序规范是可选的,使用者才能拒绝该规范。

签名:
request_application_specification_review(spec_names: [str] = None)
Copy
实参:

可选的字符串值数组,其中包含要查看的应用程序规范的名称。如果未指定此参数,则对话框将显示为该应用程序定义的所有应用程序规范。

返回:

此方法不会返回值。

request_aws_api_integration()

向使用者请求 Amazon API Gateway 的 API 集成。

您必须在清单文件中定义 API 集成。有关更多信息,请参阅 CREATE API INTEGRATION,了解有关其他参数的信息。

签名:
request_aws_api_integration(id: str, allowed_prefixes: [str], gateway: AwsGateway, aws_role_arn: str, api_key: str = None, name: str = None, comment: str = None)
Copy
实参:
  • id:清单文件中定义的 API 集成的名称。

  • allowed_prefixes:字符串值数组,其中包含 API 集成允许的前缀。

  • gateway:要使用的 API 网关的类型。此参数必须为以下值之一:

    • permissions.AwsGateway.API_GATEWAY

    • permissions.AwsGateway.PRIVATE_API_GATEWAY

    • permissions.AwsGateway.GOV_API_GATEWAY

    • permissions.AwsGateway.GOV_PRIVATE_API_GATEWAY

  • aws_role_arn:API 网关用来访问使用者账户的 IAM 角色的 Amazon Resource Name (ARN)。

  • api_key:API 网关的可选 API 密钥。

  • name:API 集成的可选名称。

  • comment:API 集成的可选注释。

有关其他可能参数的信息,请参阅 CREATE API INTEGRATION

返回:

包含引用名称的字符串值。

request_azure_api_integration()

向使用者请求 Azure API Management 的 API 集成。

您必须在清单文件中定义 API 集成。有关更多信息,请参阅 CREATE API INTEGRATION,了解有关其他参数的信息。

签名:
request_azure_api_integration(id: str, allowed_prefixes: [str], tenant_id: str, application_id: str, api_key: str = None, name: str = None, comment: str = None)
Copy
实参:
  • id:清单文件中定义的 API 集成的名称。

  • allowed_prefixes:字符串值数组,其中包含 API 集成允许的前缀。

  • tenant_id:Azure API Management 的租户 ID。

  • application_id:Azure API Management 的应用程序 ID。

  • api_key:Azure API Management 的可选 API 密钥。

  • name:API 集成的可选名称。

  • comment:API 集成的可选注释。

返回:

此方法不会返回值。

request_event_sharing()

在 Streamlit 应用程序中打开一个对话框,允许使用者与该应用程序共享事件。

签名:
request_event_sharing()
Copy
实参:

此函数不接受任何实参。

返回:

此方法不会返回值。

request_external_data()

请求使用者同意使用外部表和 Iceberg 表。

签名:
request_external_data()
Copy
实参:

此函数不接受任何实参。

返回:

此方法不会返回值。

request_google_api_integration()

向使用者请求 Google Cloud API Gateway 的 API 集成。

您必须在清单文件中定义 API 集成。有关更多信息,请参阅 CREATE API INTEGRATION,了解有关其他参数的信息。

签名:
request_google_api_integration(id: str, allowed_prefixes: [str], audience: str, name: str = None, comment: str = None, api_key: str = None
Copy
实参:
  • id:清单文件中定义的 API 集成的名称。

  • allowed_prefixes:字符串值数组,其中包含 API 集成允许的前缀。

  • audience:Google Cloud API Gateway 的受众。

  • name:API 集成的可选名称。

  • comment:API 集成的可选注释。

  • api_key:Google Cloud API Gateway 的可选 API 密钥。

返回:

此方法不会返回值。

request_account_privileges()

请求从传递给函数的字符串数组所指定的使用者那里获得权限。指定的权限必须在清单文件中列出。

签名:
request_account_privileges(privileges: [str])
Copy
实参:

包含应用程序请求的权限列表的字符串数组。

返回:

此方法不会返回值。

request_reference()

请求从传递给函数的字符串所指定的使用者那里获得引用。传递给函数的引用必须在清单文件中定义。

请参阅 引用中可以包含的对象类型和权限,了解引用中可以包含的对象及其支持的权限的列表。

签名:
request_reference(reference: str)
Copy
实参:

包含要请求的引用名称的字符串值。

返回:

此方法不会返回值。

语言: 中文