Python Permission SDK 참조

이 항목은 |native-app-perms|의 snowflake.permissions 모듈이 지원하는 함수에 대한 참조 정보를 제공합니다. |native-app-perms|를 사용하여 컨슈머 계정에서 권한을 요청하는 방법에 대해서는 권한 및 참조 요청을 위한 사용자 인터페이스 만들기 섹션을 참조하세요.

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()

앱에 대해 모든 필수 원격 분석 이벤트 정의가 활성화되었는지 확인합니다.

원격 분석 이벤트 공유에 대한 자세한 내용은 권한 SDK를 사용한 이벤트 정의 확인 섹션을 참조하세요.

서명:
is_application_all_mandatory_telemetry_event_definitions_enabled() -> bool
Copy
인자:

이 함수는 인수를 받지 않습니다.

반환:

앱에 대해 모든 필수 원격 분석 이벤트 정의가 활성화된 경우 TRUE를 반환합니다. 그렇지 않으면, FALSE를 반환합니다.

is_application_authorized_for_telemetry_event_sharing()

현재 애플리케이션이 원격 분석 이벤트 공유에 대한 권한을 부여받았는지 확인합니다.

원격 분석 이벤트 공유에 대한 자세한 내용은 권한 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 Gateway의 타입입니다. 이 매개 변수의 값은 다음 중 하나여야 합니다.

    • permissions.AwsGateway.API_GATEWAY

    • permissions.AwsGateway.PRIVATE_API_GATEWAY

    • permissions.AwsGateway.GOV_API_GATEWAY

    • permissions.AwsGateway.GOV_PRIVATE_API_GATEWAY

  • aws_role_arn: API Gateway가 컨슈머 계정에 액세스하는 데 사용하는 IAM 역할의 ARN(Amazon 리소스 이름)입니다.

  • api_key: API Gateway를 위한 선택적 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
인자:

요청할 참조의 이름을 포함하는 문자열 값입니다.

반환:

이 메서드는 값을 반환하지 않습니다.