OpenAI
ਇਸ ਪੰਨੇ ਦਾ ਮਸ਼ੀਨ ਦੁਆਰਾ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਸੀ। ਮੂਲ ਅੰਗਰੇਜ਼ੀ ਲੇਖ ਦੇਖੋ

Management API ਵਿੱਚ EKM (External Keys)

Management API ਦੀ ਵਰਤੋਂ ਕਰਕੇ EKM ਲਈ ਬਾਹਰੀ keys ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ

ਅੱਪਡੇਟ ਕੀਤਾ: last month

ਸਾਰ

ਪਹੁੰਚ

  • EKM endpoints Management API ਵਿੱਚ Admin API Key ਰਾਹੀਂ ਪਹੁੰਚਯੋਗ ਹਨ. https://platform.openai.com/settings/organization/admin-keys (ਸਧਾਰਣ API key ਨਾ ਵਰਤੋ). Admin API keys ਸੰਗਠਨ ਦੇ ਮਾਲਕਾਂ ਲਈ ਉਪਲਬਧ ਹਨ.

  • ਬਾਹਰੀ keys ਬਣਾਉਣ ਜਾਂ ਮਿਟਾਉਣ ਲਈ api.external_keys.write ਵਰਤੋ, ਅਤੇ ਬਾਹਰੀ keys ਨੂੰ ਸੂਚੀਬੱਧ ਜਾਂ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਲਈ api.external_keys.read ਵਰਤੋ. ਇੱਕੋ key ਨੂੰ ਦੋਵੇਂ scopes ਕੇਵਲ ਤਦੋਂ ਚਾਹੀਦੇ ਹਨ ਜੇ ਇਸ ਨੇ read ਅਤੇ write ਦੋਵੇਂ ਕਾਰਵਾਈਆਂ ਕਰਣੀਆਂ ਹੋਣ.

  • ਇਸ ਵੇਲੇ ਸਾਨੂੰ ਤੁਹਾਡੇ ਸੰਗਠਨ ਲਈ ਇਨ੍ਹਾਂ endpoints ਨੂੰ feature flag ਨਾਲ ਯੋਗ ਕਰਨ ਦੀ ਲੋੜ ਹੈ. ਤੁਹਾਨੂੰ ਪਤਾ ਲੱਗ ਜਾਵੇਗਾ ਕਿ feature flag ਮੌਜੂਦ ਹੈ ਜੇ ਮੌਜੂਦਾ List Projects endpoint ਤੋਂ ਵਾਪਸ ਆਏ ਜਵਾਬ ਵਿੱਚ external_key_id ਦਿਖੇ: https://api.openai.com/v1/organization/projects

ਵਰਤੋਂ

  • ਤੁਹਾਡੀ EKM config ਇੱਕ ਨਵੇਂ endpoint https://api.openai.com/v1/organization/external_keys ਰਾਹੀਂ ਸੰਗਠਨ ਪੱਧਰ 'ਤੇ ਰਜਿਸਟਰ ਕੀਤੀ ਜਾਂਦੀ ਹੈ.

  • ਤੁਹਾਡੀ EKM config ਰਜਿਸਟਰ ਕਰਨ ਨਾਲ extkey_xxxx ਦੇ ਰੂਪ ਵਿੱਚ external_key_id ਵਾਪਸ ਮਿਲਦਾ ਹੈ.

  • EKM configs ਨੂੰ ਮੌਜੂਦਾ Create Project https://api.openai.com/v1/organization/projects endpoint ਦੇ body ਵਿੱਚ external_key_id ਭੇਜ ਕੇ ਪ੍ਰੋਜੈਕਟ ਪੱਧਰ 'ਤੇ ਸਰਗਰਮ ਕੀਤਾ ਜਾਂਦਾ ਹੈ.

ਪਾਬੰਦੀਆਂ

  • ਤੁਹਾਨੂੰ Management API ਰਾਹੀਂ ਪਹਿਲਾਂ ਨਵੇਂ ਪ੍ਰੋਜੈਕਟ 'ਤੇ EKM test ਕਰਨਾ ਲਾਜ਼ਮੀ ਹੈ.

  • ਅਸੀਂ ਤੁਹਾਡੇ EKM workloads ਲਈ ਨਵੇਂ ਪ੍ਰੋਜੈਕਟ ਬਣਾਉਣ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕਰਦੇ ਹਾਂ. ਹਾਲਾਂਕਿ, ਜੇ ਤੁਸੀਂ ਮੌਜੂਦਾ ਪ੍ਰੋਜੈਕਟ 'ਤੇ EKM ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਅਸੀਂ ਤੁਹਾਨੂੰ feature flag ਵਿੱਚ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹਾਂ. ਆਪਣੇ ਮੌਜੂਦਾ production ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ EKM rollout ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਕਿਰਪਾ ਕਰਕੇ ਹੇਠਾਂ ਦਿੱਤੀਆਂ best practices ਧਿਆਨ ਵਿੱਚ ਰੱਖੋ.

    • production ਵਿੱਚ ਵਰਤੀਆਂ ਜਾਣ ਵਾਲੀਆਂ ਸਾਰੀਆਂ API features ਨੂੰ ਪਹਿਲਾਂ ਆਪਣੇ test EKM API ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ test ਕਰੋ.

    • ਸਾਰੇ production API ਪ੍ਰੋਜੈਕਟਾਂ 'ਤੇ ਇਕੱਠੇ EKM ਲਾਗੂ ਕਰਨ ਦੀ ਬਜਾਏ ਇਸਨੂੰ ਪੜਾਅਵਾਰ rollout ਕਰੋ.

ਸੰਗਠਨ-ਪੱਧਰ ਦੇ endpoints

ਆਪਣੇ ਸੰਗਠਨ 'ਤੇ ਬਾਹਰੀ key ਰਜਿਸਟਰ ਕਰੋ

AWS

ਨਮੂਨਾ ਬੇਨਤੀ

  • type: string -  ਹਮੇਸ਼ਾਂ “aws”

  • name: string -  ਤੁਹਾਡੀ config ਲਈ ਆਸਾਨੀ ਨਾਲ ਪਛਾਣਯੋਗ ਨਾਮ

  • role_arn: string - Role ARN ਜਿਸਨੂੰ OpenAI ਤੁਹਾਡੇ cloud ਵਿੱਚ assume ਕਰੇਗਾ

  • kms_arn: string - ਤੁਹਾਡੇ ਵੱਲੋਂ ਪ੍ਰਬੰਧਿਤ master key ਲਈ Key Management System ARN

  • external_id: string - ਤੁਹਾਡੇ ਸੰਗਠਨ ਦੀ id ਜਾਂ API ਪ੍ਰੋਜੈਕਟ id

curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys" \
-d '{
  "type": "aws",
  "name": "AWS EKM Config",
  "role_arn": "arn:aws:iam::<12_DIGIT_ACCOUNT_NUMBER>:role/<ROLE>",
  "kms_arn": "arn:aws:kms:<REGION>:<ACCOUNT_NUMBER>:key/<UUID>",
  "external_id": <your org id or project id>
}'

ਨਮੂਨਾ ਜਵਾਬ

{
  "id": "extkey_xxxx",
  "object": "organization.external_key",
  "created_at": 1746175499,
  "api_project_ids": [],
  "type": "aws",
  "name": "AWS EKM Config",
  "role_arn": "arn:aws:iam::<ACCOUNT_NUMBER>:role/<ROLE>",
  "kms_arn": "arn:aws:kms:<REGION>:<ACCOUNT_NUMBER>:key/<UUID>",
  "external_id": <your org id or project id>
}  

GCP

ਨਮੂਨਾ ਬੇਨਤੀ

  • type: string - ਹਮੇਸ਼ਾਂ  "gcp",

  • name: string - ਤੁਹਾਡੀ config ਲਈ ਆਸਾਨੀ ਨਾਲ ਪਛਾਣਯੋਗ ਨਾਮ

  • workload_identity_project_number: string - 12-ਅੰਕੀ GCP ਪ੍ਰੋਜੈਕਟ ਨੰਬਰ ਜਿੱਥੇ ਤੁਸੀਂ OpenAI ਦੀ workload identity ਰਜਿਸਟਰ ਕੀਤੀ ਹੈ

  • workload_identity_pool_id: string - ਉਹ pool ਜਿਸ ਵਿੱਚ ਉਹ Workload Identity provider ਹੈ ਜੋ ਤੁਸੀਂ OpenAI ਲਈ ਰਜਿਸਟਰ ਕੀਤਾ ਹੈ

  • workload_identity_provider_id: string - ਉਹ Workload Identity provider ਜੋ ਤੁਸੀਂ OpenAI ਲਈ ਰਜਿਸਟਰ ਕੀਤਾ ਹੈ

  • audience: string - ਉਹ audience ਜੋ OpenAI ਨੂੰ ਟੋਕਨ ਵਿੱਚ ਭੇਜਣੀ ਚਾਹੀਦੀ ਹੈ ਜਦੋਂ ਅਸੀਂ ਤੁਹਾਡੇ GCP STS ਰਾਹੀਂ role assume ਕਰਦੇ ਹਾਂ

  • kms_project_id: string - ਉਸ GCP ਪ੍ਰੋਜੈਕਟ ਦਾ ਨਾਮ ਜਿੱਥੇ ਤੁਹਾਡਾ KMS ਮੌਜੂਦ ਹੈ

  • kms_key_ring_name: string - ਤੁਹਾਡੇ ਵੱਲੋਂ ਪ੍ਰਬੰਧਿਤ master key ਵਾਲਾ Key Management System key ring

  • kms_key_name: string - Key Management System master key ਦਾ ਨਾਮ

  • kms_key_location: string - ਉਹ region ਜਿੱਥੇ ਤੁਹਾਡੀ Key Management System master key ਸਥਿਤ ਹੈ

ਜੇ ਤੁਹਾਡਾ KMS ਉਸ GCP ਪ੍ਰੋਜੈਕਟ ਤੋਂ ਵੱਖਰੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹੈ ਜਿੱਥੇ ਤੁਸੀਂ OpenAI ਦੀ Workload Identity ਰਜਿਸਟਰ ਕੀਤੀ ਹੈ, ਤਾਂ ਯਕੀਨੀ ਬਣਾਓ ਕਿ OpenAI ਦੀ Workload Identity ਵਾਲੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਘੱਟੋ-ਘੱਟ KMS enabled ਹੋਵੇ; ਇਸ ਲਈ https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview 'ਤੇ ਜਾਓ.

curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys" \
-d '{
   "type": "gcp",
   "name": "GCP EKM Config",
   "workload_identity_project_number": "123456789012",
   "workload_identity_pool_id": "openai-azure",
   "workload_identity_provider_id": "openai-ekm-service-role",
   "audience": <your org id or project id>,
   "kms_project_id": "adjective-noun-12345",
   "kms_key_name": "openai-kms-key",
   "kms_key_ring_name": "openai-kms-key-ring",
   "kms_key_location": "us-east1"
}'

ਨਮੂਨਾ ਜਵਾਬ

{
  "id": "extkey_xxxxxx",
  "object": "organization.external_key",
  "created_at": 1746174349,
  "api_project_ids": [],
  "type": "gcp",
  "name": "GCP EKM Config",
  "workload_identity_project_number": "123456789012",
  "kms_key_ring_name": "openai-kms-key-ring",
  "kms_key_name": "openai-kms-key",
  "kms_key_location": "us-east1",
  "audience": <your org id or project id>,
  "kms_project_id": "adjective-noun-12345",
  "workload_identity_pool_id": "openai-azure",
  "workload_identity_provider_id": "openai-ekm-service-role"
}

Azure

ਨਮੂਨਾ ਬੇਨਤੀ

  • type: string - ਹਮੇਸ਼ਾਂ  "azure",

  • name: string - ਤੁਹਾਡੀ config ਲਈ ਆਸਾਨੀ ਨਾਲ ਪਛਾਣਯੋਗ ਨਾਮ

  • tenant_id: string - ਤੁਹਾਡਾ Azure tenant UUID

  • vault_uri: string - ਤੁਹਾਡੇ ਵੱਲੋਂ ਪ੍ਰਬੰਧਿਤ master key ਵਾਲੇ Azure vault ਦਾ URI

  • key_name: string - ਤੁਹਾਡੇ ਵੱਲੋਂ ਪ੍ਰਬੰਧਿਤ Azure Key Vault master key ਦਾ ਨਾਮ.

    • ਇਸ ਦਾ ਰੂਪ <org-xxx>--<any_name> ਹੋਣਾ ਲਾਜ਼ਮੀ ਹੈ.

    • ਜਿੱਥੇ org-xxx ਤੁਹਾਡੀ OpenAI ਸੰਗਠਨ ID ਹੈ, ਜੋ ਤੁਹਾਨੂੰ https://platform.openai.com/settings/organization/general 'ਤੇ ਮਿਲ ਸਕਦੀ ਹੈ.

curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys" \
-d '{
  "type": "azure",
  "name": "Azure EKM Config",
  "tenant_id": "<UUID>",
  "vault_uri": "https://<VAULT_NAME>.vault.azure.net/",
  "key_name": "org-xxx--some-key"
}'

ਨਮੂਨਾ ਜਵਾਬ

{
  "id": "extkey_xxxx",
  "object": "organization.external_key",
  "created_at": 1746174377,
  "api_project_ids": [],
  "type": "azure",
  "name": "Azure EKM Config",
  "tenant_id": "<UUID>",
  "vault_uri": "https://<VAULT_NAME>.vault.azure.net/",
  "key_name": "org-xxx--some-key"
}

ਤੁਹਾਡੇ ਸੰਗਠਨ 'ਤੇ ਰਜਿਸਟਰ ਕੀਤੀ ਬਾਹਰੀ key ਮਿਟਾਓ

ਨੋਟ: ਤੁਸੀਂ ਬਾਹਰੀ key ਨੂੰ ਸਿਰਫ਼ ਤਦੋਂ ਮਿਟਾ ਸਕਦੇ ਹੋ ਜੇ ਇਹ ਕਿਸੇ ਸਰਗਰਮ API ਪ੍ਰੋਜੈਕਟ ਜਾਂ ਵਰਕਸਪੇਸ ਨਾਲ ਸੰਬੰਧਿਤ ਨਾ ਹੋਵੇ. ਜੇ ਇਹ ਕਿਸੇ ਸਰਗਰਮ API ਪ੍ਰੋਜੈਕਟ ਨਾਲ ਸੰਬੰਧਿਤ ਹੈ, ਤਾਂ ਪਹਿਲਾਂ ਉਸ ਪ੍ਰੋਜੈਕਟ ਨੂੰ archive ਕਰੋ. ਜੇ ਇਹ ਕਿਸੇ ਵਰਕਸਪੇਸ ਨਾਲ ਸੰਬੰਧਿਤ ਹੈ, ਤਾਂ key ਮਿਟਾਈ ਨਹੀਂ ਜਾ ਸਕਦੀ.

ਨਮੂਨਾ ਬੇਨਤੀ

curl -X DELETE \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys/extkey_xxxx"

ਨਮੂਨਾ ਜਵਾਬ

{
  "id": "extkey_xxxxx",
  "object": "organization.external_key.deleted",
  "created_at": 1746127808,
  "api_project_ids": [],
  "type": "aws",
  "account_number": "123456789012",
  "kms_arn": "arn:aws:kms:<REGION>:<ACCOUNT_NUMBER>:key/<UUID>",
  "name": "AWS EKM Config",
  "role_arn": "arn:aws:iam::<ACCOUNT_NUMBER>:role/<ROLE>"
}

ਤੁਹਾਡੇ ਸੰਗਠਨ 'ਤੇ ਰਜਿਸਟਰ ਕੀਤੀਆਂ ਬਾਹਰੀ keys ਪ੍ਰਾਪਤ ਕਰੋ

ਨਮੂਨਾ ਬੇਨਤੀ

curl -X GET \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys"

ਨਮੂਨਾ ਜਵਾਬ

{
  "object": "list",
  "data": [
    {
      "id": "extkey_xxxx",
      "object": "organization.external_key",
      "created_at": 1746127808,
      "api_project_ids": [],
      "type": "aws",
      "name": "AWS EKM Config",
      "account_number": "123456789012",
      "kms_arn": "arn:aws:kms:<REGION>:<ACCOUNT_NUMBER>:key/<UUID>",
   role_arn": "arn:aws:iam::<ACCOUNT_NUMBER>:role/<ROLE>"
    }
  ],
  "first_id": "extkey_xxxx",
  "has_more": false,
  "last_id": "extkey_xxxx"
}

ਬਾਹਰੀ key ਪ੍ਰਮਾਣਿਤ ਕਰੋ

ਤੁਸੀਂ ਇਹ endpoint ਕਈ ਚੀਜ਼ਾਂ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਵਰਤ ਸਕਦੇ ਹੋ.

  • ਤੁਹਾਡੇ ਵੱਲੋਂ ਤਬਦੀਲੀਆਂ ਕਰਨ ਤੋਂ ਬਾਅਦ ਵੀ ਤੁਹਾਡੀ ਬਾਹਰੀ cloud configuration OpenAI ਨਾਲ valid ਰਹਿੰਦੀ ਹੈ (ਤੁਹਾਨੂੰ success response ਦਿਖੇਗਾ).

  • ਤੁਹਾਡੀ key revocation ਸਹੀ ਢੰਗ ਨਾਲ ਹੋ ਚੁੱਕੀ ਹੈ, OpenAI ਦੁਆਰਾ process ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ, ਅਤੇ 1 ਘੰਟੇ ਦੀ cache TTLs ਮਿਆਦ ਖਤਮ ਹੋਣ ਤੋਂ ਬਾਅਦ ਪ੍ਰਭਾਵੀ ਹੋਵੇਗੀ (ਤੁਹਾਨੂੰ error response ਦਿਖੇਗਾ).

ਨਮੂਨਾ ਬੇਨਤੀ

curl -X POST -H "Authorization: Bearer $TOKEN"
"https://api.openai.com/v1/organization/external_keys/extkey_xxx/validate"

ਨਮੂਨਾ ਜਵਾਬ

{
 "status": "success"
}

ਜਾਂ, cloud provider ਵੱਲੋਂ ਕੋਈ ਗਲਤੀ ਸਾਹਮਣੇ ਆਈ.

ਪ੍ਰੋਜੈਕਟ-ਪੱਧਰ ਦੇ endpoints

ਬਾਹਰੀ key ID ਨਾਲ ਨਵਾਂ ਪ੍ਰੋਜੈਕਟ ਬਣਾਓ

ਇਹ ਮੌਜੂਦਾ Create Project endpoint ਵਰਗਾ ਹੀ ਹੈ, ਪਰ request ਅਤੇ response ਵਿੱਚ external_key_id parameter ਸ਼ਾਮਲ ਹੈ.

ਨਮੂਨਾ ਬੇਨਤੀ

curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects" \
-d '{
   "name": "Some Project",
"external_key_id": "extkey_xxxx"
}'

ਨਮੂਨਾ ਜਵਾਬ

{
  "object": "project",
  "id": "proj_xxxxx",
  "title": "Some Project",
"external_key_id": "extkey_xxxxx",
"created": 1740012721,
  "organization_id": "org-xxxxx",
  "is_initial": false,
  "geography": null,
  "scale_tier_enabled": false,
  "disable_user_api_keys": false,
  "zdr_type": null,
}

[Restricted] ਮੌਜੂਦਾ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਬਾਹਰੀ key ID ਨਾਲ update ਕਰੋ

ਇਹ ਮੌਜੂਦਾ Update Project endpoint ਵਰਗਾ ਹੀ ਹੈ, ਪਰ request ਅਤੇ response ਵਿੱਚ external_key_id parameter ਸ਼ਾਮਲ ਹੈ.


ਅਸੀਂ ਤੁਹਾਡੇ EKM workloads ਲਈ ਨਵੇਂ API ਪ੍ਰੋਜੈਕਟ ਬਣਾਉਣ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕਰਦੇ ਹਾਂ. ਜੇ ਤੁਸੀਂ ਆਪਣੇ ਸਾਰੇ ਮੌਜੂਦਾ API ਪ੍ਰੋਜੈਕਟਾਂ 'ਤੇ EKM ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਆਪਣੇ account director ਨੂੰ ਕਹੋ ਅਤੇ ਅਸੀਂ ਤੁਹਾਨੂੰ feature flag ਵਿੱਚ ਸ਼ਾਮਲ ਕਰਾਂਗੇ. ਆਪਣੇ ਮੌਜੂਦਾ production ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ EKM rollout ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਕਿਰਪਾ ਕਰਕੇ ਹੇਠਾਂ ਦਿੱਤੀਆਂ best practices ਧਿਆਨ ਵਿੱਚ ਰੱਖੋ.

  • production ਵਿੱਚ ਵਰਤੀਆਂ ਜਾਣ ਵਾਲੀਆਂ ਸਾਰੀਆਂ API features ਨੂੰ ਪਹਿਲਾਂ ਆਪਣੇ test EKM API ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ test ਕਰੋ.

  • ਸਾਰੇ production API ਪ੍ਰੋਜੈਕਟਾਂ 'ਤੇ ਇਕੱਠੇ EKM ਲਾਗੂ ਕਰਨ ਦੀ ਬਜਾਏ ਇਸਨੂੰ ਪੜਾਅਵਾਰ rollout ਕਰੋ.

ਨਮੂਨਾ ਬੇਨਤੀ

curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects/proj_xxx" \
-d '{
   "external_key_id": "extkey_xxxx"
}'

ਤੁਹਾਡੇ ਸੰਗਠਨ ਦੇ ਸਾਰੇ ਪ੍ਰੋਜੈਕਟ ਸੂਚੀਬੱਧ ਕਰੋ

ਇਹ ਮੌਜੂਦਾ endpoint ਵਰਗਾ ਹੀ ਹੈ, ਪਰ API ਜਵਾਬ ਵਿੱਚ external_key_id ਸ਼ਾਮਲ ਹੈ.

ਨਮੂਨਾ ਬੇਨਤੀ

curl -X GET \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects"

ਨਮੂਨਾ ਜਵਾਬ

{
  "object": "list",
  "data": [
    {
      "object": "organization.project",
      "id": "proj_xxxx",
      "name": "Project Name",
      "external_key_id": "extkey_xxxx",
      "created_at": 1717798982,
      "archived_at": null,
      "status": "active"
    }
  ],
  "first_id": "proj_xxxx",
  "last_id": "proj_xxxx",
  "has_more": true
}

ਕੀ ਇਹ ਲੇਖ ਉਪਯੋਗੀ ਸੀ?