9.5. ユーザーデータの削除

9.5.1. GDPR に準拠したユーザーデータの削除

一般データ保護規則 (GDPR: General Data Protection Regulation) では、個人データの消去を求める個人の権利が施行されています。

以下の手順では、クラスターおよび RH-SSO データベースからユーザーのデータを削除する方法を説明します。

注記

以下のコマンドは、-n オプションのユーザー例として、デフォルトの OpenShift プロジェクト openshift-workspaces を使用します。

前提条件

  • ユーザーまたは管理者の認証トークン。ユーザーアカウントにバインドされているデータ以外のデータを削除する場合は、admin 権限が必要になります。admin は、CHE_SYSTEM_ADMIN__NAME および CHE_SYSTEM_SUPER__PRIVILEGED__MODE = true カスタムリソース定義を使用して事前に作成され、有効にされる特別な CodeReady Workspaces 管理者アカウントです。

    spec:
     server:
       customCheProperties:
         CHE_SYSTEM_SUPER__PRIVILEGED__MODE: 'true'
         CHE_SYSTEM_ADMIN__NAME: '<admin-name>'

    必要に応じて、以下のコマンドを使用して admin ユーザーを作成します。

    $ oc patch checluster/codeready-workspaces \
      --type merge \
      -p '{ "spec": { "server": {"customCheProperties": {"CHE_SYSTEM_SUPER__PRIVILEGED__MODE": "true"} } }}' \
      -n openshift-workspaces
    $ oc patch checluster/codeready-workspaces \
      --type merge \
      -p '{ "spec": { "server": {"customCheProperties": {"CHE_SYSTEM_ADMIN__NAME": "<admin-name>"} } }}' \
      -n openshift-workspaces
    注記

    すべてのシステムパーミッションは、CHE_SYSTEM_ADMIN__NAME プロパティーで設定した管理ユーザーに付与されます (デフォルトは admin です)。システムのパーミッションは CodeReady Workspaces サーバーの起動時に付与されます。ユーザーが CodeReady Workspaces ユーザーデータベースにない場合は、最初のユーザーのログイン後に表示されます。

    認証トークンの権限:

    • admin: すべてのユーザーのすべての個人データを削除できます。
    • user: ユーザーに関連するデータのみを削除できます。
  • ユーザーまたは管理者が、CodeReady Workspaces がデプロイされた状態で OpenShift クラスターにログインしている。
  • ユーザー ID が取得されます。以下のコマンドを使用してユーザー ID を取得します。

    • 現行ユーザーの場合:

      $ curl -X GET \
        --header 'Authorization: Bearer <user-token>' \
        'https://<codeready-<openshift_deployment_name>.<domain_name>>/api/user'
    • 名前でユーザーを検索するには、以下を実行します。

      $ curl -X GET \
        --header 'Authorization: Bearer <user-token>' \
        'https://<codeready-<openshift_deployment_name>.<domain_name>>/api/user/find?name=<username>'
    • メールでユーザーを検索するには、以下を実行します。

      $ curl -X GET \
        --header 'Authorization: Bearer <user-token>' \
        'https://<codeready-<openshift_deployment_name>.<domain_name>>/api/user/find?email=<email>'

      ユーザー ID を取得する例

      この例では、ローカルユーザーの名前として vparfono を使用します。

      $ curl -X GET \
        --header 'Authorization: Bearer <user-token>' \
        'https://che-vp-che.apps.che-dev.x6e0.p1.openshiftapps.com/api/user/find?name=vparfono'

      ユーザー ID は、curl コマンド出力の下部にあります。

      {
       "name": "vparfono",
       "links": [
         {
      .
      .
      .
         }
       ],
       "email": "vparfono@redhat.com",
       "id": "921b6f33-2657-407e-93a6-fb14cf2329ce"
      }

手順

  1. codeready-workspaces CheCluster Custom リソース (CR) 定義を更新して、RH-SSO データベースからユーザーのデータの削除を許可します。

    $ oc patch checluster/codeready-workspaces \
      --patch "{\"spec\":{\"server\":{\"customCheProperties\": {\"CHE_KEYCLOAK_CASCADE__USER__REMOVAL__ENABLED\": \"true\"}}}}" \
      --type=merge -n openshift-workspaces
  2. API を使用してデータを削除します。

    $ curl -i -X DELETE \
      --header 'Authorization: Bearer <user-token>' \
      https://<codeready-<openshift_deployment_name>.<domain_name>>/api/user/<user-id>

検証

以下のコマンドを実行すると、コード 204 が API 応答として返されます。

$ curl -i -X DELETE \
  --header 'Authorization: Bearer <user-token>' \
  https://<codeready-<openshift_deployment_name>.<domain_name>>/api/user/<user-id>

関連資料

すべてのユーザーのデータを削除するには、CodeReady Workspaces のアンインストール 手順に従います。