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) 
- 实参:
- 包含要请求的引用名称的字符串值。 
- 返回:
- 此方法不会返回值。