Python Permission SDK 参考¶
本主题可提供 Python Permission SDK 的 snowflake.permissions
模块所支持的函数的参考信息。有关使用 Python Permission SDK 在使用者账户中请求权限的信息,请参阅 创建用户界面以请求权限和引用。
get_application_specifications()¶
返回为应用程序定义的所有应用程序规范。
- 签名:
get_application_specifications()
- 实参:
此函数不接受任何实参。
- 返回:
字典数组,其中每个字典都包含以下键/值对:
{ "name": "<value>", "requested_on": "<value>", "type": "<value>", "sequence_number": "<value>", "status": "<value>", "status_upgraded_on": "<value>", "label": "<value>", "description": "<value>", "definition": "<value>", }
其中:
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]
- 实参:
包含引用名称的字符串值。
- 返回:
返回代表字典数组的 JSON 对象。每个字典都包含如下键/值对:
{ "alias": "<value>", "database": "<value>", "schema": "<value>", "name": "<value>" }
其中:
alias
:系统为引用生成的别名。database
:使用者对象的父数据库名称(如果该对象位于数据库中)。否则为 null。schema
:使用者对象的父架构(如果该对象位于架构中)。否则为 null。name
:使用者对象的名称。
get_held_account_privileges()¶
返回已向应用程序授予的权限。
- 签名:
get_held_account_privileges(privilege_names: [str]) -> [str]
- 实参:
包含要检查的权限名称的字符串值数组。
- 返回:
返回一个数组,其中包含基于传递给函数的权限数组已向应用程序授予的权限。
返回一个数组,其中包含基于传递给函数的权限数组授予的 Snowflake Native App 的权限。
get_missing_account_privileges()¶
返回尚未向应用程序授予的权限。
- 签名:
get_missing_account_privileges(privilege_names: [str]) -> [str]
- 实参:
包含要检查的权限名称的字符串值数组。
- 返回:
返回一个字符串数组,其中包含基于传递给函数的权限数组尚 未 向应用程序授予的权限。
get_reference_associations()¶
确定使用者账户中与引用关联的对象。
要获取有关对使用者账户中对象的引用的更多详细信息,请使用 get_detailed_reference_associations()。
- 签名:
get_reference_associations(reference_name: str) -> [str]
- 实参:
包含引用名称的字符串值。
- 返回:
返回一个数组,其中包含使用者账户中绑定到引用的对象的别名(由 Snowflake 生成)。
is_application_all_mandatory _telemetry_event_definitions_enabled()¶
检查应用程序是否启用了所有必需的遥测事件定义。
有关遥测事件共享的更多信息,请参阅 使用 Permissions SDK 验证事件定义。
- 签名:
is_application_all_mandatory_telemetry_event_definitions_enabled() -> bool
- 实参:
此函数不接受任何实参。
- 返回:
如果应用程序启用了所有必需的遥测事件定义,则返回 TRUE。否则返回 FALSE。
is_application_local_to_package()¶
检查应用程序是否与应用程序包安装在同一个账户中。
- 签名:
is_application_local_to_package() -> bool
- 实参:
此函数不接受任何实参。
- 返回:
如果应用程序与应用程序包安装在同一个账户中,则返回 TRUE。否则返回 FALSE。
is_event_sharing_enabled()¶
检查应用程序是否启用了事件共享。
- 签名:
is_event_sharing_enabled() -> bool
- 实参:
此函数不接受任何实参。
- 返回:
如果 SHARE_EVENTS_WITH_PROVIDER 属性为 true,并且使用者账户配置了活跃事件表,则返回 TRUE。否则返回 FALSE。
is_external_data_enabled()¶
检查当前应用程序是否允许使用外部表和 Iceberg 表。
- 签名:
is_external_data_enabled() -> bool
- 实参:
此函数不接受任何实参。
- 返回:
如果应用程序允许使用外部表和 Iceberg 表,则返回 TRUE。否则返回 FALSE。
request_application_specification_review()¶
在 Streamlit 应用程序中打开一个对话框,允许使用者查看应用程序规范,然后批准、拒绝或不采取任何操作。只有应用程序规范是可选的,使用者才能拒绝该规范。
- 签名:
request_application_specification_review(spec_names: [str] = None)
- 实参:
可选的字符串值数组,其中包含要查看的应用程序规范的名称。如果未指定此参数,则对话框将显示为该应用程序定义的所有应用程序规范。
- 返回:
此方法不会返回值。
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)
- 实参:
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)
- 实参:
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()
- 实参:
此函数不接受任何实参。
- 返回:
此方法不会返回值。
request_external_data()¶
请求使用者同意使用外部表和 Iceberg 表。
- 签名:
request_external_data()
- 实参:
此函数不接受任何实参。
- 返回:
此方法不会返回值。
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
- 实参:
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])
- 实参:
包含应用程序请求的权限列表的字符串数组。
- 返回:
此方法不会返回值。
request_reference()¶
请求从传递给函数的字符串所指定的使用者那里获得引用。传递给函数的引用必须在清单文件中定义。
请参阅 引用中可以包含的对象类型和权限,了解引用中可以包含的对象及其支持的权限的列表。
- 签名:
request_reference(reference: str)
- 实参:
包含要请求的引用名称的字符串值。
- 返回:
此方法不会返回值。