diff --git a/confluence-mdx/etc/korean-titles-translations.txt b/confluence-mdx/etc/korean-titles-translations.txt index a812f09f1..bbf0298bc 100644 --- a/confluence-mdx/etc/korean-titles-translations.txt +++ b/confluence-mdx/etc/korean-titles-translations.txt @@ -31,6 +31,7 @@ DB 정책 예외 요청하기 (DB Policy Exception Request) | Requesting DB Poli # Database Access Control 웹 SQL 에디터로 접속하기 | Connecting with Web SQL Editor +웹 SQL 에디터 사용하기 | Using Web SQL Editor Default Privilege 설정하기 | Setting Default Privilege 에이전트 없이 프록시 접속하기 | Connecting to Proxy without Agent Google BigQuery OAuth 인증을 통해 접속하기 | Connecting via Google BigQuery OAuth Authentication @@ -130,6 +131,7 @@ Server Proxy 사용 활성화 | Enabling Server Proxy # Kubernetes Connection Management AWS에서 쿠버네티스 리소스 동기화 | Synchronizing Kubernetes Resources from AWS +Google 클라우드 GKE 리소스 동기화 | Synchronizing GKE Resources from Google Cloud 수동으로 쿠버네티스 클러스터 등록하기 | Manually Registering Kubernetes Clusters # Kubernetes Access Control diff --git a/confluence-mdx/var/convert-manifests/convert-manifest.qm.yaml b/confluence-mdx/var/convert-manifests/convert-manifest.qm.yaml index 13bf4e9e1..2d6a706ce 100644 --- a/confluence-mdx/var/convert-manifests/convert-manifest.qm.yaml +++ b/confluence-mdx/var/convert-manifests/convert-manifest.qm.yaml @@ -705,6 +705,10 @@ outputs: type: page kind: navigation path: administrator-manual/kubernetes/connection-management/cloud-providers/_meta.ts +- page_id: '2325086215' + type: page + kind: mdx + path: administrator-manual/kubernetes/connection-management/cloud-providers/synchronizing-gke-resources-from-google-cloud.mdx - page_id: '544381739' type: page kind: mdx @@ -1425,14 +1429,14 @@ outputs: type: page kind: mdx path: user-manual/database-access-control/connecting-via-google-bigquery-oauth-authentication.mdx -- page_id: '544380222' - type: page - kind: mdx - path: user-manual/database-access-control/connecting-with-web-sql-editor.mdx - page_id: '544380354' type: page kind: mdx path: user-manual/database-access-control/setting-default-privilege.mdx +- page_id: '544380222' + type: page + kind: mdx + path: user-manual/database-access-control/using-web-sql-editor.mdx - page_id: '544384011' type: page kind: mdx diff --git a/confluence-mdx/var/pages.qm.yaml b/confluence-mdx/var/pages.qm.yaml index ea67cc491..51ae666ce 100644 --- a/confluence-mdx/var/pages.qm.yaml +++ b/confluence-mdx/var/pages.qm.yaml @@ -322,20 +322,20 @@ - "database-access-control" - "page_id": "544380222" "type": "page" - "title": "웹 SQL 에디터로 접속하기" - "title_orig": "웹 SQL 에디터로 접속하기" + "title": "웹 SQL 에디터 사용하기" + "title_orig": "웹 SQL 에디터 사용하기" "breadcrumbs": - "사용자 매뉴얼" - "Database Access Control" - - "웹 SQL 에디터로 접속하기" + - "웹 SQL 에디터 사용하기" "breadcrumbs_en": - "User Manual" - "Database Access Control" - - "Connecting with Web SQL Editor" + - "Using Web SQL Editor" "path": - "user-manual" - "database-access-control" - - "connecting-with-web-sql-editor" + - "using-web-sql-editor" - "page_id": "544380354" "type": "page" "title": "Default Privilege 설정하기" @@ -3214,6 +3214,28 @@ - "connection-management" - "cloud-providers" - "synchronizing-kubernetes-resources-from-aws" +- "page_id": "2325086215" + "type": "page" + "title": "Google 클라우드 GKE 리소스 동기화" + "title_orig": "Google 클라우드 GKE 리소스 동기화" + "breadcrumbs": + - "관리자 매뉴얼" + - "Kubernetes" + - "Connection Management" + - "Cloud Providers" + - "Google 클라우드 GKE 리소스 동기화" + "breadcrumbs_en": + - "Administrator Manual" + - "Kubernetes" + - "Connection Management" + - "Cloud Providers" + - "Synchronizing GKE Resources from Google Cloud" + "path": + - "administrator-manual" + - "kubernetes" + - "connection-management" + - "cloud-providers" + - "synchronizing-gke-resources-from-google-cloud" - "page_id": "544381839" "type": "page" "title": "Clusters" diff --git a/public/administrator-manual/servers/sac-general-configurations/image-20260804-071014.png b/public/administrator-manual/servers/sac-general-configurations/image-20260804-071014.png new file mode 100644 index 000000000..35a82b42f Binary files /dev/null and b/public/administrator-manual/servers/sac-general-configurations/image-20260804-071014.png differ diff --git "a/public/administrator-manual/servers/server-access-control/access-control/granting-and-revoking-permissions/3.-Permissions-\353\266\200\354\227\254-\353\260\217-\355\232\214\354\210\230\355\225\230\352\270\260.png" "b/public/administrator-manual/servers/server-access-control/access-control/granting-and-revoking-permissions/3.-Permissions-\353\266\200\354\227\254-\353\260\217-\355\232\214\354\210\230\355\225\230\352\270\260.png" new file mode 100644 index 000000000..c712446f3 Binary files /dev/null and "b/public/administrator-manual/servers/server-access-control/access-control/granting-and-revoking-permissions/3.-Permissions-\353\266\200\354\227\254-\353\260\217-\355\232\214\354\210\230\355\225\230\352\270\260.png" differ diff --git a/public/administrator-manual/servers/server-access-control/policies/setting-server-access-policy/image-20260804-101830.png b/public/administrator-manual/servers/server-access-control/policies/setting-server-access-policy/image-20260804-101830.png new file mode 100644 index 000000000..4205c5453 Binary files /dev/null and b/public/administrator-manual/servers/server-access-control/policies/setting-server-access-policy/image-20260804-101830.png differ diff --git a/public/user-manual/database-access-control/using-web-sql-editor/image-20240731-115955.png b/public/user-manual/database-access-control/using-web-sql-editor/image-20240731-115955.png new file mode 100644 index 000000000..42601b146 Binary files /dev/null and b/public/user-manual/database-access-control/using-web-sql-editor/image-20240731-115955.png differ diff --git a/public/user-manual/database-access-control/using-web-sql-editor/image-20240802-052240.png b/public/user-manual/database-access-control/using-web-sql-editor/image-20240802-052240.png new file mode 100644 index 000000000..980982b81 Binary files /dev/null and b/public/user-manual/database-access-control/using-web-sql-editor/image-20240802-052240.png differ diff --git a/public/user-manual/database-access-control/using-web-sql-editor/image-20240802-052539.png b/public/user-manual/database-access-control/using-web-sql-editor/image-20240802-052539.png new file mode 100644 index 000000000..3312b73bf Binary files /dev/null and b/public/user-manual/database-access-control/using-web-sql-editor/image-20240802-052539.png differ diff --git a/public/user-manual/database-access-control/using-web-sql-editor/image-20240802-053427.png b/public/user-manual/database-access-control/using-web-sql-editor/image-20240802-053427.png new file mode 100644 index 000000000..a8b4daa8c Binary files /dev/null and b/public/user-manual/database-access-control/using-web-sql-editor/image-20240802-053427.png differ diff --git a/public/user-manual/database-access-control/using-web-sql-editor/image-20240802-054007.png b/public/user-manual/database-access-control/using-web-sql-editor/image-20240802-054007.png new file mode 100644 index 000000000..33dc60121 Binary files /dev/null and b/public/user-manual/database-access-control/using-web-sql-editor/image-20240802-054007.png differ diff --git a/public/user-manual/database-access-control/using-web-sql-editor/image-20241031-233232.png b/public/user-manual/database-access-control/using-web-sql-editor/image-20241031-233232.png new file mode 100644 index 000000000..d60b9baa6 Binary files /dev/null and b/public/user-manual/database-access-control/using-web-sql-editor/image-20241031-233232.png differ diff --git a/public/user-manual/database-access-control/using-web-sql-editor/image-20251218-115500.png b/public/user-manual/database-access-control/using-web-sql-editor/image-20251218-115500.png new file mode 100644 index 000000000..e72e962ac Binary files /dev/null and b/public/user-manual/database-access-control/using-web-sql-editor/image-20251218-115500.png differ diff --git a/public/user-manual/database-access-control/using-web-sql-editor/screenshot-20240802-141439.png b/public/user-manual/database-access-control/using-web-sql-editor/screenshot-20240802-141439.png new file mode 100644 index 000000000..b82afede0 Binary files /dev/null and b/public/user-manual/database-access-control/using-web-sql-editor/screenshot-20240802-141439.png differ diff --git a/public/user-manual/database-access-control/using-web-sql-editor/screenshot-20240802-141927.png b/public/user-manual/database-access-control/using-web-sql-editor/screenshot-20240802-141927.png new file mode 100644 index 000000000..dfe58c11e Binary files /dev/null and b/public/user-manual/database-access-control/using-web-sql-editor/screenshot-20240802-141927.png differ diff --git a/src/content-route-redirects.yaml b/src/content-route-redirects.yaml index 91224b196..568ff09b7 100644 --- a/src/content-route-redirects.yaml +++ b/src/content-route-redirects.yaml @@ -2,6 +2,10 @@ destination: /support/operational-log-collection-guide created_on: '2026-07-28' expires_on: '2026-09-22' +- source: /user-manual/database-access-control/connecting-with-web-sql-editor + destination: /user-manual/database-access-control/using-web-sql-editor + created_on: '2026-08-10' + expires_on: '2026-10-05' - source: /user-manual/kubernetes-access-control/web-client destination: /user-manual/kubernetes-access-control/connecting-to-kubernetes-clusters-with-web-client created_on: '2026-07-28' diff --git a/src/content/en/administrator-manual/audit/server-logs/access-control-logs.mdx b/src/content/en/administrator-manual/audit/server-logs/access-control-logs.mdx index 3b5b12dcb..59737d54f 100644 --- a/src/content/en/administrator-manual/audit/server-logs/access-control-logs.mdx +++ b/src/content/en/administrator-manual/audit/server-logs/access-control-logs.mdx @@ -80,19 +80,24 @@ Administrator > Audit > Servers > Access Control Logs > Access Contr 9. **Expiration Date** : Permission grant expiration date (scheduled revocation date) 10. **Account** : Server account 11. **Action By** : Administrator name or System who performed the permission grant/revocation - 1. When permissions are granted through Workflow, an Access Request link appears and opens the corresponding Request page in a new window. 2. The bottom lists policies applied to the granted/revoked Permission: 1. Access Control related logs - Policy 1. **Access Time** : Access allowed time 2. **Weekday Access Allow** : Access allowed weekdays 3. **IP Addresses** : Access allowed IP addresses 4. **Command Audit** : Command recording status - 5. **Proxy Usage** : Access through Proxy (Agent) availability - 6. **Max Sessions** : Maximum number of access sessions - 7. **Session Timeout (minutes)** : Session timeout time setting - 8. **Protocols** : Access protocols - 9. **Command Template** : Applied prohibited command set + 5. **Session Recording**: Whether session recording was enabled when the Permission was granted. (Supported from 11.5.8 and 11.6.6) + 6. **Session Recording Max Size (MB)**: Maximum chunk size of the session recording file applied when the Permission was granted. (Supported from 11.5.8 and 11.6.6) + 7. **Proxy Usage** : Access through Proxy (Agent) availability + 8. **Require Privilege** : Whether privilege elevation is required + 9. **Allow Local Port Forwarding** : Whether local port forwarding is allowed (Supported from 10.3.0) + 10. **Allow RDP Clipboard** : Whether RDP clipboard use is allowed (Supported from 11.5.8 and 11.6.6) + 11. **Max Sessions** : Maximum number of access sessions + 12. **Session Timeout (minutes)** : Session timeout time setting + 13. **Protocols** : Access protocols + 14. **Command Template** : Applied prohibited command set 2. Whitelist related logs - Whitelisted Commands 1. **Keyword** : Exception handling keyword 2. **RegEx** : Exception handling regular expression 3. **Whitelist Expiration Date** : Exception handling expiration date + diff --git a/src/content/en/administrator-manual/audit/server-logs/session-logs.mdx b/src/content/en/administrator-manual/audit/server-logs/session-logs.mdx index ac11f955c..9c6722cd1 100644 --- a/src/content/en/administrator-manual/audit/server-logs/session-logs.mdx +++ b/src/content/en/administrator-manual/audit/server-logs/session-logs.mdx @@ -3,6 +3,8 @@ title: 'Session Logs' confluenceUrl: 'https://querypie.atlassian.net/wiki/spaces/QM/pages/544014927/Session+Logs' --- +import { Callout } from 'nextra/components' + # Session Logs ### Overview @@ -10,6 +12,10 @@ confluenceUrl: 'https://querypie.atlassian.net/wiki/spaces/QM/pages/544014927/Se Records server access sessions managed by the organization. Administrators can monitor users' work execution history within servers through video playback. + +Starting with 11.5.8 and 11.6.6, the Session Recording option is available, and session recording logs are generated only when this option is set to On. + + ### Viewing Session Logs
diff --git a/src/content/en/administrator-manual/databases/dac-general-configurations.mdx b/src/content/en/administrator-manual/databases/dac-general-configurations.mdx index a6ef5a88f..f8430c46b 100644 --- a/src/content/en/administrator-manual/databases/dac-general-configurations.mdx +++ b/src/content/en/administrator-manual/databases/dac-general-configurations.mdx @@ -64,7 +64,7 @@ You can use the query sharing feature on the SQL Editor screen. * When saving, query files are stored in the linked Repository. * You can load query files stored in the repository from Queries panel > QueryPie Git Sharing folder. -For detailed description, please refer to [Connecting with Web SQL Editor](../../user-manual/database-access-control/connecting-with-web-sql-editor). +For details, see [Using Web SQL Editor](../../user-manual/database-access-control/using-web-sql-editor). ______ diff --git a/src/content/en/administrator-manual/kubernetes.mdx b/src/content/en/administrator-manual/kubernetes.mdx index 814859d68..2f488aef7 100644 --- a/src/content/en/administrator-manual/kubernetes.mdx +++ b/src/content/en/administrator-manual/kubernetes.mdx @@ -63,6 +63,7 @@ Clicking on linked items will take you to pages where you can immediately check * [Synchronizing Kubernetes Resources from AWS](kubernetes/connection-management/cloud-providers/synchronizing-kubernetes-resources-from-aws) +* [Synchronizing GKE Resources from Google Cloud](kubernetes/connection-management/cloud-providers/synchronizing-gke-resources-from-google-cloud) * [Manually Registering Kubernetes Clusters](kubernetes/connection-management/clusters/manually-registering-kubernetes-clusters) diff --git a/src/content/en/administrator-manual/kubernetes/connection-management/cloud-providers/_meta.ts b/src/content/en/administrator-manual/kubernetes/connection-management/cloud-providers/_meta.ts index d03e3e512..2e1630fdc 100644 --- a/src/content/en/administrator-manual/kubernetes/connection-management/cloud-providers/_meta.ts +++ b/src/content/en/administrator-manual/kubernetes/connection-management/cloud-providers/_meta.ts @@ -1,3 +1,4 @@ export default { 'synchronizing-kubernetes-resources-from-aws': 'Synchronizing Kubernetes Resources from AWS', + 'synchronizing-gke-resources-from-google-cloud': 'Synchronizing GKE Resources from Google Cloud', }; diff --git a/src/content/en/administrator-manual/kubernetes/connection-management/cloud-providers/synchronizing-gke-resources-from-google-cloud.mdx b/src/content/en/administrator-manual/kubernetes/connection-management/cloud-providers/synchronizing-gke-resources-from-google-cloud.mdx new file mode 100644 index 000000000..af2b5e718 --- /dev/null +++ b/src/content/en/administrator-manual/kubernetes/connection-management/cloud-providers/synchronizing-gke-resources-from-google-cloud.mdx @@ -0,0 +1,198 @@ +--- +title: 'Synchronizing GKE Resources from Google Cloud' +confluenceUrl: 'https://querypie.atlassian.net/wiki/spaces/QM/pages/2325086215/Google+GKE' +--- + +import { Callout } from 'nextra/components' + +# Synchronizing GKE Resources from Google Cloud + +### Overview + +QueryPie supports GCP integration for Kubernetes cluster registration and management. +You can synchronize GKE clusters in a GCP Project, register them as clusters managed by QueryPie, and grant users and groups Kubernetes API access and configure policies for the synchronized clusters. + +This document explains how to register a GCP Service Account Key JSON directly in QueryPie and synchronize GKE Standard or Autopilot clusters. + + +GKE resource synchronization from GCP is available in versions 11.5.4 and later and 11.6.1 and later. + + +### Prerequisites + +1. Identify the target GCP Project ID. +2. Verify that the GKE cluster to synchronize was created as a GKE Standard or Autopilot cluster. +3. Prepare GCP administrator permissions to create a Service Account, grant IAM roles, and create a Service Account Key. +4. Prepare QueryPie administrator permissions to create and synchronize a KAC Cloud Provider. +5. Verify that the following APIs are enabled in the GCP Project. + +| **API** | **Purpose** | +| ------------------------------------- | ---------------------------------------------------------------- | +| `container.googleapis.com` | List GKE clusters, retrieve Endpoint and CA, and access the Kubernetes API | +| `iam.googleapis.com` | Create the Service Account and Key | +| `cloudresourcemanager.googleapis.com` | Configure Project IAM Binding | + +If the APIs are not enabled, enable them from **APIs & Services > Enabled APIs & services** in the GCP Console, or run the following command. +``` +gcloud services enable \ + container.googleapis.com \ + iam.googleapis.com \ + cloudresourcemanager.googleapis.com \ + --project= +``` + +### Creating and Granting Permissions to a GCP Service Account + +Create a dedicated QueryPie Service Account so that QueryPie can authenticate with GCP and GKE. +``` +gcloud iam service-accounts create querypie-kac-gke \ + --display-name="QueryPie KAC GKE" \ + --project= +export QUERYPIE_GKE_SA="querypie-kac-gke@.iam.gserviceaccount.com" +``` + +Grant the Service Account the IAM role required for GKE cluster synchronization and Kubernetes API access. +``` +gcloud projects add-iam-policy-binding \ + --member="serviceAccount:${QUERYPIE_GKE_SA}" \ + --role="roles/container.admin" +``` + +The `roles/container.admin` role includes the `container.clusters.impersonate` permission required for QueryPie KAC cluster synchronization and user and group impersonation. + +### Creating a Service Account Key JSON + +Create the Service Account Key JSON file to register as a QueryPie Cloud Provider Credential. +``` +gcloud iam service-accounts keys create querypie-kac-gke-key.json \ + --iam-account="${QUERYPIE_GKE_SA}" \ + --project= +``` + +Enter the entire contents of the generated JSON file in QueryPie without converting it to Base64. + + +Security notice: The private_key in the Service Account Key JSON is a long-lived credential. +Do not upload the original content to Git, a Wiki, messenger, or a ticket. After registering it in QueryPie, manage the original file according to your organization's key retention and deletion policies. +After saving a Cloud Provider in QueryPie, you cannot modify the Service Account JSON or replace it with another Service Account. Register a new Cloud Provider if you need to change the Credential. + + +### Registering GCP Integration Information in QueryPie + +1. Navigate to **Administrator > Kubernetes > Connection Management > Cloud Providers**. +2. Click the `+ Create Provider` button in the upper-right corner. +3. In **Name**, enter a name that identifies the provider. +4. In **Cloud Provider**, select **GCP**. +5. In **Project ID**, enter the GCP Project ID containing the GKE clusters. +6. In **Credential**, select **Service Account**. +7. In **Service Account JSON**, enter the entire contents of the `querypie-kac-gke-key.json` file. +8. Configure **Search Filter** or **Auto Configuration Upon Synchronization > Tag** as needed. +9. In **Replication Frequency**, select a synchronization method. + * **Manual**: Synchronizes resources manually only when synchronization is initiated. + * **Scheduling**: Synchronizes resources periodically based on a Cron Expression. +10. Click `Dry Run` to preview the Credential and cluster lookup results. +11. Click `Save` to save the Cloud Provider. + +### Synchronizing and Managing a Registered GCP Cloud Provider + +1. Navigate to **Administrator > Kubernetes > Connection Management > Cloud Providers**. +2. Click the registered GCP Cloud Provider to open its details page. +3. Click `Synchronize` in the upper-right corner to synchronize GKE clusters from GCP. +4. Check the synchronization progress in the displayed **Synchronization Log**. +5. You can also check the synchronization history in **Settings > Systems > Jobs**. +6. Verify that the GKE clusters are registered in **Administrator > Kubernetes > Connection Management > Clusters**. + +QueryPie uses the `projects//locations/-/clusters` API to retrieve GKE clusters from every location in the Project. +You can synchronize both Standard and Autopilot GKE clusters. + +After registering a Cloud Provider, some provider information cannot be changed. + +| **Field** | **Editable** | +| ----------------------------------------------------------------------- | ------------ | +| Name | Yes | +| Cloud Provider | No | +| Project ID | No | +| Credential | No | +| Service Account JSON | No | +| Vault Secret Store (only when “Vault(GCP)” is selected for Credential) | No | +| Roleset Path (only when “Vault(GCP)” is selected for Credential) | No | +| Search Filter | Yes | +| Auto Configuration Upon Synchronization > Tag | No | +| Use Regular Expression Search | Yes | +| Use Case-sensitive Search | Yes | +| Replication Frequency | Yes | + +### Differences Between GKE Standard and Autopilot + +| **Field** | **Standard** | **Autopilot** | +| ---------------------------------------- | ------------ | ------------- | +| Cluster synchronization | Supported | Supported | +| Custom user and group impersonation | Supported | Supported | +| `system:*` user and group impersonation | Supported | Not supported | + +In Autopilot, you cannot use `system:*` groups such as `system:masters` as impersonation groups in a KAC Policy. +When using a custom group, create a `ClusterRoleBinding` in the target GKE cluster that connects the group to the required Kubernetes `ClusterRole` for both Standard and Autopilot. + +For example, if you use the `querypie:kac-admins` group as an impersonation group in QueryPie, you can configure the following `ClusterRoleBinding` in the target GKE cluster. +``` +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: querypie-kac-admins +subjects: + - kind: Group + name: querypie:kac-admins + apiGroup: rbac.authorization.k8s.io +roleRef: + kind: ClusterRole + name: cluster-admin + apiGroup: rbac.authorization.k8s.io +``` + +In a production environment, we recommend using a least-privilege `ClusterRole` that follows your organization's policies instead of `cluster-admin`. + + +For more information, refer to the following links. +* [Google Cloud: GKE roles and permissions](https://cloud.google.com/iam/docs/roles-permissions/container) +* [Google Cloud: GKE Autopilot security](https://cloud.google.com/kubernetes-engine/docs/concepts/autopilot-security) + + +### Dry Run/Synchronization Log Messages + +| **When it occurs** | **Message** | +| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Dry Run or Synchronize starts | `Cluster synchronize started.` | +| A new cluster is added | `New Cluster is added: {Cluster Name} (https://{Endpoint}).` | +| An existing cluster is updated | `Cluster {Cluster Name} is updated.` | +| An existing cluster is removed | `Cluster {Cluster Name} is removed.` | +| Dry Run or Synchronize completes successfully | `Cluster synchronize succeeded.` | +| Synchronization fails due to a duplicate cluster name | `Cluster synchronization failed. The cluster name “{Cluster Name}” is already in use by another cluster. To synchronize it, delete the existing cluster.` | +| Dry Run or Synchronize fails | `Cluster synchronize failed. {additional statement}` | +| Synchronization skips a cluster because its Endpoint cannot be retrieved | `Skipping cluster {Cluster Name}: endpoint not available (cluster may be provisioning).` | +| Synchronization skips a cluster because its CA certificate cannot be retrieved | `Skipping cluster {Cluster Name}: CA certificate not available.` | +| Adding a new cluster fails | `Failed to add cluster {Cluster Name}: {additional statement}` | +| Updating an existing cluster fails | `Failed to update cluster {Cluster Name}: {additional statement}` | +| Deleting an existing cluster fails | `Failed to delete cluster {Cluster Name}: {additional statement}` | + +### Frequently Asked Questions + +#### Q. Do I need to encode the Service Account JSON in Base64 before entering it? + +A. No. Enter the entire contents of the `querypie-kac-gke-key.json` file as-is. + +#### Q. Can I synchronize GKE Autopilot clusters? + +A. Yes. +You can synchronize both GKE Standard and Autopilot clusters. +However, Autopilot does not support `system:*` user and group impersonation such as `system:masters`. We recommend using a custom group and the required Kubernetes RBAC Binding. + +#### Q. Can I modify the Project ID or Credential after saving the Cloud Provider? + +A. No. +After saving the provider, you cannot change core connection information such as Cloud Provider, Project ID, Credential, or Service Account JSON. +Register a new Cloud Provider if you need to use another Project or Credential. + +#### Q. Synchronization succeeded, but the user cannot connect to the cluster. + +A. Even after the cluster is registered in QueryPie, the user or group must be granted KAC access and assigned a policy separately. +If you use a custom impersonation group, verify that the group is connected to a Kubernetes `RoleBinding` or `ClusterRoleBinding` in the target GKE cluster. diff --git a/src/content/en/administrator-manual/servers/connection-management/server-groups/managing-servers-as-groups.mdx b/src/content/en/administrator-manual/servers/connection-management/server-groups/managing-servers-as-groups.mdx index f588ee4af..1009263f7 100644 --- a/src/content/en/administrator-manual/servers/connection-management/server-groups/managing-servers-as-groups.mdx +++ b/src/content/en/administrator-manual/servers/connection-management/server-groups/managing-servers-as-groups.mdx @@ -227,5 +227,5 @@ You can register server group members to specify Server Groups displayed in user To limit Server Groups shown in Workflow, you must activate the "Show Server Groups in Workflow if Assigned as Member" item in Admin > Servers > General > Configurations. -For detailed location, please refer to the [Server Access Request Default Settings | Basic Server Access Policy Settings](../../sac-general-configurations#default-policy-settings-for-server-permission-requests) guide. +For detailed location, please refer to the [Server Access Request Default Settings | Basic Server Access Policy Settings](../../sac-general-configurations#server-access-request-default-settings) guide. diff --git a/src/content/en/administrator-manual/servers/sac-general-configurations.mdx b/src/content/en/administrator-manual/servers/sac-general-configurations.mdx index c775d8096..629d0b485 100644 --- a/src/content/en/administrator-manual/servers/sac-general-configurations.mdx +++ b/src/content/en/administrator-manual/servers/sac-general-configurations.mdx @@ -106,7 +106,7 @@ When accessing Windows Servers without RDP Server Agent installed, the following * Provisioning accounts and One Time Accounts can be registered in the system. * When accessing servers, the system automatically creates temporary accounts on the server. -#### Default Policy Settings for Server Permission Requests +#### Server Access Request Default Settings Manage server access policies applied when assigning Direct Permissions through Workflow requests. @@ -122,7 +122,10 @@ For more details, please refer to [Requesting Server Access Request](../../user-
-Screenshot-2025-07-22-at-3.09.36-PM.png +Admin > Servers > General > Configurations > Server Access Request Default Settings +
+Admin > Servers > General > Configurations > Server Access Request Default Settings +
* Maximum Access Duration : Set the maximum usage period for server access permissions @@ -138,6 +141,9 @@ For more details, please refer to [Requesting Server Access Request](../../user- * **Proxy Usage**: Whether to allow proxy access through Agent for this permission * **Allow Local Port Forwarding**: Whether to allow Port Forwarding from Client * Used when using Port Forwarding such as VSCode +* **Allow RDP Clipboard**: Whether to allow clipboard use in RDP sessions +* **Session Recording**: Sets whether session recording is enabled by default for server access Permissions granted through Server Access Request. The default is On. When set to Off, the session recording option for Permissions created by the request is set to Off. (Supported from 11.5.8 and 11.6.6) +* **Session Recording Max Size**: Sets the maximum chunk size of session recording files in MB. The default is 100 MB, and you can enter a value from 10 MB to 1024 MB. This item cannot be configured when Session Recording is Off. (Supported from 11.5.8 and 11.6.6) * **Max Sessions**: Maximum concurrent connections per server * **Session Timeout**: Server session timeout criteria time (minutes) * **Show Server Groups in Workflow if Assigned as Member :** When checked, only server groups assigned as Server Group Members are displayed when users apply for Server Access Request diff --git a/src/content/en/administrator-manual/servers/server-access-control/access-control/granting-and-revoking-permissions.mdx b/src/content/en/administrator-manual/servers/server-access-control/access-control/granting-and-revoking-permissions.mdx index 50fe966f2..af52925a2 100644 --- a/src/content/en/administrator-manual/servers/server-access-control/access-control/granting-and-revoking-permissions.mdx +++ b/src/content/en/administrator-manual/servers/server-access-control/access-control/granting-and-revoking-permissions.mdx @@ -50,7 +50,7 @@ If more than 1000 servers are registered in a single server group, add servers t #### 3. Step 2: Set access policies for the selected servers.
-Administrator > Servers > Server Access Control > Access Control > Details > Grant Permissions Step 2 +Administrator > Servers > Server Access Control > Access Control > Details > Grant Permissions Step 2
Administrator > Servers > Server Access Control > Access Control > Details > Grant Permissions Step 2
@@ -60,30 +60,30 @@ Administrator > Servers > Server Access Control > Access Control > D 2. Each policy item is as follows: 1. **`{n}` Server(s) selected**: This item displays the number of Servers selected in Step 1 x the number of Accounts. Clicking shows each item in list format. 2. **Set Permissions by Minute**: When this option is selected, server access permissions can be set in minutes. When the checkbox is selected, the following setting items are activated. - 1. Start Trigger : Select the permission grant start condition + 1. **Start Trigger** : Select the permission grant start condition 1. Access to the Server : Permissions are activated immediately when the user accesses the server. Regardless of server session maintenance, you can access the server for the specified period from the activation time. 2. Grant : The timer starts immediately upon permission grant, and permissions are valid only for the specified period regardless of the user's actual access. 2. **Duration(Minutes)**: Enter the valid time in minutes for the permission. 3. **Expiration Date**: Set the access permission expiration date. Can be set up to a maximum of 1 year. (Default = 1 year later) 4. **Protocols**: Use the protocol to be used for server access. 5. **Command Template**: Set the command set that cannot be used after accessing the server. You can check the detailed conditions set by clicking Command Template Details below.
*Limitation: (10.2.1) Only Command Templates set to Deny can be used in Grant Permissions. - 6. **Configure Whitelist**: Supports exception handling for specific commands in the process of controlling commands through Command Template. When the Configure Whitelist checkbox is checked, the following settings appear: - 1. **Commands**: Enter commands that need to be allowed. - 1. **Keyword**: Enter as keyword (ls, cat, etc.) - 2. **RegEx**: Enter as regular expression (^sudo\b[^&|;\n]*$, etc.) - 2. **Whitelist Expiration Date**: Specify a separate exception handling expiration date for the above commands. - 7. **Require Privilege**: When this option is activated, users must go through an approval process through Server Privilege Request workflow to access servers with that account. This is useful when temporarily allowing and managing access to high-privilege accounts such as administrator (Admin) accounts on Windows servers. + 6. **Configure Server Privilege**: Adds Server Privilege settings to apply to the Permission. When selected, you can configure the commands available through Server Privilege and the Privilege Expiration Date. For minute-based Permissions, you can also configure Privilege Start Trigger and Privilege Duration (Minutes). + 7. **Access Start Time**: Set the allowed access start time. + 8. **Access End Time**: Set the allowed access end time. + 9. **Access Weekday**: Set the days of the week when access is allowed. + 10. **IP Addresses**: Set the IP addresses allowed for access. + 11. **Command Audit**: Set whether to log commands used in sessions connected through this Permission. + 12. **Command Detection**: Set whether to detect prohibited commands within Script/Alias when they are called.
*Limitation: (10.2.1) Only works in Bash Shell, commands that call other Scripts from Script are blocked + 13. **Session Recording**: Sets the session recording option for SSH, SFTP, TELNET, and FTP sessions associated with this Permission. The default is `On`. Actual session recording follows the combined result of all policies applied at connection time. (Supported from 11.5.8 and 11.6.6) + 14. **Session Recording Max Size (MB)**: Sets the maximum chunk size of session recording files in MB. The default is 100 MB, and you can enter a value from 10 MB to 1024 MB. This item is disabled when Session Recording is Off. (Supported from 11.5.8 and 11.6.6) + 15. **Proxy Usage**: Set whether to allow server access through QueryPie Agent with this Permission. + 16. **Require Privilege**: When this option is activated, users must go through an approval process through Server Privilege Request workflow to access servers with that account. This is useful when temporarily allowing and managing access to high-privilege accounts such as administrator (Admin) accounts on Windows servers. * When attempting to access with an account where this option is activated, the `Connect` button is disabled when accessing the server from the user dashboard, and a message is displayed indicating that an access permission request must be submitted. * The Require Privilege option can be applied to all accounts regardless of the server's OS type. - 8. **Access Start Time**: Set the allowed access start time. - 9. **Access End Time**: Set the allowed access end time. - 10. **Access Weekday**: Set the days of the week when access is allowed. - 11. **IP Addresses**: Set the IP addresses allowed for access. - 12. **Command Audit**: Set whether to log commands used in sessions connected through this Permission. - 13. **Command Detection**: Set whether to detect prohibited commands within Script/Alias when they are called.
*Limitation: (10.2.1) Only works in Bash Shell, commands that call other Scripts from Script are blocked - 14. **Proxy Usage**: Set whether to allow server access through QueryPie Agent with this Permission. - 15. **Max Sessions**: Limit the number of concurrent sessions a user can have on a single server. - 16. **Session Timeout (minutes)**: Sessions are terminated if inactive for the entered time (minutes). + 17. **Allow Local Port Forwarding**: Allows clients connected through this Permission to forward local ports to the remote server. This is required for clients that use local port forwarding, such as VS Code Remote SSH. (Supported from 10.3.0) + 18. **Allow RDP Clipboard**: Sets whether clipboard redirection is allowed for RDP sessions connected through this Permission. When set to Disable, clipboard redirection is unavailable in the RDP session. (Supported from 11.5.8 and 11.6.6) + 19. **Max Sessions**: Limit the number of concurrent sessions a user can have on a single server. + 20. **Session Timeout (minutes)**: Sessions are terminated if inactive for the entered time (minutes). 3. Click the `Grant` button in the bottom right to complete permission grant. diff --git a/src/content/en/administrator-manual/servers/server-access-control/policies/setting-server-access-policy.mdx b/src/content/en/administrator-manual/servers/server-access-control/policies/setting-server-access-policy.mdx index 8a61e0ad3..00843db66 100644 --- a/src/content/en/administrator-manual/servers/server-access-control/policies/setting-server-access-policy.mdx +++ b/src/content/en/administrator-manual/servers/server-access-control/policies/setting-server-access-policy.mdx @@ -3,6 +3,8 @@ title: 'Setting Server Access Policies' confluenceUrl: 'https://querypie.atlassian.net/wiki/spaces/QM/pages/544381039' --- +import { Callout } from 'nextra/components' + # Setting Server Access Policies ### Overview @@ -18,25 +20,32 @@ In addition, you can set the number of allowed sessions per user. * **serverGroup**: Server group to allow access to * **account**: Account registered in the server group * **protocols**: Allowed protocols (as of 10.2, supports SSH, SFTP, TELNET, FTP, RDP) -* **commandRef**: Command template to apply when accessing +* **commandsRef**: Command template to apply when accessing * You can check the content of the selected Command Template by expanding the `Command Policy Detail` accordion * For creating and managing command templates, refer to [Command Templates](../command-templates) * When both Allow / Deny command templates are applied, Deny takes priority * **accessTime**: Access allowed time * **accessWeekday**: Access allowed days of the week -* **ipAddress**: Access allowed IP settings
*When corresponding to Security > Resource IP Access Control Configuration settings, only IPs within the allowed range are permitted access +* **ipAddresses**: Access allowed IP settings
*When corresponding to Security > Resource IP Access Control Configuration settings, only IPs within the allowed range are permitted access * **commandAudit**: Whether to apply command auditing when accessing * **commandDetection**: Whether to detect prohibited commands within Script and Alias when they are called
*Limitation: (10.2.1) Only works in Bash Shell, commands that call other Scripts from Script are blocked -* **proxyUsage**: Whether to allow proxy access through Agent +* **sessionRecording**: Sets whether session recording is enabled. The default is `On(true)`. When multiple policies apply, session recording is enabled if any policy has this option set to `On(true)`. To disable session recording, set it to `Off(false)` in all matching policies. (Supported from 11.5.8 and 11.6.6) +* **sessionRecordingMaxSizeMb**: Sets the maximum chunk size of session recording files in MB. The default is `100`, and you can enter a value from 10 to 1024. When multiple policies apply, the smallest value is used. (Supported from 11.5.8 and 11.6.6) +* **useProxy**: Whether to allow proxy access through Agent * **maxSessions**: Maximum concurrent connections per server * **sessionTimeout**: Server session timeout criteria time (minutes) -* **requirePrivilege**: Whether privilege approval is required for server access
*When this option is activated (Enable), the account must receive approval through the server privilege request (Server Privilege Request) workflow to access the server. +* **requirePrivilege**: Whether privilege approval is required for server access
*When this option is activated (`Enable`), the account must receive approval through the server privilege request (Server Privilege Request) workflow to access the server. +* **allowLocalPortForwarding**: Allows clients to forward local ports to the remote server. The default is `Disable(false)`. Set it to `Enable(true)` for clients that use local port forwarding, such as VS Code Remote SSH. +* **allowClipboard** (**Allow RDP Clipboard**): Sets whether clipboard redirection is allowed for RDP sessions. The default is `true`; setting it to `false` blocks clipboard redirection in the RDP session. (Supported from 11.5.8 and 11.6.6) + +What is Clipboard Redirection?
Clipboard Redirection is a Remote Desktop Protocol (RDP) feature that shares the clipboard between a local device and a remote Windows desktop session, allowing copied text or files to be pasted between them. +
-### Editing Policy Code +#### Editing Policies in Editor Mode
-Administrator > Servers > Server Access Control > Policies > List Details > Go to Editor Mode +Administrator > Servers > Server Access Control > Policies > List Details > Go to Editor Mode
Administrator > Servers > Server Access Control > Policies > List Details > Go to Editor Mode
diff --git a/src/content/en/user-manual.mdx b/src/content/en/user-manual.mdx index 5104624d9..99c7d9ef4 100644 --- a/src/content/en/user-manual.mdx +++ b/src/content/en/user-manual.mdx @@ -83,7 +83,7 @@ Click on each item to see detailed usage instructions. * Database Access Control - * [Connecting with Web SQL Editor](user-manual/database-access-control/connecting-with-web-sql-editor) + * [Using Web SQL Editor](user-manual/database-access-control/using-web-sql-editor) * [Setting Default Privilege](user-manual/database-access-control/setting-default-privilege) * [Connecting to Proxy without Agent](user-manual/database-access-control/connecting-to-proxy-without-agent) * Server Access Control @@ -121,4 +121,3 @@ Click on each item to see detailed usage instructions. - diff --git a/src/content/en/user-manual/database-access-control.mdx b/src/content/en/user-manual/database-access-control.mdx index fa1732965..7d814889e 100644 --- a/src/content/en/user-manual/database-access-control.mdx +++ b/src/content/en/user-manual/database-access-control.mdx @@ -35,7 +35,7 @@ Connection screen when Schema Level privilege is assigned You can access database connections and execute queries to retrieve data through the following methods. -* [Connecting with Web SQL Editor](database-access-control/connecting-with-web-sql-editor) +* [Using Web SQL Editor](database-access-control/using-web-sql-editor) * [Connecting to Proxy without Agent](database-access-control/connecting-to-proxy-without-agent) * [Connecting to Proxy through Agent](user-agent) @@ -58,7 +58,7 @@ In summary, since the Web SQL Editor and proxy methods each have their own advan ### Database Access Guide Quick Links -* [Connecting with Web SQL Editor](database-access-control/connecting-with-web-sql-editor) +* [Using Web SQL Editor](database-access-control/using-web-sql-editor) * [Setting Default Privilege](database-access-control/setting-default-privilege) * [Connecting to Proxy without Agent](database-access-control/connecting-to-proxy-without-agent) * [Connecting via Google BigQuery OAuth Authentication](database-access-control/connecting-via-google-bigquery-oauth-authentication) diff --git a/src/content/en/user-manual/database-access-control/_meta.ts b/src/content/en/user-manual/database-access-control/_meta.ts index 09e51f2e0..142aa38f8 100644 --- a/src/content/en/user-manual/database-access-control/_meta.ts +++ b/src/content/en/user-manual/database-access-control/_meta.ts @@ -1,5 +1,5 @@ export default { - 'connecting-with-web-sql-editor': 'Connecting with Web SQL Editor', + 'using-web-sql-editor': 'Using Web SQL Editor', 'setting-default-privilege': 'Setting Default Privilege', 'connecting-to-proxy-without-agent': 'Connecting to Proxy without Agent', 'connecting-via-google-bigquery-oauth-authentication': 'Connecting via Google BigQuery OAuth Authentication', diff --git a/src/content/en/user-manual/database-access-control/connecting-with-web-sql-editor.mdx b/src/content/en/user-manual/database-access-control/using-web-sql-editor.mdx similarity index 75% rename from src/content/en/user-manual/database-access-control/connecting-with-web-sql-editor.mdx rename to src/content/en/user-manual/database-access-control/using-web-sql-editor.mdx index 4d0be5d4f..8317efc93 100644 --- a/src/content/en/user-manual/database-access-control/connecting-with-web-sql-editor.mdx +++ b/src/content/en/user-manual/database-access-control/using-web-sql-editor.mdx @@ -1,11 +1,11 @@ --- -title: 'Connecting with Web SQL Editor' +title: 'Using Web SQL Editor' confluenceUrl: 'https://querypie.atlassian.net/wiki/spaces/QM/pages/544380222/SQL' --- import { Callout } from 'nextra/components' -# Connecting with Web SQL Editor +# Using Web SQL Editor ### Overview @@ -17,7 +17,7 @@ QueryPie provides a web SQL editor that allows you to execute queries and view d You can check the list of database connections with access permissions granted to individual users or groups, and select the connection to work with to connect to the database.
-Connection selection and connection screen in User > Databases +Connection selection and connection screen in User > Databases
Connection selection and connection screen in User > Databases
@@ -37,7 +37,7 @@ The editor consists of a left object panel, top toolbar, center SQL editor, and #### 1. Top Left Object Panel
-SQL Editor > Connection Panel +SQL Editor > Connection Panel
SQL Editor > Connection Panel
@@ -50,7 +50,7 @@ SQL Editor > Connection Panel #### 2. Left Object Panel
-SQL Editor > Connection Panel +SQL Editor > Connection Panel
SQL Editor > Connection Panel
@@ -65,7 +65,7 @@ SQL Editor > Connection Panel #### 3. Top Toolbar
-QueryPie Web > Database Access Control > SQL Editor > Toolbar +QueryPie Web > Database Access Control > SQL Editor > Toolbar
QueryPie Web > Database Access Control > SQL Editor > Toolbar
@@ -90,7 +90,7 @@ QueryPie Web > Database Access Control > SQL Editor > Toolbar
-SQL Editor > Editor Tab & Result +SQL Editor > Editor Tab & Result
SQL Editor > Editor Tab & Result
@@ -104,7 +104,7 @@ SQL Editor > Editor Tab & Result #### 3. Queries Panel
-SQL Editor > Queries Panel +SQL Editor > Queries Panel
SQL Editor > Queries Panel
@@ -120,7 +120,7 @@ To use this feature, administrators must pre-configure query sharing settings. #### 4. Object Info Panel
-SQL Editor > Object Info Panel +SQL Editor > Object Info Panel
SQL Editor > Object Info Panel
@@ -137,7 +137,7 @@ SQL Editor > Object Info Panel #### 5. SQL History Panel
-SQL Editor > SQL History Panel +SQL Editor > SQL History Panel
SQL Editor > SQL History Panel
@@ -171,6 +171,14 @@ As shown in the figure below, enter the reason for executing the query in the "W You can enter up to 300 characters.
-image-20241031-233232.png +image-20241031-233232.png
+#### 7. Requesting Policy Exceptions + +When masking policies mask column values or access restriction policies prevent you from viewing restricted data, you can request a policy exception directly from Workflow or start the request from the web editor. +Right-click the query results panel and select `Send Unmasking Request` or `Send Restricted Data Request` to open the corresponding Workflow request page.
For instructions on submitting requests in Workflow, refer to the following pages. + +* [Requesting Unmasking (Mask Removal)](../workflow/requesting-unmasking-mask-removal-request) +* [Requesting Restricted Data Access](../workflow/requesting-restricted-data-access) +* [Requesting a DB Policy Exception](../workflow/requesting-db-policy-exception)
diff --git a/src/content/ja/administrator-manual/audit/server-logs/access-control-logs.mdx b/src/content/ja/administrator-manual/audit/server-logs/access-control-logs.mdx index 7d42e5bb9..e9a8013a2 100644 --- a/src/content/ja/administrator-manual/audit/server-logs/access-control-logs.mdx +++ b/src/content/ja/administrator-manual/audit/server-logs/access-control-logs.mdx @@ -80,19 +80,24 @@ Administrator > Audit > Servers > Access Control Logs > Access Contr 9. **Expiration Date** : 権限付与期限日(回収予定日) 10. **Account** : サーバーAccount 11. **Action By** : Permission付与/回収を進行した管理者名またはSystem - 1. Workflowを通じて権限を付与された場合Access Requestリンクが表示され、該当Requestページを新窓で開きます。 2. 下部には付与/回収されたPermissionに適用された政策を列挙します: 1. Access Control関連ログ - Policy 1. **Access Time** : 接続許可時間 2. **Weekday Access Allow** : 接続許可曜日 3. **IP Addresses** : 接続許可IP 4. **Command Audit** : コマンド記録の有無 - 5. **Proxy Usage** : Proxy(Agent)を通じた接続可能の有無 - 6. **Max Sessions** : 最大接続セッション数 - 7. **Session Timeout (minutes)** : セッションタイムアウト時間設定 - 8. **Protocols** : 接続プロトコル - 9. **Command Template** : 適用された禁止コマンドセット + 5. **Session Recording**: 権限が付与された時点で適用されたセッションレコーディングの使用有無です。(11.5.8、11.6.6からサポート) + 6. **Session Recording Max Size (MB)**: 権限が付与された時点で適用されたセッションレコーディングファイルの最大チャンクサイズです。(11.5.8、11.6.6からサポート) + 7. **Proxy Usage** : Proxy(Agent)を通じた接続可能の有無 + 8. **Require Privilege** : 権限昇格の使用有無 + 9. **Allow Local Port Forwarding** : ローカルポートフォワーディングの許可有無(10.3.0からサポート) + 10. **Allow RDP Clipboard** : RDPクリップボードの使用許可有無(11.5.8、11.6.6からサポート) + 11. **Max Sessions** : 最大接続セッション数 + 12. **Session Timeout (minutes)** : セッションタイムアウト時間設定 + 13. **Protocols** : 接続プロトコル + 14. **Command Template** : 適用された禁止コマンドセット 2. Whitelist関連ログ - Whitelisted Commands 1. **Keyword** : 例外処理キーワード 2. **RegEx** : 例外処理正規表現 3. **Whitelist Expiration Date** : 例外処理期限日 + diff --git a/src/content/ja/administrator-manual/audit/server-logs/session-logs.mdx b/src/content/ja/administrator-manual/audit/server-logs/session-logs.mdx index 66d704436..61f53069f 100644 --- a/src/content/ja/administrator-manual/audit/server-logs/session-logs.mdx +++ b/src/content/ja/administrator-manual/audit/server-logs/session-logs.mdx @@ -3,6 +3,8 @@ title: 'Session Logs' confluenceUrl: 'https://querypie.atlassian.net/wiki/spaces/QM/pages/544014927/Session+Logs' --- +import { Callout } from 'nextra/components' + # Session Logs ### Overview @@ -10,6 +12,10 @@ confluenceUrl: 'https://querypie.atlassian.net/wiki/spaces/QM/pages/544014927/Se 組織で管理するサーバー接続セッションをレコーディングします。 管理者は映像再生を通じてサーバー内でユーザーの作業実行履歴をモニタリングできます。 + +11.5.8、11.6.6からSession Recordingオプションが追加され、設定値がOnの場合にのみセッションレコーディングログが生成されます。 + + ### Session Logsの照会
diff --git a/src/content/ja/administrator-manual/databases/dac-general-configurations.mdx b/src/content/ja/administrator-manual/databases/dac-general-configurations.mdx index f0c8943be..b128b2b86 100644 --- a/src/content/ja/administrator-manual/databases/dac-general-configurations.mdx +++ b/src/content/ja/administrator-manual/databases/dac-general-configurations.mdx @@ -64,7 +64,7 @@ SQL Editor画面でクエリ共有機能を使用できます。 * Save時に連携したRepositoryにクエリファイルが保存されます。 * Queriesパネル > QueryPie Git SharingフォルダからRepositoryに保存されたクエリファイルを読み込むことができます。 -詳細な説明は[ウェブSQLエディターでアクセス](../../user-manual/database-access-control/connecting-with-web-sql-editor)を参考にしてください。 +詳細は[Web SQLエディターを使用する](../../user-manual/database-access-control/using-web-sql-editor)を参照してください。 ______ diff --git a/src/content/ja/administrator-manual/kubernetes.mdx b/src/content/ja/administrator-manual/kubernetes.mdx index 4b92ce292..caec4d52a 100644 --- a/src/content/ja/administrator-manual/kubernetes.mdx +++ b/src/content/ja/administrator-manual/kubernetes.mdx @@ -63,6 +63,7 @@ QueryPie KAC(Kubernetes Access Controller)を初めて使用する管理者な * [AWSでKubernetesリソース同期](kubernetes/connection-management/cloud-providers/synchronizing-kubernetes-resources-from-aws) +* [Google CloudからGKEリソースを同期する](kubernetes/connection-management/cloud-providers/synchronizing-gke-resources-from-google-cloud) * [手動でKubernetesクラスター登録](kubernetes/connection-management/clusters/manually-registering-kubernetes-clusters) diff --git a/src/content/ja/administrator-manual/kubernetes/connection-management/cloud-providers/_meta.ts b/src/content/ja/administrator-manual/kubernetes/connection-management/cloud-providers/_meta.ts index acaf87855..b0780f18b 100644 --- a/src/content/ja/administrator-manual/kubernetes/connection-management/cloud-providers/_meta.ts +++ b/src/content/ja/administrator-manual/kubernetes/connection-management/cloud-providers/_meta.ts @@ -1,3 +1,4 @@ export default { 'synchronizing-kubernetes-resources-from-aws': 'AWSからKubernetesリソースを同期する', + 'synchronizing-gke-resources-from-google-cloud': 'Google CloudからGKEリソースを同期する', }; diff --git a/src/content/ja/administrator-manual/kubernetes/connection-management/cloud-providers/synchronizing-gke-resources-from-google-cloud.mdx b/src/content/ja/administrator-manual/kubernetes/connection-management/cloud-providers/synchronizing-gke-resources-from-google-cloud.mdx new file mode 100644 index 000000000..2946267f3 --- /dev/null +++ b/src/content/ja/administrator-manual/kubernetes/connection-management/cloud-providers/synchronizing-gke-resources-from-google-cloud.mdx @@ -0,0 +1,198 @@ +--- +title: 'Google CloudからGKEリソースを同期する' +confluenceUrl: 'https://querypie.atlassian.net/wiki/spaces/QM/pages/2325086215/Google+GKE' +--- + +import { Callout } from 'nextra/components' + +# Google CloudからGKEリソースを同期する + +### 概要 + +QueryPieは、Kubernetesクラスターの登録と管理のためのGCP連携をサポートしています。 +GCP Project内のGKEクラスターを同期してQueryPieの管理対象クラスターとして登録し、同期したクラスターに対するKubernetes APIアクセス権限をユーザーおよびグループに付与して、ポリシーを設定できます。 + +このドキュメントでは、GCP Service Account Key JSONをQueryPieに直接登録し、GKE StandardまたはAutopilotクラスターを同期する手順について説明します。 + + +GCPのGKEリソース同期機能は、バージョン11.5.4以降および11.6.1以降で提供されます。 + + +### 前提条件 + +1. 対象のGCP Project IDを確認します。 +2. 同期対象のGKEクラスターがGKE StandardまたはAutopilotとして作成されていることを確認します。 +3. GCPでService Accountの作成、IAMロールの付与、Service Account Keyの作成が可能な管理者権限を用意します。 +4. QueryPieでKAC Cloud Providerを作成して同期できる管理者権限を用意します。 +5. GCP Projectで次のAPIが有効になっていることを確認します。 + +| **API** | **用途** | +| ------------------------------------- | ---------------------------------------------------------------- | +| `container.googleapis.com` | GKEクラスター一覧、Endpoint、CAの取得、およびKubernetes APIへの接続 | +| `iam.googleapis.com` | Service AccountおよびKeyの作成 | +| `cloudresourcemanager.googleapis.com` | Project IAM Bindingの設定 | + +APIが有効になっていない場合は、GCP Consoleの**APIs & Services > Enabled APIs & services**メニューで有効にするか、次のコマンドを実行します。 +``` +gcloud services enable \ + container.googleapis.com \ + iam.googleapis.com \ + cloudresourcemanager.googleapis.com \ + --project= +``` + +### GCP Service Accountの作成と権限付与 + +QueryPieがGCPおよびGKEで認証できるように、QueryPie専用のService Accountを作成します。 +``` +gcloud iam service-accounts create querypie-kac-gke \ + --display-name="QueryPie KAC GKE" \ + --project= +export QUERYPIE_GKE_SA="querypie-kac-gke@.iam.gserviceaccount.com" +``` + +作成したService Accountに、GKEクラスターの同期とKubernetes APIへの接続に必要なIAMロールを付与します。 +``` +gcloud projects add-iam-policy-binding \ + --member="serviceAccount:${QUERYPIE_GKE_SA}" \ + --role="roles/container.admin" +``` + +`roles/container.admin`には、QueryPie KACのクラスター同期とユーザーおよびグループのimpersonationに必要な`container.clusters.impersonate`権限が含まれます。 + +### Service Account Key JSONの作成 + +QueryPie Cloud Provider Credentialに登録するService Account Key JSONファイルを作成します。 +``` +gcloud iam service-accounts keys create querypie-kac-gke-key.json \ + --iam-account="${QUERYPIE_GKE_SA}" \ + --project= +``` + +生成されたJSONファイルはBase64に変換せず、ファイルのJSON全体をQueryPieに入力します。 + + +セキュリティ上の注意:Service Account Key JSONのprivate_keyは長期認証情報です。 +元の内容をGit、Wiki、メッセンジャー、チケットなどにアップロードしないでください。QueryPieへの登録に使用した後は、組織のKey保管および削除ポリシーに従って元のファイルを管理してください。 +QueryPieにCloud Providerを保存した後は、Service Account JSONを変更したり別のService Accountに置き換えたりできません。Credentialを変更する必要がある場合は、新しいCloud Providerを登録してください。 + + +### QueryPieにGCP連携情報を登録する + +1. **Administrator > Kubernetes > Connection Management > Cloud Providers**メニューに移動します。 +2. 右上の`+ Create Provider`ボタンをクリックします。 +3. **Name**項目にプロバイダーを識別できる名前を入力します。 +4. **Cloud Provider**項目で**GCP**を選択します。 +5. **Project ID**項目にGKEクラスターが存在するGCP Project IDを入力します。 +6. **Credential**項目で**Service Account**を選択します。 +7. **Service Account JSON**項目に`querypie-kac-gke-key.json`ファイルのJSON全体を入力します。 +8. 必要に応じて**Search Filter**または**Auto Configuration Upon Synchronization > Tag**を設定します。 +9. **Replication Frequency**項目で同期方法を選択します。 + * **Manual**:同期を実行した時点でのみ手動でリソースを同期します。 + * **Scheduling**:Cron Expressionに基づく定期スケジュールでリソースを同期します。 +10. `Dry Run`ボタンをクリックし、Credentialとクラスターの取得結果を事前に確認します。 +11. `Save`ボタンをクリックしてCloud Providerを保存します。 + +### 登録したGCP Cloud Providerを同期および管理する + +1. **Administrator > Kubernetes > Connection Management > Cloud Providers**メニューに移動します。 +2. 登録したGCP Cloud Providerをクリックして詳細画面に移動します。 +3. 右上の`Synchronize`ボタンをクリックし、GCPからGKEクラスターを同期します。 +4. 表示される**Synchronization Log**で同期の進行状況を確認します。 +5. **Settings > Systems > Jobs**メニューでも同期履歴を確認できます。 +6. **Administrator > Kubernetes > Connection Management > Clusters**一覧でGKEクラスターが登録されていることを確認します。 + +QueryPieは`projects//locations/-/clusters` APIを使用し、Project内のすべてのlocationからGKEクラスターを取得します。 +StandardとAutopilotの両方のGKEクラスターを同期できます。 + +Cloud Providerを一度登録すると、プロバイダー情報の一部は変更できません。 + +| **項目** | **変更可否** | +| ----------------------------------------------------------------------- | ------------ | +| Name | 変更可能 | +| Cloud Provider | 変更不可 | +| Project ID | 変更不可 | +| Credential | 変更不可 | +| Service Account JSON | 変更不可 | +| Vault Secret Store(Credentialで「Vault(GCP)」を選択した場合のみ) | 変更不可 | +| Roleset Path(Credentialで「Vault(GCP)」を選択した場合のみ) | 変更不可 | +| Search Filter | 変更可能 | +| Auto Configuration Upon Synchronization > Tag | 変更不可 | +| Use Regular Expression Search | 変更可能 | +| Use Case-sensitive Search | 変更可能 | +| Replication Frequency | 変更可能 | + +### GKE StandardとAutopilotの違い + +| **項目** | **Standard** | **Autopilot** | +| --------------------------------------- | ------------ | ------------- | +| クラスター同期 | サポート | サポート | +| カスタムユーザーおよびグループのimpersonation | サポート | サポート | +| `system:*`ユーザーおよびグループのimpersonation | サポート | 未サポート | + +Autopilotでは、KAC Policyのimpersonationグループとして`system:masters`などの`system:*`グループを使用できません。 +カスタムグループを使用する場合は、StandardとAutopilotのどちらでも、対象のGKEクラスターに、そのグループを必要なKubernetes `ClusterRole`に接続する`ClusterRoleBinding`を作成する必要があります。 + +たとえば、QueryPieで`querypie:kac-admins`グループをimpersonationグループとして使用する場合は、対象のGKEクラスターに次のような`ClusterRoleBinding`を設定できます。 +``` +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: querypie-kac-admins +subjects: + - kind: Group + name: querypie:kac-admins + apiGroup: rbac.authorization.k8s.io +roleRef: + kind: ClusterRole + name: cluster-admin + apiGroup: rbac.authorization.k8s.io +``` + +本番環境では、`cluster-admin`の代わりに、組織のポリシーに沿った最小権限の`ClusterRole`を使用することを推奨します。 + + +詳細については、次のリンクを参照してください。 +* [Google Cloud: GKE roles and permissions](https://cloud.google.com/iam/docs/roles-permissions/container) +* [Google Cloud: GKE Autopilot security](https://cloud.google.com/kubernetes-engine/docs/concepts/autopilot-security) + + +### Dry Run/Synchronization Logのメッセージ + +| **発生時点** | **メッセージ** | +| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Dry RunまたはSynchronizeの同期開始 | `Cluster synchronize started.` | +| 新規クラスターの追加完了 | `New Cluster is added: {Cluster Name} (https://{Endpoint}).` | +| 既存クラスター情報の更新完了 | `Cluster {Cluster Name} is updated.` | +| 既存クラスターの削除完了 | `Cluster {Cluster Name} is removed.` | +| Dry RunまたはSynchronizeの同期成功終了 | `Cluster synchronize succeeded.` | +| 重複するクラスター名が確認され同期に失敗 | `Cluster synchronization failed. The cluster name “{Cluster Name}” is already in use by another cluster. To synchronize it, delete the existing cluster.` | +| Dry RunまたはSynchronizeの同期失敗終了 | `Cluster synchronize failed. {additional statement}` | +| クラスターのEndpointを取得できず同期をスキップ | `Skipping cluster {Cluster Name}: endpoint not available (cluster may be provisioning).` | +| クラスターのCA証明書を取得できず同期をスキップ | `Skipping cluster {Cluster Name}: CA certificate not available.` | +| 新規クラスターの追加に失敗 | `Failed to add cluster {Cluster Name}: {additional statement}` | +| 既存クラスターの更新に失敗 | `Failed to update cluster {Cluster Name}: {additional statement}` | +| 既存クラスターの削除に失敗 | `Failed to delete cluster {Cluster Name}: {additional statement}` | + +### よくある質問 + +#### Q. Service Account JSONはBase64でエンコードして入力する必要がありますか? + +A. いいえ。`querypie-kac-gke-key.json`ファイルのJSON全体をそのまま入力します。 + +#### Q. GKE Autopilotクラスターも同期できますか? + +A. はい。 +GKE StandardとAutopilotの両方のクラスターを同期できます。 +ただし、Autopilotでは`system:masters`などの`system:*`ユーザーおよびグループのimpersonationを使用できないため、カスタムグループと必要なKubernetes RBAC Bindingを使用することを推奨します。 + +#### Q. Cloud Providerの保存後にProject IDやCredentialを変更できますか? + +A. いいえ。 +Providerを保存した後は、Cloud Provider、Project ID、Credential、Service Account JSONなどの主要な接続情報を変更できません。 +別のProjectまたはCredentialを使用する必要がある場合は、Cloud Providerを新しく登録します。 + +#### Q. 同期には成功しましたが、ユーザーがクラスターに接続できません。 + +A. QueryPieにクラスターを登録した後も、ユーザーまたはグループに対するKACアクセス権限とポリシーを別途設定する必要があります。 +カスタムimpersonationグループを使用する場合は、対象のGKEクラスターで、そのグループがKubernetes `RoleBinding`または`ClusterRoleBinding`に接続されていることを確認します。 diff --git a/src/content/ja/administrator-manual/servers/connection-management/server-groups/managing-servers-as-groups.mdx b/src/content/ja/administrator-manual/servers/connection-management/server-groups/managing-servers-as-groups.mdx index 3b6f76b8a..810af6dae 100644 --- a/src/content/ja/administrator-manual/servers/connection-management/server-groups/managing-servers-as-groups.mdx +++ b/src/content/ja/administrator-manual/servers/connection-management/server-groups/managing-servers-as-groups.mdx @@ -227,5 +227,5 @@ macOSのVNCプロトコル制限により、VNCを通じた自動ログインを Workflowで表示されるServer Groupを制限するにはAdmin > Servers > General > Configurationsで「Show Server Groups in Workflow if Assigned as Member」項目を活性化する必要があります。 -詳細位置は[Server Access Request Default Settings | 基本-サーバー-アクセス-ポリシー-設定](../../sac-general-configurations#サーバー権限申請の基本ポリシー設定)ガイドを参考にお願いします。 +詳細位置は[Server Access Request Default Settings | 基本-サーバー-アクセス-ポリシー-設定](../../sac-general-configurations#server-access-request-default-settings)ガイドを参考にお願いします。 diff --git a/src/content/ja/administrator-manual/servers/sac-general-configurations.mdx b/src/content/ja/administrator-manual/servers/sac-general-configurations.mdx index fa03e02df..800f6280d 100644 --- a/src/content/ja/administrator-manual/servers/sac-general-configurations.mdx +++ b/src/content/ja/administrator-manual/servers/sac-general-configurations.mdx @@ -106,7 +106,7 @@ RDP Server AgentがインストールされていないWindows Serverに接続 * ProvisioningアカウントとOne Time Accountをシステムに登録できます。 * サーバー接続時、システムが自動的にサーバーに一時アカウントを生成します。 -#### サーバー権限申請の基本ポリシー設定 +#### Server Access Request Default Settings Workflow要求を通じたDirect Permission割り当て時に適用されるサーバーアクセスポリシーを管理します。 @@ -122,7 +122,10 @@ Workflow要求を通じたDirect Permission割り当て時に適用されるサ
-Screenshot-2025-07-22-at-3.09.36-PM.png +Admin > Servers > General > Configurations > Server Access Request Default Settings +
+Admin > Servers > General > Configurations > Server Access Request Default Settings +
* Maximum Access Duration : サーバーアクセス権限の最大使用期間を設定 @@ -138,6 +141,9 @@ Workflow要求を通じたDirect Permission割り当て時に適用されるサ * **Proxy Usage**: Agentを通じたプロキシ接続許可可否 * **Allow Local Port Forwarding**: ClientからのPort Forwarding許可可否 * VSCodeなどPort Forwardingを使用する場合に使用 +* **Allow RDP Clipboard** : RDPセッションでのクリップボード使用許可有無 +* **Session Recording** : Server Access Requestを通じて付与されるサーバーアクセス権限のデフォルトのセッションレコーディング使用有無を設定します。デフォルト値はOnです。Offに設定すると、該当リクエストで作成されるPermissionのセッションレコーディングオプションがOffに設定されます。(11.5.8、11.6.6からサポート) +* **Session Recording Max Size** : セッションレコーディングファイルの最大チャンクサイズをMB単位で設定します。デフォルト値は100MBで、10MBから1024MBまで入力できます。Session RecordingがOffの場合、この項目は設定できません。(11.5.8、11.6.6からサポート) * **Max Sessions**: サーバー当たり最大同時接続数 * **Session Timeout**: サーバーセッションタイムアウト基準時間(分) * **Show Server Groups in Workflow if Assigned as Member :** チェックされた場合、利用者がServer Access Request申請時、Server Group Memberに指定されたサーバーグループのみ表示 diff --git a/src/content/ja/administrator-manual/servers/server-access-control/access-control/granting-and-revoking-permissions.mdx b/src/content/ja/administrator-manual/servers/server-access-control/access-control/granting-and-revoking-permissions.mdx index c8feb8197..d22ba6612 100644 --- a/src/content/ja/administrator-manual/servers/server-access-control/access-control/granting-and-revoking-permissions.mdx +++ b/src/content/ja/administrator-manual/servers/server-access-control/access-control/granting-and-revoking-permissions.mdx @@ -50,7 +50,7 @@ Grant Permissions Step 1でサーバーは最大1000個までしか表示され #### 3. Step 2: 選択したサーバーに対するアクセス可能ポリシーを設定します。
-Administrator > Servers > Server Access Control > Access Control > Details > Grant Permissions Step 2 +Administrator > Servers > Server Access Control > Access Control > Details > Grant Permissions Step 2
Administrator > Servers > Server Access Control > Access Control > Details > Grant Permissions Step 2
@@ -60,30 +60,30 @@ Administrator > Servers > Server Access Control > Access Control > D 2. ポリシーの各項目は以下の通りです。 1. **`{n}` Server(s) selected**: 項目は Step 1 で選択していたServer数 x Accountの数が表示されます。 クリックすると各項目をリスト形態で確認できます。 2. **Set Permissions by Minute**: このオプションを選択するとサーバーアクセス権限を分単位で設定できます。チェックボックスを選択すると下記設定項目が有効化されます。 - 1. Start Trigger : 権限付与開始条件を選択します + 1. **Start Trigger** : 権限付与開始条件を選択します 1. Access to the Server : ユーザーがサーバーにアクセスする時、即座に権限が有効化されます。サーバーセッション維持可否と関係なく、有効化時点から指定された期間の間サーバーに接続できます。 2. Grant : 権限付与即座にタイマーが開始され、ユーザーの実際接続可否と関係なく指定された期間の間のみ権限が有効です。 2. **Duration(Minutes)**: 権限が有効な分単位時間を入力します。 3. **Expiration Date**: 接続権限有効期限を設定します。最大1年まで設定できます。(Default = 1年後) 4. **Protocols**: サーバー接続に使用するプロトコルを使用します。 5. **Command Template**: サーバーに接続後使用不可能なコマンドセットを設定できます。下段のCommand Template Detailsをクリックして設定された詳細条件を確認できます。
*制約事項: (10.2.1) Grant PermissionsではDenyに設定されたCommand Templateのみ使用が可能です。 - 6. **Configure Whitelist**: Command Templateを通じてコマンドを制御する過程で特定のコマンドに対する例外処理許可をサポートします。Configure Whitelistチェックボックスにチェックすると以下の設定が表示されます: - 1. **Commands**: 許可が必要なコマンドを記入します。 - 1. **Keyword**: キーワードで入力(ls、catなど) - 2. **RegEx**: 正規表現で入力(^sudo\b[^&|;\n]*$など) - 2. **Whitelist Expiration Date**: 上記コマンドに対する別途例外処理有効期限日を指定します。 - 7. **Require Privilege**: このオプションを有効化すると、ユーザーが該当アカウントでサーバーに接続するためにServer Privilege Requestワークフローを通じた承認手順を必須で経ることになります。これはWindowsサーバーの管理者(Admin)アカウントのように高い権限のアカウントに対するアクセスを一時的に許可し管理する時に有用です。 + 6. **Configure Server Privilege** : Permissionに適用するServer Privilege設定を追加します。選択すると、Server Privilegeで使用するコマンドとPrivilege Expiration Dateを設定できます。権限を分単位で設定する場合は、Privilege Start TriggerおよびPrivilege Duration(Minutes)も設定できます。 + 7. **Access Start Time**: 接続可能開始時間を設定します。 + 8. **Access End Time**: 接続可能終了時間を設定します。 + 9. **Access Weekday**: 接続を許可する曜日を設定します。 + 10. **IP Addresses**: 接続を許可するIPアドレスを設定します。 + 11. **Command Audit**: このPermissionを通じて接続されたセッションで使用されたcommandのログ可否を設定します。 + 12. **Command Detection**: ScriptおよびAliasが呼び出される時、内部の禁止コマンド検出可否を設定します。
*制約事項: (10.2.1) Bash Shellでのみ動作、Scriptで他のScriptを呼び出すコマンドは実行ブロック + 13. **Session Recording**: このPermissionのSSH、SFTP、TELNET、FTPセッションレコーディングオプションを設定します。デフォルト値は`On`です。実際のセッションレコーディングは、接続時点で適用されるすべてのポリシーの結果に従います。(11.5.8、11.6.6からサポート) + 14. **Session Recording Max Size (MB)** : セッションレコーディングファイルの最大チャンクサイズをMB単位で設定します。デフォルト値は100MBで、10MBから1024MBまで入力できます。Session RecordingがOffの場合、この項目は無効化されます。(11.5.8、11.6.6からサポート) + 15. **Proxy Usage**: QueryPie AgentでこのPermissionを通じてサーバー接続可能可否を設定します。 + 16. **Require Privilege**: このオプションを有効化すると、ユーザーが該当アカウントでサーバーに接続するためにServer Privilege Requestワークフローを通じた承認手順を必須で経ることになります。これはWindowsサーバーの管理者(Admin)アカウントのように高い権限のアカウントに対するアクセスを一時的に許可し管理する時に有用です。 * このオプションが有効化されたアカウントで接続を試行するとユーザーダッシュボードでサーバー接続時、`Connect`ボタンが無効化され、アクセス権限要求を提出しなければならないという案内メッセージが表示されます。 * Require PrivilegeオプションはサーバーのOS種類と関係なくすべてのアカウントに適用できます。 - 8. **Access Start Time**: 接続可能開始時間を設定します。 - 9. **Access End Time**: 接続可能終了時間を設定します。 - 10. **Access Weekday**: 接続を許可する曜日を設定します。 - 11. **IP Addresses**: 接続を許可するIPアドレスを設定します。 - 12. **Command Audit**: このPermissionを通じて接続されたセッションで使用されたcommandのログ可否を設定します。 - 13. **Command Detection**: ScriptおよびAliasが呼び出される時、内部の禁止コマンド検出可否を設定します。
*制約事項: (10.2.1) Bash Shellでのみ動作、Scriptで他のScriptを呼び出すコマンドは実行ブロック - 14. **Proxy Usage**: QueryPie AgentでこのPermissionを通じてサーバー接続可能可否を設定します。 - 15. **Max Sessions**: 一ユーザーが一サーバーに同時接続可能なセッション数を制限します。 - 16. **Session Timeout (minutes)**: 入力された時間(分)だけ活動しないとセッションは終了されます。 + 17. **Allow Local Port Forwarding**: このPermissionで接続したクライアントからリモートサーバーへのローカルポートフォワーディングを許可します。VS Code Remote SSHなど、ローカルポートフォワーディングを使用するクライアントで必要です。(10.3.0からサポート) + 18. **Allow RDP Clipboard**: このPermissionで接続したRDPセッションのクリップボードリダイレクト許可有無を設定します。Disableに設定すると、RDPセッションでクリップボードリダイレクトを使用できません。(11.5.8、11.6.6からサポート) + 19. **Max Sessions**: 一ユーザーが一サーバーに同時接続可能なセッション数を制限します。 + 20. **Session Timeout (minutes)**: 入力された時間(分)だけ活動しないとセッションは終了されます。 3. 右下の`Grant`ボタンをクリックすると権限付与が完了します。 diff --git a/src/content/ja/administrator-manual/servers/server-access-control/policies/setting-server-access-policy.mdx b/src/content/ja/administrator-manual/servers/server-access-control/policies/setting-server-access-policy.mdx index 8e2d27a79..b0d354edd 100644 --- a/src/content/ja/administrator-manual/servers/server-access-control/policies/setting-server-access-policy.mdx +++ b/src/content/ja/administrator-manual/servers/server-access-control/policies/setting-server-access-policy.mdx @@ -3,6 +3,8 @@ title: 'サーバーアクセスポリシー設定' confluenceUrl: 'https://querypie.atlassian.net/wiki/spaces/QM/pages/544381039' --- +import { Callout } from 'nextra/components' + # サーバーアクセスポリシー設定 ### Overview @@ -18,25 +20,32 @@ PolicyはIaCのような形態でYAML Codeを基盤に動作します。 * **serverGroup**: 接続を許可するサーバーグループ * **account**: サーバーグループに登録されたAccount * **protocols**: 許可プロトコル(10.2基準、SSH、SFTP、TELNET、FTP、RDPサポート) -* **commandRef**: 接続時適用するコマンドテンプレート +* **commandsRef**: 接続時適用するコマンドテンプレート * 選択したCommand Templateの内容は`Command Policy Detail`アコーディオンを展開して確認可能 * コマンドテンプレートの生成と管理方法は[Command Templates](../command-templates)参照 * Allow / Denyコマンドテンプレートをすべて適用した場合、Deny優先適用 * **accessTime**: 接続許可時間 * **accessWeekday**: 接続可能曜日 -* **ipAddress**: 接続可能IP設定
*Security > Resource IP Access Control Configuration設定に該当する場合、許可した範囲内のIPのみアクセス許可 +* **ipAddresses**: 接続可能IP設定
*Security > Resource IP Access Control Configuration設定に該当する場合、許可した範囲内のIPのみアクセス許可 * **commandAudit**: 接続時のコマンド監査適用の有無 * **commandDetection**: ScriptとAliasが呼び出される時、内部の禁止コマンド検出の有無設定
*制約事項: (10.2.1) Bash Shellでのみ動作、Scriptで他のScriptを呼び出すコマンドは実行ブロック -* **proxyUsage**: Agentを通じたプロキシ接続許可の有無 +* **sessionRecording**: セッションレコーディングの使用有無を設定します。デフォルト値は`On(true)`です。複数のポリシーが同時に適用される場合、いずれか一つでも`On(true)`であればセッションレコーディングが有効化されます。そのため、セッションレコーディングを無効化するには、一致するすべてのポリシーで`Off(false)`に設定する必要があります。(11.5.8、11.6.6からサポート) +* **sessionRecordingMaxSizeMb**: セッションレコーディングファイルの最大チャンクサイズをMB単位で設定します。デフォルト値は`100`で、10から1024まで入力できます。複数のポリシーが同時に適用される場合は、最も小さい値が適用されます。(11.5.8、11.6.6からサポート) +* **useProxy**: Agentを通じたプロキシ接続許可の有無 * **maxSessions**: サーバー当たり最大同時接続数 * **sessionTimeout**: サーバーセッションタイムアウト基準時間(分) -* **requirePrivilege**: サーバー接続時の権限承認必要の有無
*このオプションを有効化(Enable)すると、該当アカウントはサーバー権限要求(Server Privilege Request)ワークフローを通じた承認を受けなければサーバーに接続できません。 +* **requirePrivilege**: サーバー接続時の権限承認必要の有無
*このオプションを有効化(`Enable`)すると、該当アカウントはサーバー権限要求(Server Privilege Request)ワークフローを通じた承認を受けなければサーバーに接続できません。 +* **allowLocalPortForwarding** : クライアントからリモートサーバーへのローカルポートフォワーディングを許可します。デフォルト値は`Disable(false)`です。VS Code Remote SSHなど、ローカルポートフォワーディングを使用するクライアントでは`Enable(true)`に設定する必要があります。 +* **allowClipboard** (**Allow RDP Clipboard**): RDPセッションのクリップボードリダイレクト許可有無を設定します。デフォルト値は`true`で、`false`に設定するとRDPセッションでclipboard redirectionをブロックできます。(11.5.8、11.6.6からサポート) + +Clipboard Redirectionとは?
ローカルデバイスとリモートWindowsデスクトップセッション間でクリップボードを共有し、コピーしたテキストやファイルなどを相互に貼り付けられるようにするRemote Desktop Protocol(RDP)の機能です。 +
-### Policyコードの編集 +#### Editor Modeでポリシーを編集する
-Administrator > Servers > Server Access Control > Policies > List Details > Go to Editor Mode +Administrator > Servers > Server Access Control > Policies > List Details > Go to Editor Mode
Administrator > Servers > Server Access Control > Policies > List Details > Go to Editor Mode
diff --git a/src/content/ja/user-manual.mdx b/src/content/ja/user-manual.mdx index bb02d9f1c..6ff59b580 100644 --- a/src/content/ja/user-manual.mdx +++ b/src/content/ja/user-manual.mdx @@ -83,7 +83,7 @@ confluenceUrl: 'https://querypie.atlassian.net/wiki/spaces/QM/pages/544211126' * Database Access Control - * [Web SQLエディタで接続](user-manual/database-access-control/connecting-with-web-sql-editor) + * [Web SQLエディターを使用する](user-manual/database-access-control/using-web-sql-editor) * [Default Privilegeを設定](user-manual/database-access-control/setting-default-privilege) * [エージェント無しでプロキシ接続](user-manual/database-access-control/connecting-to-proxy-without-agent) * Server Access Control @@ -121,4 +121,3 @@ confluenceUrl: 'https://querypie.atlassian.net/wiki/spaces/QM/pages/544211126' - diff --git a/src/content/ja/user-manual/database-access-control.mdx b/src/content/ja/user-manual/database-access-control.mdx index a475c9b90..1dec5dd72 100644 --- a/src/content/ja/user-manual/database-access-control.mdx +++ b/src/content/ja/user-manual/database-access-control.mdx @@ -35,7 +35,7 @@ Schema Level privilegeが割り当てられた場合接続画面 下記の方法を通じてデータベースコネクションに接続およびクエリを実行してデータを照会できます。 -* [ウェブSQLエディターで接続](database-access-control/connecting-with-web-sql-editor) +* [Web SQLエディターを使用する](database-access-control/using-web-sql-editor) * [エージェントなしでプロキシ接続](database-access-control/connecting-to-proxy-without-agent) * [エージェントを通じてプロキシ接続](user-agent) @@ -58,7 +58,7 @@ Redash、Tableau、Zeppelinのような**ウェブサービスでDBに接続し ### データベース接続ガイドアクセス -* [ウェブSQLエディターで接続](database-access-control/connecting-with-web-sql-editor) +* [Web SQLエディターを使用する](database-access-control/using-web-sql-editor) * [Default Privilege設定](database-access-control/setting-default-privilege) * [エージェントなしでプロキシ接続](database-access-control/connecting-to-proxy-without-agent) * [Google BigQuery OAuth認証を通じて接続](database-access-control/connecting-via-google-bigquery-oauth-authentication) diff --git a/src/content/ja/user-manual/database-access-control/_meta.ts b/src/content/ja/user-manual/database-access-control/_meta.ts index f40d4bcaf..458d03e05 100644 --- a/src/content/ja/user-manual/database-access-control/_meta.ts +++ b/src/content/ja/user-manual/database-access-control/_meta.ts @@ -1,7 +1,7 @@ export default { - 'connecting-with-web-sql-editor': 'Web SQLエディターでの接続', + 'using-web-sql-editor': 'Web SQLエディターを使用する', 'setting-default-privilege': 'Default Privilegeの設定', 'connecting-to-proxy-without-agent': 'エージェントなしでのプロキシ接続', 'connecting-via-google-bigquery-oauth-authentication': 'Google BigQuery OAuth認証による接続', 'connecting-to-custom-data-source': 'Custom Data Sourceへの接続', -}; \ No newline at end of file +}; diff --git a/src/content/ja/user-manual/database-access-control/connecting-with-web-sql-editor.mdx b/src/content/ja/user-manual/database-access-control/using-web-sql-editor.mdx similarity index 77% rename from src/content/ja/user-manual/database-access-control/connecting-with-web-sql-editor.mdx rename to src/content/ja/user-manual/database-access-control/using-web-sql-editor.mdx index f347a9bc6..9814d1ac0 100644 --- a/src/content/ja/user-manual/database-access-control/connecting-with-web-sql-editor.mdx +++ b/src/content/ja/user-manual/database-access-control/using-web-sql-editor.mdx @@ -1,11 +1,11 @@ --- -title: 'ウェブSQLエディターで接続する' +title: 'Web SQLエディターを使用する' confluenceUrl: 'https://querypie.atlassian.net/wiki/spaces/QM/pages/544380222/SQL' --- import { Callout } from 'nextra/components' -# ウェブSQLエディターで接続する +# Web SQLエディターを使用する ### Overview @@ -17,7 +17,7 @@ QueryPieではウェブブラウザを通じてクエリを実行し、データ 個別ユーザーまたはグループにアクセス権限が付与されたデータベースコネクションリストを確認でき、作業を実行するコネクションを選択してデータベースに接続できます。
-User > Databasesのコネクション選択および接続画面 +User > Databasesのコネクション選択および接続画面
User > Databasesのコネクション選択および接続画面
@@ -37,7 +37,7 @@ User > Databasesのコネクション選択および接続画面 #### 1. 左上オブジェクトパネル
-SQL Editor > Connection Panel +SQL Editor > Connection Panel
SQL Editor > Connection Panel
@@ -50,7 +50,7 @@ SQL Editor > Connection Panel #### 2. 左側オブジェクトパネル
-SQL Editor > Connection Panel +SQL Editor > Connection Panel
SQL Editor > Connection Panel
@@ -65,7 +65,7 @@ SQL Editor > Connection Panel #### 3. 上部ツールバー
-QueryPie Web > Database Access Control > SQL Editor > Toolbar +QueryPie Web > Database Access Control > SQL Editor > Toolbar
QueryPie Web > Database Access Control > SQL Editor > Toolbar
@@ -90,7 +90,7 @@ QueryPie Web > Database Access Control > SQL Editor > Toolbar
-SQL Editor > Editor Tab & Result +SQL Editor > Editor Tab & Result
SQL Editor > Editor Tab & Result
@@ -104,7 +104,7 @@ SQL Editor > Editor Tab & Result #### 3. Queriesパネル
-SQL Editor > Queries Panel +SQL Editor > Queries Panel
SQL Editor > Queries Panel
@@ -120,7 +120,7 @@ SQL Editor > Queries Panel #### 4. Object Infoパネル
-SQL Editor > Object Info Panel +SQL Editor > Object Info Panel
SQL Editor > Object Info Panel
@@ -137,7 +137,7 @@ SQL Editor > Object Info Panel #### 5. SQL Historyパネル
-SQL Editor > SQL History Panel +SQL Editor > SQL History Panel
SQL Editor > SQL History Panel
@@ -171,6 +171,14 @@ Ledger政策または接続政策によってクエリ実行時に理由入力 総300文字まで入力可能です。
-image-20241031-233232.png +image-20241031-233232.png
+#### 7. ポリシー例外の申請 + +マスキングポリシーによりカラムの内容がマスキングされる場合や、アクセス制限ポリシーによりRestrictedデータを表示できない場合は、Workflowメニューからポリシー例外を直接申請するか、Webエディターから申請を開始できます。 +クエリ結果パネルを右クリックし、表示されるメニューで`Send Unmasking Request`または`Send Restricted Data Request`を選択すると、Workflowの該当する申請画面に移動します。
Workflowで申請する方法については、以下のページを参照してください。 + +* [Unmasking Requestの申請(マスキング解除申請)](../workflow/requesting-unmasking-mask-removal-request) +* [Restricted Data Accessの申請(制限データアクセス申請)](../workflow/requesting-restricted-data-access) +* [DBポリシー例外の申請(DB Policy Exception Request)](../workflow/requesting-db-policy-exception)
diff --git a/src/content/ko/administrator-manual/audit/general-logs/activity-logs.mdx b/src/content/ko/administrator-manual/audit/general-logs/activity-logs.mdx index 7f318e32f..9f26662ff 100644 --- a/src/content/ko/administrator-manual/audit/general-logs/activity-logs.mdx +++ b/src/content/ko/administrator-manual/audit/general-logs/activity-logs.mdx @@ -9,7 +9,7 @@ import { Callout } from 'nextra/components' ### Overview -Activity Logs에서는 **관리자**에 의해 수행되는 리소스 등록 및 설정 변경 이력을 조회할 수 있습니다. +Activity logs에서는 **관리자**에 의하여 수행되는 리소스 등록 및 설정 변경 이력을 조회할 수 있습니다. ### Activity Logs 조회하기 @@ -23,7 +23,7 @@ Administrator > Audit > General > Activity Logs 1. Administrator > Audit > General > Activity Logs 메뉴로 접근합니다. 2. **조회 기간** : 기본적으로 이번 달의 로그 목록이 최신 순으로 조회됩니다. - 1. 조회 기간을 변경하려면 필터 패널을 열고 **Action At** 에서 조회 기준일을 변경합니다. + 1. 조회 기간 변경을 위해서는 필터 패널을 열고, **Action At** 에서 조회 기준일을 변경하시기 바랍니다. 3. **Action Type** : 리소스 변경 내용을 간략하게 확인할 수 있습니다. 형식은 다음과 같습니다. 1. `{변경이 가해진 리소스 타입}` `{Created | Updated | Deleted…}` : 특정 리소스가 생성, 변경, 또는 삭제된 경우 * 예: `DB Connection Created`, `Server Updated`, `Kubernetes Policy Deleted` @@ -43,15 +43,15 @@ Administrator > Audit > General > Activity Logs > Activity Logs Deta
1. 목록의 한 행을 클릭하면 Drawer가 열리고, 상세 내용을 확인할 수 있습니다. -2. **Affected Data** : 해당 행위에 의해 변경된 데이터 내역을 표시합니다. 각 컬럼의 의미는 다음과 같습니다. +2. **Affected Data** : 해당 행위에 의하여 변경된 데이터 내역을 표시합니다. 각 컬럼의 의미는 다음과 같습니다. 1. Label : 데이터 컬럼명 2. Before : 액션 이전의 값 3. After : 액션 이후의 값 3. **Related Logs** : 해당 행위에 대해, 연쇄적으로 또는 동시에 발생한 로그를 표시합니다. 전후 로그를 모두 포함합니다. - 1. 관리자가 직접 일으킨 행위뿐만 아니라, 그에 따라 파생된 시스템의 자동 행위들을 확인할 수 있습니다. - 2. Related Logs에 표시된 행위 로그들은 각각 개별 로그로도 남아 있습니다. + 1. 관리자가 직접 일으킨 행위 뿐만 아니라, 그에 따라 파생된 시스템의 자동 행위들을 확인할 수 있습니다. + 2. Related Logs에 표시된 행위 로그들은 각각 개별 로그로도 남아있습니다. -11.3.0 부터 Activity Logs의 상세 화면(Drawer)에서 Changes Only 체크박스가 추가되어 변경된 항목만 필터링해서 볼 수 있도록 개선되었습니다. -또한, 빈 값의 경우 “-(dash)” 대신 “<null>” 로 표시하도록 변경되었습니다. +11.3.0 부터 Activity Logs의 상세 화면(Drawer)에서 Changes Only 체크박스가 추가되어 변경된 항목만 필터링 해서 볼 수 있도록 개선되었습니다. +또한, 빈값의 경우 “-(dash)” 대신 “<null>” 로 표시하도록 변경되었습니다. diff --git a/src/content/ko/administrator-manual/audit/server-logs/access-control-logs.mdx b/src/content/ko/administrator-manual/audit/server-logs/access-control-logs.mdx index 03eb42f36..87b9dd909 100644 --- a/src/content/ko/administrator-manual/audit/server-logs/access-control-logs.mdx +++ b/src/content/ko/administrator-manual/audit/server-logs/access-control-logs.mdx @@ -80,19 +80,24 @@ Administrator > Audit > Servers > Access Control Logs > Access Contr 9. **Expiration Date** : 권한 부여 만료일 (회수예정일) 10. **Account** : 서버 Account 11. **Action By** : Permission 부여/회수를 진행한 관리자명 또는 System - 1. Workflow를 통해 권한을 부여받은 경우 Access Request 링크가 나오며, 해당 Request 페이지를 새창에서 열게 됩니다. 2. 하단에는 부여/회수된 Permission에 적용된 정책을 나열합니다: 1. Access Control 관련 로그 - Policy 1. **Access Time** : 접속 허용 시간 2. **Weekday Access Allow** : 접속 허용 요일 3. **IP Addresses** : 접속 허용 IP 4. **Command Audit** : 명령어 기록 여부 - 5. **Proxy Usage** : Proxy(Agent)를 통한 접속 가능 여부 - 6. **Max Sessions** : 최대 접속 세션 개수 - 7. **Session Timeout (minutes)** : 세션 타임아웃 시간 설정 - 8. **Protocols** : 접속 프로토콜 - 9. **Command Template** : 적용된 금지명령어 세트 + 5. **Session Recording**: 권한이 부여되었을 때 적용된 세션 레코딩 사용 여부입니다. (11.5.8, 11.6.6부터 지원) + 6. **Session Recording Max Size (MB)**: 권한이 부여되었을 때 적용된 세션 레코딩 파일의 최대 청크 크기입니다. (11.5.8, 11.6.6부터 지원) + 7. **Proxy Usage** : Proxy(Agent)를 통한 접속 가능 여부 + 8. **Require Privilege** : 권한 상승 사용 여부 + 9. **Allow Local Port Forwarding** : 로컬 포트 포워딩 허용 여부 (10.3.0부터 지원) + 10. **Allow RDP Clipboard** : RDP 클립보드 사용 허용 여부 (11.5.8, 11.6.6부터 지원) + 11. **Max Sessions** : 최대 접속 세션 개수 + 12. **Session Timeout (minutes)** : 세션 타임아웃 시간 설정 + 13. **Protocols** : 접속 프로토콜 + 14. **Command Template** : 적용된 금지명령어 세트 2. Whitelist 관련 로그 - Whitelisted Commands 1. **Keyword** : 예외처리 키워드 2. **RegEx** : 예외처리 정규식 3. **Whitelist Expiration Date** : 예외처리 만료일 + diff --git a/src/content/ko/administrator-manual/audit/server-logs/session-logs.mdx b/src/content/ko/administrator-manual/audit/server-logs/session-logs.mdx index 33960ec80..5048a0abd 100644 --- a/src/content/ko/administrator-manual/audit/server-logs/session-logs.mdx +++ b/src/content/ko/administrator-manual/audit/server-logs/session-logs.mdx @@ -3,6 +3,8 @@ title: 'Session Logs' confluenceUrl: 'https://querypie.atlassian.net/wiki/spaces/QM/pages/544014927/Session+Logs' --- +import { Callout } from 'nextra/components' + # Session Logs ### Overview @@ -10,6 +12,10 @@ confluenceUrl: 'https://querypie.atlassian.net/wiki/spaces/QM/pages/544014927/Se 조직에서 관리하는 서버 접속 세션을 레코딩합니다. 관리자는 영상 재생을 통해 서버 내에서 사용자의 작업 수행 이력을 모니터링할 수 있습니다. + +11.5.8, 11.6.6부터 Session Recording 옵션이 추가되어 설정 값이 On인 경우에만 세션 레코딩 로그가 생성됩니다. + + ### Session Logs 조회하기
diff --git a/src/content/ko/administrator-manual/databases/dac-general-configurations.mdx b/src/content/ko/administrator-manual/databases/dac-general-configurations.mdx index 9ddbdae87..cb05f36ea 100644 --- a/src/content/ko/administrator-manual/databases/dac-general-configurations.mdx +++ b/src/content/ko/administrator-manual/databases/dac-general-configurations.mdx @@ -64,7 +64,7 @@ SQL Editor 화면에서 쿼리 공유 기능을 사용할 수 있습니다. * Save 시 연동한 Repository에 쿼리 파일이 저장됩니다. * Queries 패널 > QueryPie Git Sharing 폴더에서 Repository에 저장된 쿼리 파일을 불러올 수 있습니다. -자세한 설명은 [웹 SQL 에디터로 접속하기](../../user-manual/database-access-control/connecting-with-web-sql-editor)를 참고하세요. +자세한 설명은 [웹 SQL 에디터 사용하기](../../user-manual/database-access-control/using-web-sql-editor)를 참고하세요. ______ diff --git a/src/content/ko/administrator-manual/kubernetes.mdx b/src/content/ko/administrator-manual/kubernetes.mdx index eac45a68e..f9839dc0e 100644 --- a/src/content/ko/administrator-manual/kubernetes.mdx +++ b/src/content/ko/administrator-manual/kubernetes.mdx @@ -63,6 +63,7 @@ QueryPie KAC(Kubernetes Access Controller)을 처음 사용하는 관리자라 * [AWS에서 쿠버네티스 리소스 동기화](kubernetes/connection-management/cloud-providers/synchronizing-kubernetes-resources-from-aws) +* [Google 클라우드 GKE 리소스 동기화](kubernetes/connection-management/cloud-providers/synchronizing-gke-resources-from-google-cloud) * [수동으로 쿠버네티스 클러스터 등록하기](kubernetes/connection-management/clusters/manually-registering-kubernetes-clusters) diff --git a/src/content/ko/administrator-manual/kubernetes/connection-management/cloud-providers/_meta.ts b/src/content/ko/administrator-manual/kubernetes/connection-management/cloud-providers/_meta.ts index 7bfe89707..9a7332406 100644 --- a/src/content/ko/administrator-manual/kubernetes/connection-management/cloud-providers/_meta.ts +++ b/src/content/ko/administrator-manual/kubernetes/connection-management/cloud-providers/_meta.ts @@ -1,3 +1,4 @@ export default { 'synchronizing-kubernetes-resources-from-aws': 'AWS에서 쿠버네티스 리소스 동기화', + 'synchronizing-gke-resources-from-google-cloud': 'Google 클라우드 GKE 리소스 동기화', }; diff --git a/src/content/ko/administrator-manual/kubernetes/connection-management/cloud-providers/synchronizing-gke-resources-from-google-cloud.mdx b/src/content/ko/administrator-manual/kubernetes/connection-management/cloud-providers/synchronizing-gke-resources-from-google-cloud.mdx new file mode 100644 index 000000000..bec7d05a1 --- /dev/null +++ b/src/content/ko/administrator-manual/kubernetes/connection-management/cloud-providers/synchronizing-gke-resources-from-google-cloud.mdx @@ -0,0 +1,198 @@ +--- +title: 'Google 클라우드 GKE 리소스 동기화' +confluenceUrl: 'https://querypie.atlassian.net/wiki/spaces/QM/pages/2325086215/Google+GKE' +--- + +import { Callout } from 'nextra/components' + +# Google 클라우드 GKE 리소스 동기화 + +### Overview + +QueryPie에서는 쿠버네티스 클러스터 등록 및 관리를 위한 GCP 연동을 지원합니다. +GCP Project 내의 GKE 클러스터를 동기화하여 QueryPie에서 관리하는 클러스터로 등록하고, 사용자 및 그룹에 동기화해 온 클러스터에 대한 Kubernetes API 접근 권한을 부여하고 정책을 설정할 수 있습니다. + +이 문서는 GCP Service Account Key JSON을 QueryPie에 직접 등록하여 GKE Standard 또는 Autopilot 클러스터를 동기화하는 절차를 안내합니다. + + +GCP의 GKE 리소스 동기화 기능은 11.5.4 이상, 11.6.1 이상에서 제공됩니다. + + +### 사전 준비사항 + +1. 대상 GCP Project ID를 확인합니다. +2. 동기화 대상 GKE 클러스터가 GKE Standard 또는 Autopilot으로 생성되어 있는지 확인합니다. +3. GCP에서 Service Account 생성, IAM 역할 부여, Service Account Key 생성이 가능한 관리자 권한을 준비합니다. +4. QueryPie에서 KAC Cloud Provider를 생성하고 동기화할 수 있는 관리자 권한을 준비합니다. +5. GCP Project에서 다음 API가 활성화되어 있는지 확인합니다. + +| **API** | **사용 목적** | +| ------------------------------------- | ----------------------------------------------------------- | +| `container.googleapis.com` | GKE 클러스터 목록, Endpoint, CA 조회 및 Kubernetes API 접속 | +| `iam.googleapis.com` | Service Account 및 Key 생성 | +| `cloudresourcemanager.googleapis.com` | Project IAM Binding 설정 | + +API가 활성화되어 있지 않다면 GCP Console의 **APIs & Services > Enabled APIs & services** 메뉴에서 활성화하거나, 아래 명령을 실행합니다. +``` +gcloud services enable \ + container.googleapis.com \ + iam.googleapis.com \ + cloudresourcemanager.googleapis.com \ + --project= +``` + +### GCP Service Account 생성 및 권한 부여 + +QueryPie가 GCP와 GKE에 인증할 수 있도록 QueryPie 전용 Service Account를 생성합니다. +``` +gcloud iam service-accounts create querypie-kac-gke \ + --display-name="QueryPie KAC GKE" \ + --project= +export QUERYPIE_GKE_SA="querypie-kac-gke@.iam.gserviceaccount.com" +``` + +생성한 Service Account에 GKE 클러스터 동기화 및 Kubernetes API 접속에 필요한 IAM 역할을 부여합니다. +``` +gcloud projects add-iam-policy-binding \ + --member="serviceAccount:${QUERYPIE_GKE_SA}" \ + --role="roles/container.admin" +``` + +`roles/container.admin`에는 QueryPie KAC의 클러스터 동기화와 사용자 및 그룹 impersonation에 필요한 `container.clusters.impersonate` 권한이 포함됩니다. + +### Service Account Key JSON 생성 + +QueryPie Cloud Provider Credential에 등록할 Service Account Key JSON 파일을 생성합니다. +``` +gcloud iam service-accounts keys create querypie-kac-gke-key.json \ + --iam-account="${QUERYPIE_GKE_SA}" \ + --project= +``` + +생성된 JSON 파일은 Base64로 변환하지 않고, 파일의 전체 JSON 내용을 QueryPie에 입력합니다. + + +보안 주의: Service Account Key JSON의 private_key는 장기 자격증명입니다. +Git, Wiki, 메신저, 티켓 등에 원문을 업로드하지 말고, QueryPie 등록에 사용한 뒤에는 조직의 Key 보관 및 삭제 정책에 따라 원본 파일을 관리합니다. +QueryPie에 Cloud Provider를 저장한 뒤에는 Service Account JSON을 수정하거나 다른 Service Account로 교체할 수 없으므로, Credential을 변경해야 하는 경우 새 Cloud Provider를 등록합니다. + + +### QueryPie에서 GCP 연동 정보 등록하기 + +1. **Administrator > Kubernetes > Connection Management > Cloud Providers** 메뉴로 이동합니다. +2. 우측 상단의 `+ Create Provider` 버튼을 클릭합니다. +3. **Name** 항목에 해당 프로바이더를 구분할 수 있는 이름을 입력합니다. +4. **Cloud Provider** 항목에서 **GCP**를 선택합니다. +5. **Project ID** 항목에 GKE 클러스터가 있는 GCP Project ID를 입력합니다. +6. **Credential** 항목에서 **Service Account**를 선택합니다. +7. **Service Account JSON** 항목에 `querypie-kac-gke-key.json` 파일의 전체 JSON 내용을 입력합니다. +8. 필요 시 **Search Filter** 또는 **Auto Configuration Upon Synchronization > Tag**를 설정합니다. +9. **Replication Frequency** 항목에서 동기화 방식을 선택합니다. + * **Manual**: 동기화를 실행하는 시점에만 수동으로 리소스를 동기화합니다. + * **Scheduling**: Cron Expression 기반의 주기적인 스케줄링으로 리소스를 동기화합니다. +10. `Dry Run` 버튼을 클릭하여 Credential과 클러스터 조회 결과를 미리 확인합니다. +11. `Save` 버튼을 클릭하여 Cloud Provider를 저장합니다. + +### 등록된 GCP Cloud Provider 동기화 및 관리 + +1. **Administrator > Kubernetes > Connection Management > Cloud Providers** 메뉴로 이동합니다. +2. 등록한 GCP Cloud Provider를 클릭하여 상세 화면으로 이동합니다. +3. 우측 상단의 `Synchronize` 버튼을 클릭하여 GCP에서 GKE 클러스터를 동기화합니다. +4. 표시되는 **Synchronization Log**에서 동기화 진행 상황을 확인합니다. +5. **Settings > Systems > Jobs** 메뉴에서도 동기화 히스토리를 확인할 수 있습니다. +6. **Administrator > Kubernetes > Connection Management > Clusters** 목록에서 GKE 클러스터가 등록되었는지 확인합니다. + +QueryPie는 `projects//locations/-/clusters` API를 사용하여 Project 내 모든 location의 GKE 클러스터를 조회합니다. +Standard와 Autopilot GKE 클러스터를 모두 동기화할 수 있습니다. + +Cloud Provider를 한 번 등록하고 나면 Provider 일부 정보는 변경할 수 없습니다. + +| **항목** | **변경 가능 여부** | +| ----------------------------------------------------------------------- | ------------------ | +| Name | 변경 가능 | +| Cloud Provider | 변경 불가 | +| Project ID | 변경 불가 | +| Credential | 변경 불가 | +| Service Account JSON | 변경 불가 | +| Vault Secret Store (Credential 을 “Vault(GCP)”로 선택한 경우만 해당됨.) | 변경 불가 | +| Roleset Path (Credential 을 “Vault(GCP)”로 선택한 경우만 해당됨.) | 변경 불가 | +| Search Filter | 변경 가능 | +| Auto Configuration Upon Synchronization > Tag | 변경 불가 | +| Use Regular Expression Search | 변경 가능 | +| Use Case-sensitive Search | 변경 가능 | +| Replication Frequency | 변경 가능 | + +### GKE Standard와 Autopilot 차이 + +| **항목** | **Standard** | **Autopilot** | +| ---------------------------------------- | ------------ | ------------- | +| 클러스터 동기화 | 지원 | 지원 | +| 사용자 정의 사용자 및 그룹 impersonation | 지원 | 지원 | +| `system:*` 사용자 및 그룹 impersonation | 지원 | 미지원 | + +Autopilot에서는 KAC Policy의 impersonation 그룹으로 `system:masters` 같은 `system:*` 그룹을 사용할 수 없습니다. +사용자 정의 그룹을 사용하는 경우 Standard와 Autopilot 모두 해당 그룹을 필요한 Kubernetes `ClusterRole`에 연결하는 `ClusterRoleBinding`을 대상 GKE 클러스터에 생성해야 합니다. + +예를 들어 QueryPie에서 `querypie:kac-admins` 그룹을 impersonation 그룹으로 사용하는 경우, 대상 GKE 클러스터에 다음과 같은 `ClusterRoleBinding`을 구성할 수 있습니다. +``` +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: querypie-kac-admins +subjects: + - kind: Group + name: querypie:kac-admins + apiGroup: rbac.authorization.k8s.io +roleRef: + kind: ClusterRole + name: cluster-admin + apiGroup: rbac.authorization.k8s.io +``` + +운영 환경에서는 `cluster-admin` 대신 조직 정책에 맞는 최소 권한 `ClusterRole`을 사용하는 것을 권장합니다. + + +보다 자세한 내용은 아래 링크 참고 바랍니다. +* [Google Cloud: GKE roles and permissions](https://cloud.google.com/iam/docs/roles-permissions/container) +* [Google Cloud: GKE Autopilot security](https://cloud.google.com/kubernetes-engine/docs/concepts/autopilot-security) + + +### Dry Run/Synchronization Log 표기 문구 + +| **발생 시점** | **문구** | +| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Dry Run 또는 Synchronize 동기화 시작 | `Cluster synchronize started.` | +| 신규 클러스터 추가 완료 | `New Cluster is added: {Cluster Name} (https://{Endpoint}).` | +| 기존 클러스터 정보 업데이트 완료 | `Cluster {Cluster Name} is updated.` | +| 기존 클러스터 제거 완료 | `Cluster {Cluster Name} is removed.` | +| Dry Run 또는 Synchronize 동기화 성공 종료 | `Cluster synchronize succeeded.` | +| 이미 중복된 클러스터명이 확인되어 동기화 실패 | `Cluster synchronization failed. The cluster name “{Cluster Name}” is already in use by another cluster. To synchronize it, delete the existing cluster.` | +| Dry Run 또는 Synchronize 동기화 실패 종료 | `Cluster synchronize failed. {additional statement}` | +| 클러스터 Endpoint를 조회할 수 없어 동기화 스킵 | `Skipping cluster {Cluster Name}: endpoint not available (cluster may be provisioning).` | +| 클러스터 CA 인증서를 조회할 수 없어 동기화 스킵 | `Skipping cluster {Cluster Name}: CA certificate not available.` | +| 신규 클러스터 추가 실패 | `Failed to add cluster {Cluster Name}: {additional statement}` | +| 기존 클러스터 업데이트 실패 | `Failed to update cluster {Cluster Name}: {additional statement}` | +| 기존 클러스터 삭제 실패 | `Failed to delete cluster {Cluster Name}: {additional statement}` | + +### 자주 묻는 질문 + +#### Q. Service Account JSON은 Base64로 인코딩해서 입력해야 하나요? + +A. 아닙니다. `querypie-kac-gke-key.json` 파일의 전체 JSON 내용을 그대로 입력합니다. + +#### Q. GKE Autopilot 클러스터도 동기화할 수 있나요? + +A. 네. +GKE Standard와 Autopilot 클러스터 모두 동기화할 수 있습니다. +다만 Autopilot에서는 `system:masters` 같은 `system:*` 사용자 및 그룹 impersonation을 사용할 수 없으므로, 사용자 정의 그룹과 필요한 Kubernetes RBAC Binding을 사용하는 것을 권장합니다. + +#### Q. Cloud Provider 저장 후 Project ID나 Credential을 수정할 수 있나요? + +A. 아니요. +Provider를 저장한 뒤에는 Cloud Provider, Project ID, Credential, Service Account JSON과 같은 핵심 연결 정보는 변경할 수 없습니다. +다른 Project나 Credential을 사용해야 한다면 Cloud Provider를 새로 등록합니다. + +#### Q. 동기화는 성공했지만 사용자가 클러스터에 접속하지 못합니다. + +A. QueryPie에 클러스터가 등록된 뒤에도 사용자 또는 그룹에 대한 KAC 접근 권한과 정책이 별도로 필요합니다. +또한 사용자 정의 impersonation 그룹을 사용하는 경우 대상 GKE 클러스터에 해당 그룹을 Kubernetes `RoleBinding` 또는 `ClusterRoleBinding`으로 연결했는지 확인합니다. diff --git a/src/content/ko/administrator-manual/servers/connection-management/server-groups/managing-servers-as-groups.mdx b/src/content/ko/administrator-manual/servers/connection-management/server-groups/managing-servers-as-groups.mdx index 018dc261e..22a62ae77 100644 --- a/src/content/ko/administrator-manual/servers/connection-management/server-groups/managing-servers-as-groups.mdx +++ b/src/content/ko/administrator-manual/servers/connection-management/server-groups/managing-servers-as-groups.mdx @@ -227,5 +227,5 @@ macOS의 VNC 프로토콜 제한에 의해, VNC를 통한 자동 로그인을 Workflow에서 보여지는 Server Group을 제한하기 위해선 Admin > Servers > General > Configurations에서 "Show Server Groups in Workflow if Assigned as Member" 항목을 활성화해야 합니다. -자세한 위치는 [Server Access Request Default Settings | 기본-서버-접근-정책-설정](../../sac-general-configurations#%ea%b8%b0%eb%b3%b8-%ec%84%9c%eb%b2%84-%ec%a0%91%ea%b7%bc-%ec%a0%95%ec%b1%85-%ec%84%a4%ec%a0%95) 가이드를 참고해 주세요. +자세한 위치는 [Server Access Request Default Settings | 기본-서버-접근-정책-설정](../../sac-general-configurations#server-access-request-default-settings) 가이드를 참고해 주세요. diff --git a/src/content/ko/administrator-manual/servers/sac-general-configurations.mdx b/src/content/ko/administrator-manual/servers/sac-general-configurations.mdx index 4ef827d06..5434dec1c 100644 --- a/src/content/ko/administrator-manual/servers/sac-general-configurations.mdx +++ b/src/content/ko/administrator-manual/servers/sac-general-configurations.mdx @@ -85,7 +85,7 @@ Allowed Zones는 넓은 범위의 허용 IP 대역을 의미합니다. * **Password Provisioning**: 패스워드 프로비저닝 사용 여부 설정 * 등록된 서버의 서버 계정 패스워드를 주기적으로 변경 * On으로 설정 시 아래와 같이 변경 - * [서버를 그룹으로 관리하기 | 3.-Accounts-등록하기](connection-management/server-groups/managing-servers-as-groups#3.-accounts-%eb%93%b1%eb%a1%9d%ed%95%98%ea%b8%b0)에서 패스워드 프로비저닝에 사용할 계정 선택 옵션 추가 + * [서버를 그룹으로 관리하기 | 3.-Accounts-등록하기](connection-management/server-groups/managing-servers-as-groups#3-accounts-등록하기)에서 패스워드 프로비저닝에 사용할 계정 선택 옵션 추가 * [Password Provisioning](server-account-management/password-provisioning) 메뉴 활성화 및 Password 변경 Job 등록 * [Account Management](server-account-management/account-management) 메뉴 활성화 및 QueryPie에서 관리하는 서버의 계정 리스트 조회 기능 제공 * **Allow RDP Connection without Server Agent**: RDP Server Agent가 설치되지 않은 Windows Server 접속 허용 여부 설정 @@ -106,7 +106,7 @@ RDP Server Agent가 설치되지 않은 Windows Server에 접속할 경우 아 * Provisioning 계정과 One Time Account를 시스템에 등록할 수 있습니다. * 서버 접속 시, 시스템이 자동으로 서버에 임시 계정을 생성합니다. -#### 서버 권한 신청의 기본 정책 설정 +#### Server Access Request Default Settings Workflow 요청을 통한 Direct Permission 할당 시에 적용되는 서버 접근 정책을 관리합니다. @@ -122,7 +122,10 @@ Workflow 요청을 통한 Direct Permission 할당 시에 적용되는 서버
-Screenshot-2025-07-22-at-3.09.36-PM.png +Admin > Servers > General > Configurations > Server Access Request Default Settings +
+Admin > Servers > General > Configurations > Server Access Request Default Settings +
* Maximum Access Duration : 서버 접근 권한의 최대 사용 기간을 설정 @@ -138,6 +141,9 @@ Workflow 요청을 통한 Direct Permission 할당 시에 적용되는 서버 * **Proxy Usage**: Agent를 통한 프록시 접속 허용 여부 * **Allow Local Port Forwarding**: Client에서의 Port Forwarding 허용 여부 * VSCode 등 Port Forwarding을 사용하는 경우 사용 +* **Allow RDP Clipboard** : RDP 세션에서 클립보드 사용 허용 여부 +* **Session Recording** : Server Access Request를 통해 부여되는 서버 접근 권한의 기본 세션 레코딩 사용 여부를 설정합니다. 기본값은 On입니다. Off로 설정하면 해당 요청으로 생성되는 Permission의 세션 레코딩 옵션이 Off로 설정됩니다. (11.5.8, 11.6.6 부터 지원) +* **Session Recording Max Size** : 세션 레코딩 파일의 최대 청크 크기를 MB 단위로 설정합니다. 기본값은 100MB이며, 10MB부터 1024MB까지 입력할 수 있습니다. Session Recording이 Off이면 이 항목은 설정할 수 없습니다. (11.5.8, 11.6.6 부터 지원) * **Max Sessions**: 서버 당 최대 동시 접속수 * **Session Timeout**: 서버 세션 타임아웃 기준 시간 (분) * **Show Server Groups in Workflow if Assigned as Member**: 체크된 경우, 이용자가 Server Access Request 신청 시 Server Group Member로 지정된 서버 그룹만 표시 diff --git a/src/content/ko/administrator-manual/servers/server-access-control/access-control/granting-and-revoking-permissions.mdx b/src/content/ko/administrator-manual/servers/server-access-control/access-control/granting-and-revoking-permissions.mdx index a9bf89e36..10fbf481e 100644 --- a/src/content/ko/administrator-manual/servers/server-access-control/access-control/granting-and-revoking-permissions.mdx +++ b/src/content/ko/administrator-manual/servers/server-access-control/access-control/granting-and-revoking-permissions.mdx @@ -50,7 +50,7 @@ Grant Permissions Step 1에서 서버는 최대 1000개까지만 표시됩니다 #### 3. Step 2 : 선택한 서버에 대한 접근 가능 정책을 설정합니다.
-Administrator > Servers > Server Access Control > Access Control > Details > Grant Permissions Step 2 +Administrator > Servers > Server Access Control > Access Control > Details > Grant Permissions Step 2
Administrator > Servers > Server Access Control > Access Control > Details > Grant Permissions Step 2
@@ -60,30 +60,30 @@ Administrator > Servers > Server Access Control > Access Control > D 2. 정책의 각 항목은 아래와 같습니다. 1. **`{n}` Server(s) selected**: 항목은 Step 1 에서 선택했던 Server 수 x Account의 수가 표시됩니다. 클릭하면 각 항목을 리스트 형태로 확인할 수 있습니다. 2. **Set Permissions by Minute**: 이 옵션을 선택하면 서버 접근 권한을 분 단위로 설정할 수 있습니다. 체크박스를 선택하면 아래 설정 항목들이 활성화됩니다. - 1. Start Trigger : 권한 부여 시작 조건을 선택합니다 + 1. **Start Trigger** : 권한 부여 시작 조건을 선택합니다 1. Access to the Server : 사용자가 서버에 접근할 때 즉시 권한이 활성화됩니다. 서버 세션 유지 여부와 상관없이 활성화 시점부터 지정된 기간 동안 서버에 접속할 수 있습니다. 2. Grant : 권한 부여 즉시 타이머가 시작되며, 사용자의 실제 접속 여부와 관계없이 지정된 기간 동안만 권한이 유효합니다. 2. **Duration(Minutes)**: 권한이 유효한 분 단위 시간을 입력합니다. 3. **Expiration Date**: 접속 권한 만료일을 설정합니다. 최대 1년까지 설정할 수 있습니다. (Default = 1년 후) 4. **Protocols**: 서버 접속에 사용할 프로토콜을 사용합니다. 5. **Command Template**: 서버에 접속 후 사용 불가능한 명령 세트를 설정할 수 있습니다. 하단의 Command Template Details을 클릭하여 설정된 세부 조건을 확인할 수 있습니다.
*제약사항: (10.2.1) Grant Permissions에서는 Deny로 설정된 Command Template만 사용이 가능합니다. - 6. **Configure Whitelist**: Command Template을 통해 명령어를 제어하는 과정에서 특정 명령어에 대한 예외처리 허용을 지원합니다. Configure Whitelist 체크 박스를 체크하면 이하의 설정이 나타납니다: - 1. **Commands**: 허용이 필요한 명령어를 기입합니다. - 1. **Keyword**: 키워드로 입력 (ls, cat 등) - 2. **RegEx**: 정규표현식으로 입력 (^sudo\b[^&|;\n]*$ 등) - 2. **Whitelist Expiration Date**: 위 명령에 대한 별도 예외처리 만료일자를 지정합니다. - 7. **Require Privilege**: 이 옵션을 활성화하면, 사용자가 해당 계정으로 서버에 접속하기 위해 Server Privilege Request 워크플로우를 통한 승인 절차를 필수로 거치게 됩니다. 이는 Windows 서버의 관리자(Admin) 계정과 같이 높은 권한의 계정에 대한 접근을 임시로 허용하고 관리할 때 유용합니다. + 6. **Configure Server Privilege** : Permission에 적용할 Server Privilege 설정을 추가합니다. 선택하면 Server Privilege에서 사용할 명령어와 Privilege Expiration Date를 설정할 수 있습니다. 권한을 분 단위로 설정하는 경우 Privilege Start Trigger 및 Privilege Duration(Minutes)도 설정할 수 있습니다. + 7. **Access Start Time**: 접속 가능 시작 시간을 설정합니다. + 8. **Access End Time**: 접속 가능 종료 시간을 설정합니다. + 9. **Access Weekday**: 접속을 허용하는 요일을 설정합니다. + 10. **IP Addresses**: 접속을 허용하는 IP 주소를 설정합니다. + 11. **Command Audit**: 이 Permission을 통해 연결된 세션에서 사용된 command의 로깅 여부를 설정합니다. + 12. **Command Detection**: Script 및 Alias가 호출될 때, 내부의 금지 명령어 탐지 여부를 설정합니다.
*제약사항: (10.2.1) Bash Shell에서만 동작, Script에서 다른 Script를 호출하는 명령어는 수행 차단 + 13. **Session Recording**: 이 Permission의 SSH, SFTP, TELNET, FTP 세션 레코딩 옵션을 설정합니다. 기본값은 `On`입니다. 실제 세션 레코딩은 접속 시점에 적용되는 전체 정책의 결과를 따릅니다. (11.5.8, 11.6.6부터 지원) + 14. **Session Recording Max Size (MB)** : 세션 레코딩 파일의 최대 청크 크기를 MB 단위로 설정합니다. 기본값은 100MB이며, 10MB부터 1024MB까지 입력할 수 있습니다. Session Recording이 Off이면 이 항목은 비활성화됩니다. (11.5.8, 11.6.6부터 지원) + 15. **Proxy Usage**: QueryPie Agent에서 이 Permission을 통해 서버 접속 가능 여부를 설정합니다. + 16. **Require Privilege**: 이 옵션을 활성화하면, 사용자가 해당 계정으로 서버에 접속하기 위해 Server Privilege Request 워크플로우를 통한 승인 절차를 필수로 거치게 됩니다. 이는 Windows 서버의 관리자(Admin) 계정과 같이 높은 권한의 계정에 대한 접근을 임시로 허용하고 관리할 때 유용합니다. * 이 옵션이 활성화된 계정으로 접속을 시도하면 사용자 대시보드에서 서버 접속 시, `Connect` 버튼이 비활성화되며, 접근 권한 요청을 제출해야 한다는 안내 메시지가 표시됩니다. * Require Privilege 옵션은 서버의 OS 종류와 상관없이 모든 계정에 적용할 수 있습니다. - 8. **Access Start Time**: 접속 가능 시작 시간을 설정합니다. - 9. **Access End Time**: 접속 가능 종료 시간을 설정합니다. - 10. **Access Weekday**: 접속을 허용하는 요일을 설정합니다. - 11. **IP Addresses**: 접속을 허용하는 IP 주소를 설정합니다. - 12. **Command Audit**: 이 Permission을 통해 연결된 세션에서 사용된 command의 로깅 여부를 설정합니다. - 13. **Command Detection**: Script 및 Alias가 호출될 때, 내부의 금지 명령어 탐지 여부를 설정합니다.
*제약사항: (10.2.1) Bash Shell에서만 동작, Script에서 다른 Script를 호출하는 명령어는 수행 차단 - 14. **Proxy Usage**: QueryPie Agent에서 이 Permission을 통해 서버 접속 가능 여부를 설정합니다. - 15. **Max Sessions**: 한 유저가 한 서버에 동시 연결 가능한 세션 수를 제한합니다. - 16. **Session Timeout (minutes)**: 입력된 시간(분) 만큼 활동하지 않으면 세션은 종료됩니다. + 17. **Allow Local Port Forwarding**: 이 Permission으로 접속한 클라이언트에서 원격 서버로 로컬 포트를 포워딩할 수 있도록 허용합니다. VS Code Remote SSH 등 로컬 포트 포워딩을 사용하는 클라이언트에서 필요합니다. (10.3.0부터 지원) + 18. **Allow RDP Clipboard**: 이 Permission으로 접속한 RDP 세션의 클립보드 리디렉션 허용 여부를 설정합니다. Disable로 설정하면 RDP 세션에서 클립보드 리디렉션을 사용할 수 없습니다. (11.5.8, 11.6.6부터 지원) + 19. **Max Sessions**: 한 유저가 한 서버에 동시 연결 가능한 세션 수를 제한합니다. + 20. **Session Timeout (minutes)**: 입력된 시간(분) 만큼 활동하지 않으면 세션은 종료됩니다. 3. 우측 하단의 `Grant` 버튼을 클릭하면 권한 부여가 완료됩니다. diff --git a/src/content/ko/administrator-manual/servers/server-access-control/policies/setting-server-access-policy.mdx b/src/content/ko/administrator-manual/servers/server-access-control/policies/setting-server-access-policy.mdx index 5bd68229f..e53838bea 100644 --- a/src/content/ko/administrator-manual/servers/server-access-control/policies/setting-server-access-policy.mdx +++ b/src/content/ko/administrator-manual/servers/server-access-control/policies/setting-server-access-policy.mdx @@ -3,6 +3,8 @@ title: '서버 접근 정책 설정하기' confluenceUrl: 'https://querypie.atlassian.net/wiki/spaces/QM/pages/544381039' --- +import { Callout } from 'nextra/components' + # 서버 접근 정책 설정하기 ### Overview @@ -18,25 +20,32 @@ Policy는 IaC와 같은 형태로 YAML Code를 기반으로 동작합니다. * **serverGroup**: 접속을 허용할 서버 그룹 * **account**: 서버그룹에 등록된 Account * **protocols**: 허용 프로토콜 (10.2 기준, SSH, SFTP, TELNET, FTP, RDP 지원) -* **commandRef**: 접속 시 적용할 명령어 템플릿 +* **commandsRef**: 접속 시 적용할 명령어 템플릿 * 선택한 Command Template의 내용은 `Command Policy Detail` 아코디언을 펼쳐서 확인 가능 * 명령어 템플릿의 생성 및 관리 방법은 [Command Templates](../command-templates) 참고 * Allow / Deny 명령어 템플릿을 모두 적용한 경우, Deny 우선 적용 * **accessTime**: 접속 허용 시간 * **accessWeekday**: 접속 가능 요일 -* **ipAddress**: 접속 가능 IP 설정
*Security > Resource IP Access Control Configuration 설정에 해당하는 경우, 허용한 범위 내의 IP만 접근 허용 +* **ipAddresses**: 접속 가능 IP 설정
*Security > Resource IP Access Control Configuration 설정에 해당하는 경우, 허용한 범위 내의 IP만 접근 허용 * **commandAudit**: 접속 시 명령어 감사 적용 여부 * **commandDetection**: Script 및 Alias가 호출될 때, 내부의 금지 명령어 탐지 여부 설정
*제약사항: (10.2.1) Bash Shell에서만 동작, Script에서 다른 Script를 호출하는 명령어는 수행 차단 -* **proxyUsage**: Agent를 통한 프록시 접속 허용 여부 +* **sessionRecording**: 세션 레코딩 사용 여부를 설정합니다. 기본값은 `On(true)`입니다. 여러 정책이 동시에 적용되는 경우, 하나라도 `On(true)`이면 세션 레코딩이 활성화됩니다. 따라서 세션 레코딩을 비활성화하려면 일치하는 모든 정책에서 `Off(false)`로 설정해야 합니다. (11.5.8, 11.6.6부터 지원) +* **sessionRecordingMaxSizeMb**: 세션 레코딩 파일의 최대 청크 크기를 MB 단위로 설정합니다. 기본값은 `100`이며, 10부터 1024까지 입력할 수 있습니다. 여러 정책이 동시에 적용되는 경우 가장 작은 값이 적용됩니다. (11.5.8, 11.6.6부터 지원) +* **useProxy**: Agent를 통한 프록시 접속 허용 여부 * **maxSessions**: 서버 당 최대 동시 접속수 * **sessionTimeout**: 서버 세션 타임아웃 기준 시간(분) -* **requirePrivilege**: 서버 접속 시 권한 승인 필요 여부
*이 옵션을 활성화(Enable)하면, 해당 계정은 서버 권한 요청(Server Privilege Request) 워크플로우를 통한 승인을 받아야만 서버에 접속할 수 있습니다. +* **requirePrivilege**: 서버 접속 시 권한 승인 필요 여부
*이 옵션을 활성화(`Enable`)하면, 해당 계정은 서버 권한 요청(Server Privilege Request) 워크플로우를 통한 승인을 받아야만 서버에 접속할 수 있습니다. +* **allowLocalPortForwarding** : 클라이언트에서 원격 서버로 로컬 포트를 포워딩할 수 있도록 허용합니다. 기본값은 `Disable(false)`입니다. VS Code Remote SSH 등 로컬 포트 포워딩을 사용하는 클라이언트에서는 `Enable(true)`로 설정해야 합니다. +* **allowClipboard** (**Allow RDP Clipboard**): RDP 세션의 클립보드 리디렉션 허용 여부를 설정합니다. 기본값은 `true`이며, `false`로 설정하면 RDP 세션에서 clipboard redirection을 차단 할 수 있습니다. (11.5.8, 11.6.6부터 지원) + +Clipboard Redirection이란?
로컬 장치와 원격 Windows 데스크톱 세션 간에 클립보드를 공유하여, 복사한 텍스트나 파일 등을 서로 붙여넣을 수 있도록 하는 Remote Desktop Protocol(RDP)의 기능입니다. +
-### Policy 코드 편집하기 +#### Editor Mode 에서 정책 편집하기
-Administrator > Servers > Server Access Control > Policies > List Details > Go to Editor Mode +Administrator > Servers > Server Access Control > Policies > List Details > Go to Editor Mode
Administrator > Servers > Server Access Control > Policies > List Details > Go to Editor Mode
diff --git a/src/content/ko/user-manual.mdx b/src/content/ko/user-manual.mdx index 0ff387359..1bc17c89a 100644 --- a/src/content/ko/user-manual.mdx +++ b/src/content/ko/user-manual.mdx @@ -83,7 +83,7 @@ confluenceUrl: 'https://querypie.atlassian.net/wiki/spaces/QM/pages/544211126' * Database Access Control - * [웹 SQL 에디터로 접속하기](user-manual/database-access-control/connecting-with-web-sql-editor) + * [웹 SQL 에디터 사용하기](user-manual/database-access-control/using-web-sql-editor) * [Default Privilege 설정하기](user-manual/database-access-control/setting-default-privilege) * [에이전트 없이 프록시 접속하기](user-manual/database-access-control/connecting-to-proxy-without-agent) * Server Access Control @@ -121,4 +121,3 @@ confluenceUrl: 'https://querypie.atlassian.net/wiki/spaces/QM/pages/544211126' - diff --git a/src/content/ko/user-manual/database-access-control.mdx b/src/content/ko/user-manual/database-access-control.mdx index 464329354..681a91109 100644 --- a/src/content/ko/user-manual/database-access-control.mdx +++ b/src/content/ko/user-manual/database-access-control.mdx @@ -35,7 +35,7 @@ Schema Level privilege가 할당된 경우 접속화면 아래의 방법을 통해 데이터베이스 커넥션에 접속 및 쿼리를 실행하여 데이터를 조회할 수 있습니다. -* [웹 SQL 에디터로 접속하기](database-access-control/connecting-with-web-sql-editor) +* [웹 SQL 에디터 사용하기](database-access-control/using-web-sql-editor) * [에이전트 없이 프록시 접속하기](database-access-control/connecting-to-proxy-without-agent) * [에이전트를 통해 프록시 접속하기](user-agent) @@ -58,7 +58,7 @@ Redash, Tableau, Zepplin 과 같은 **웹 서비스에서 DB 에 연결하고자 ### 데이터베이스 접속 가이드 바로가기 -* [웹 SQL 에디터로 접속하기](database-access-control/connecting-with-web-sql-editor) +* [웹 SQL 에디터 사용하기](database-access-control/using-web-sql-editor) * [Default Privilege 설정하기](database-access-control/setting-default-privilege) * [에이전트 없이 프록시 접속하기](database-access-control/connecting-to-proxy-without-agent) * [Google BigQuery OAuth 인증을 통해 접속하기](database-access-control/connecting-via-google-bigquery-oauth-authentication) diff --git a/src/content/ko/user-manual/database-access-control/_meta.ts b/src/content/ko/user-manual/database-access-control/_meta.ts index d3c4dd208..f1b8fafd0 100644 --- a/src/content/ko/user-manual/database-access-control/_meta.ts +++ b/src/content/ko/user-manual/database-access-control/_meta.ts @@ -1,5 +1,5 @@ export default { - 'connecting-with-web-sql-editor': '웹 SQL 에디터로 접속하기', + 'using-web-sql-editor': '웹 SQL 에디터 사용하기', 'setting-default-privilege': 'Default Privilege 설정하기', 'connecting-to-proxy-without-agent': '에이전트 없이 프록시 접속하기', 'connecting-via-google-bigquery-oauth-authentication': 'Google BigQuery OAuth 인증을 통해 접속하기', diff --git a/src/content/ko/user-manual/database-access-control/connecting-with-web-sql-editor.mdx b/src/content/ko/user-manual/database-access-control/using-web-sql-editor.mdx similarity index 75% rename from src/content/ko/user-manual/database-access-control/connecting-with-web-sql-editor.mdx rename to src/content/ko/user-manual/database-access-control/using-web-sql-editor.mdx index 0f6d63e05..f27c75763 100644 --- a/src/content/ko/user-manual/database-access-control/connecting-with-web-sql-editor.mdx +++ b/src/content/ko/user-manual/database-access-control/using-web-sql-editor.mdx @@ -1,11 +1,11 @@ --- -title: '웹 SQL 에디터로 접속하기' +title: '웹 SQL 에디터 사용하기' confluenceUrl: 'https://querypie.atlassian.net/wiki/spaces/QM/pages/544380222/SQL' --- import { Callout } from 'nextra/components' -# 웹 SQL 에디터로 접속하기 +# 웹 SQL 에디터 사용하기 ### Overview @@ -17,7 +17,7 @@ QueryPie에서는 웹 브라우저를 통해 쿼리를 실행하고 데이터를 개별 사용자 또는 그룹에 접근 권한이 부여된 데이터베이스 커넥션 목록을 확인할 수 있으며, 작업을 수행할 커넥션을 선택하여 데이터베이스에 접속할 수 있습니다.
-User > Databases의 커넥션 선택 및 접속 화면 +User > Databases의 커넥션 선택 및 접속 화면
User > Databases의 커넥션 선택 및 접속 화면
@@ -37,7 +37,7 @@ User > Databases의 커넥션 선택 및 접속 화면 #### 1. 좌상단 개체 패널
-SQL Editor > Connection Panel +SQL Editor > Connection Panel
SQL Editor > Connection Panel
@@ -50,7 +50,7 @@ SQL Editor > Connection Panel #### 2. 좌측 개체 패널
-SQL Editor > Connection Panel +SQL Editor > Connection Panel
SQL Editor > Connection Panel
@@ -65,7 +65,7 @@ SQL Editor > Connection Panel #### 3. 상단 툴바
-QueryPie Web > Database Access Control > SQL Editor > Toolbar +QueryPie Web > Database Access Control > SQL Editor > Toolbar
QueryPie Web > Database Access Control > SQL Editor > Toolbar
@@ -90,7 +90,7 @@ QueryPie Web > Database Access Control > SQL Editor > Toolbar
-SQL Editor > Editor Tab & Result +SQL Editor > Editor Tab & Result
SQL Editor > Editor Tab & Result
@@ -104,7 +104,7 @@ SQL Editor > Editor Tab & Result #### 3. Queries 패널
-SQL Editor > Queries Panel +SQL Editor > Queries Panel
SQL Editor > Queries Panel
@@ -120,7 +120,7 @@ SQL Editor > Queries Panel #### 4. Object Info 패널
-SQL Editor > Object Info Panel +SQL Editor > Object Info Panel
SQL Editor > Object Info Panel
@@ -137,7 +137,7 @@ SQL Editor > Object Info Panel #### 5. SQL History 패널
-SQL Editor > SQL History Panel +SQL Editor > SQL History Panel
SQL Editor > SQL History Panel
@@ -171,6 +171,14 @@ Ledger 정책 또는 커넥션 정책에 의해 쿼리 수행 시 사유 입력 총 300자까지 입력 가능합니다.
-image-20241031-233232.png +image-20241031-233232.png
+#### 7. 정책에 대한 예외 요청 + +마스킹 정책에 의해 컬럼의 내용이 마스킹이 되거나 접근 제한 정책에 의해 접근이 제한되어 Restricted 로 내용 조회가 불가한 경우 직접 workflow 메뉴로 이동하여 정책예외에 대해 요청할 수도 있으나 웹 에디터의 메뉴를 호출해서 바로 수행할 수도 있습니다. +쿼리 결과 패널에서 마우스 오른쪽 버튼을 누르면 출력되는 메뉴에서 `Send Unmasking Request` 또는 `Send Restricted Data Request` 를 선택하면 Workflow의 해당 선택 요청 화면으로 이동됩니다.
Workflow에서 요청을 수행하는 것은 아래 내용 참고 부탁드립니다. + +* [Unmasking Request 요청하기 (마스킹 해제 요청)](../workflow/requesting-unmasking-mask-removal-request) +* [Restricted Data Access 요청하기 (제한된 데이터 접근 요청)](../workflow/requesting-restricted-data-access) +* [DB 정책 예외 요청하기 (DB Policy Exception Request)](../workflow/requesting-db-policy-exception)