Validate S3 Permissions of a QDS Account

Note

A new version is available for this API. The current version will be deprecated soon. See Validate S3 Permissions of a QDS Account using API version 2.

GET /api/v1.2/accounts/validate_storage_permissions

Use this API to validate S3 Permissions of a QDS account in a Qubole environment. Ensure you use the correct environment URL where the QDS account is created. For more information on the S3 permissions that get validated, see Configuring your Access Settings using IAM Keys or Configuring your Access Settings using IAM Roles.

Request API Syntax

curl -X GET -H "X-AUTH-TOKEN:<AUTH-TOKEN>" -H "Content-Type: application/json" -H "Accept: application/json" \
"https://<Qubole Environment>/api/v1.2/accounts/validate_storage_permissions"

Here <Qubole Environment> is the Qubole environment in which you have the QDS account. For example, https://api.qubole.com is a Qubole environment.

Note

Qubole provides other endpoints to access QDS that are described in Supported Qubole Endpoints on Different Cloud Providers.

Sample API Request

Here is the sample request to check the storage permissions of an account in the https://api.qubole.com environment.

curl -X GET -H "X-AUTH-TOKEN:<AUTH-TOKEN>" -H "Content-Type: application/json" -H "Accept: application/json" \
"https://api.qubole.com/api/v1.2/accounts/validate_storage_permissions"

Understanding Different Permission Validation Status

Status Description
Error It implies that the permission is missing and it is mandatory. The functionality does not work as explained in the Description field.
Warning It implies that the permission is missing and it is optional. You can perform some workaround steps as explained in the Description field.

Sample Response of a Successful Validation

{
  status: "Success",
  messsage: "",
  permission_list: {
       s3:GetBucketLocation: {
          status: "Success",
          message: "",
          description: "Some s3 client libraries has dependency on this permission for other required s3 operations as mentioned above.",
          UIOrder: 1
       },
       s3:PutObject: {
          status: "Success",
          message: "",
          description: "To store the data in s3 obtained after computation and / or storing logs",
          UIOrder: 2
       },
       s3:GetObject: {
          status: "Success",
          message: "",
          description: "To read s3 data for computation purposes",
          UIOrder: 3
       },
       s3:PutObjectAcl: {
          status: "Success",
          message: "",
          description: "Writing Object Acl",
          UIOrder: 4
          },
       s3:GetObjectAcl: {
          status: "Success",
          message: "",
          description: "Reading Object Acl",
          UIOrder: 5
       },
       s3:GetBucketAcl: {
          status: "Success",
          message: "",
          description: "Reading Bucket Acl",
          UIOrder: 6
       },
       s3:ListBucket: {
          status: "Success",
          message: "",
          description: "To browse the s3 bucket in Qubole UI",
          UIOrder: 7
          },
       s3:DeleteObject: {
          status: "Success",
          message: "",
          description: "To remove the s3 objects while doing computation",
          UIOrder: 8
       }
  }
}