Accounts with Permissions API access can manage custom permission policies. These policies assign permissions for a principal, allowing the principal to perform a specific action on a designated resource within a particular scope (your account or a product environment).
Refer to the Permissions API guide for instructions on what to specify in the policy_statement
to control Cloudinary activities, and to the Cedar schema, which defines the possible values for principals, actions, and resources.
The API uses Basic Authentication over HTTPS. Your Provisioning Key and Provisioning Secret are used for the authentication. These credentials (as well as your ACCOUNT_ID) are located in the Cloudinary Console under Settings > Account > Provisioning API Access.
The Permissions API has dedicated SDKs for the following languages:
- JavaScript
- PHP
- Java
For more information, please visit https://support.cloudinary.com.
PHP 8.1 and later.
To install the bindings via Composer, add the following to composer.json
:
{
"require": {
"cloudinary/permissions": "*"
}
}
Then run composer install
Download the files and include autoload.php
:
<?php
require_once('/path/to/permissions/vendor/autoload.php');
The API uses Basic Authentication over HTTPS.
Your Cloudinary Account ID, Provisioning Key and Provisioning Secret are used for the authentication.
These ID's are located in the Cloudinary Console under Settings > Account > Provisioning API Access, or they can be obtained from the provisioning environment variable available on your Cloudinary Console Dashboard
(in the form: CLOUDINARY_ACCOUNT_URL=account://<PROVISIONING_KEY>:<PROVISIONING_SECRET>@<ACCOUNT_ID>
).
You can either pass configuration with each $apiInstance
initialization:
<?php
require_once(__DIR__ . '/vendor/autoload.php');
// Configure Cloudinary Account URL
$config = Cloudinary\Permissions\Configuration::getDefaultConfiguration()
->setCloudinaryAccountUrl('account://provisioning_key:provisioning_secret@account_id');
$apiInstance = new Cloudinary\Permissions\Api\CustomPoliciesApi(null, $config);
Or set the environment variable globally.
For example, to set a temporary environment variable:
-
On Mac or Linux:
export CLOUDINARY_ACCOUNT_URL=account://provisioning_key:provisioning_secret@account_id
-
On Windows:
set CLOUDINARY_ACCOUNT_URL=account://provisioning_key:provisioning_secret@account_id
And then you can simply initialize $apiInstance
as follows:
<?php
require_once(__DIR__ . '/vendor/autoload.php');
$apiInstance = new Cloudinary\Permissions\Api\CustomPoliciesApi();
Please follow the installation procedure and then run the following:
<?php
require_once(__DIR__ . '/vendor/autoload.php');
$apiInstance = new Cloudinary\Permissions\Api\CustomPoliciesApi();
$scopeType = "'scopeType_example'"; // string | Specifies the level for retrieving policies, either at the account level or within product environments.
$scopeId = "'scopeId_example'"; // string | The ID of a specific product environment where the policy is applied. This parameter is only relevant if `scope_type` is \"prodenv\". Find your product environment IDs in the [Product Environments](https://console.cloudinary.com/settings/product-environments) page of the Console Settings. - <product_environment_id>
$enabled = true; // bool | Filter policies by enabled status (true/false).
$cursor = "'cursor_example'"; // string | A pagination cursor for fetching subsequent results.
try {
$result = $apiInstance->getCustomPolicies($scopeType, $scopeId, $enabled, $cursor);
print_r($result);
} catch (Exception $e) {
echo 'Exception when calling CustomPoliciesApi->getCustomPolicies: ', $e->getMessage(), PHP_EOL;
}
All URIs are relative to https://api.cloudinary.com/v2/accounts/ACCOUNT_ID/permissions, except if the operation defines another base path.
Class | Method | HTTP request | Description |
---|---|---|---|
CustomPoliciesApi | createCustomPolicy | POST /policies/custom | Create custom policy |
CustomPoliciesApi | deleteCustomPolicy | DELETE /policies/custom/{policy_id} | Delete custom policy |
CustomPoliciesApi | getCustomPolicies | GET /policies/custom | Get custom policies |
CustomPoliciesApi | getCustomPolicy | GET /policies/custom/{policy_id} | Get custom policy |
CustomPoliciesApi | updateCustomPolicy | PUT /policies/custom/{policy_id} | Update custom policy |
- CreateCustomPolicy
- CustomPoliciesResponse
- CustomPolicy
- CustomPolicyResponse
- CustomPolicyResponseData
- Error
- ErrorResponse
- UpdateCustomPolicy
- Type: HTTP basic authentication
To run the tests, use:
composer install
vendor/bin/phpunit
This Cloudinary Account Permissions API PHP package is automatically generated.
- Package version:
1.0.0
- API version:
1.0.4
- Build package:
org.openapitools.codegen.languages.PhpNextgenClientCodegen