ByCloud Docs
GuidesCLIAPISDK

PHP SDK

IAM

Users, service accounts, groups, roles, policies, and authorization

52 methods

POST

assumeRole()

Assume role

Parameters

role_id

string

required
duration_seconds

integer

- Credential validity duration (15 min to 12 hours)

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->assumeRole([
'role_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
GET

listGroups()

List groups

Parameters

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

name

string

- Filter by name (exact match or prefix with *)

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->listGroups();
print_r($result);
POST

createGroup()

Create group

Parameters

name

string

required
description

string

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->createGroup([
'name' => 'developers'
]);
print_r($result);
GET

getGroup()

Get group

Parameters

group_id

string

required

- Group ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->getGroup([
'group_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
PATCH

updateGroup()

Update group

Parameters

group_id

string

required

- Group ID

name

string

description

string

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->updateGroup([
'group_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
DELETE

deleteGroup()

Delete group

Parameters

group_id

string

required

- Group ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->deleteGroup([
'group_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
GET

listGroupPolicies()

List group policies

Parameters

group_id

string

required

- Group ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->listGroupPolicies([
'group_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
POST

attachGroupPolicy()

Attach policy to group

Parameters

group_id

string

required

- Group ID

policy_id

string

required

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->attachGroupPolicy([
'group_id' => '550e8400-e29b-41d4-a716-446655440000',
'policy_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
DELETE

detachGroupPolicy()

Detach policy from group

Parameters

group_id

string

required

- Group ID

policy_id

string

required

- Policy ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->detachGroupPolicy([
'group_id' => '550e8400-e29b-41d4-a716-446655440000',
'policy_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
GET

listGroupServiceAccounts()

List group service accounts

Parameters

group_id

string

required

- Group ID

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->listGroupServiceAccounts([
'group_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
GET

listGroupUsers()

List group users

Parameters

group_id

string

required

- Group ID

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->listGroupUsers([
'group_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
GET

listPolicies()

List policies

Parameters

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

name

string

- Filter by name (exact match or prefix with *)

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->listPolicies();
print_r($result);
POST

createPolicy()

Create policy

Parameters

name

string

required
description

string

document

object

required

- IAM-style policy document

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->createPolicy([
'name' => 'S3BucketAccess',
'document' => [
'version' => '2024-01-01',
'statements' => [
[
'sid' => 'AllowS3Read',
'effect' => 'allow',
'actions' => [
's3:GetObject',
's3:ListBucket'
]
]
]
]
]);
print_r($result);
GET

getPolicy()

Get policy

Parameters

policy_id

string

required

- Policy ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->getPolicy([
'policy_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
PATCH

updatePolicy()

Update policy

Parameters

policy_id

string

required

- Policy ID

name

string

description

string

document

object

- IAM-style policy document

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->updatePolicy([
'policy_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
DELETE

deletePolicy()

Delete policy

Parameters

policy_id

string

required

- Policy ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->deletePolicy([
'policy_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
GET

listPolicyGroups()

List groups with policy

Parameters

policy_id

string

required

- Policy ID

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->listPolicyGroups([
'policy_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
GET

listPolicyRoles()

List roles with policy

Parameters

policy_id

string

required

- Policy ID

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->listPolicyRoles([
'policy_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
GET

listPolicyServiceAccounts()

List service accounts with policy

Parameters

policy_id

string

required

- Policy ID

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->listPolicyServiceAccounts([
'policy_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
GET

listPolicyUsers()

List users with policy

Parameters

policy_id

string

required

- Policy ID

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->listPolicyUsers([
'policy_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
GET

listRoles()

List roles

Parameters

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

name

string

- Filter by name (exact match or prefix with *)

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->listRoles();
print_r($result);
POST

createRole()

Create role

Parameters

name

string

required
description

string

trust_policy

object

- Defines who/what can assume this role using CRN patterns

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->createRole([
'name' => 'S3ReadOnly'
]);
print_r($result);
GET

getRole()

Get role

Parameters

role_id

string

required

- Role ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->getRole([
'role_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
PATCH

updateRole()

Update role

Parameters

role_id

string

required

- Role ID

name

string

description

string

trust_policy

object

- Defines who/what can assume this role using CRN patterns

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->updateRole([
'role_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
DELETE

deleteRole()

Delete role

Parameters

role_id

string

required

- Role ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->deleteRole([
'role_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
GET

listRolePolicies()

List role policies

Parameters

role_id

string

required

- Role ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->listRolePolicies([
'role_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
POST

attachRolePolicy()

Attach policy to role

Parameters

role_id

string

required

- Role ID

policy_id

string

required

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->attachRolePolicy([
'role_id' => '550e8400-e29b-41d4-a716-446655440000',
'policy_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
DELETE

detachRolePolicy()

Detach policy from role

Parameters

role_id

string

required

- Role ID

policy_id

string

required

- Policy ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->detachRolePolicy([
'role_id' => '550e8400-e29b-41d4-a716-446655440000',
'policy_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
GET

listServiceAccounts()

List service accounts

Parameters

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

name

string

- Filter by name (exact match or prefix with *)

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->listServiceAccounts();
print_r($result);
POST

createServiceAccount()

Create service account

Parameters

name

string

required
display_name

string

description

string

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->createServiceAccount([
'name' => 'ci-cd-pipeline'
]);
print_r($result);
GET

getServiceAccount()

Get service account

Parameters

service_account_id

string

required

- Service Account ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->getServiceAccount([
'service_account_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
PATCH

updateServiceAccount()

Update service account

Parameters

service_account_id

string

required

- Service Account ID

display_name

string

description

string

enabled

boolean

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->updateServiceAccount([
'service_account_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
DELETE

deleteServiceAccount()

Delete service account

Parameters

service_account_id

string

required

- Service Account ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->deleteServiceAccount([
'service_account_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
GET

listServiceAccountCredentials()

List credentials

Parameters

service_account_id

string

required

- Service Account ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->listServiceAccountCredentials([
'service_account_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
POST

createServiceAccountCredential()

Create credential

Parameters

service_account_id

string

required

- Service Account ID

name

string

required
expires_at

string

- Optional expiration date

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->createServiceAccountCredential([
'service_account_id' => '550e8400-e29b-41d4-a716-446655440000',
'name' => 'production-key'
]);
print_r($result);
DELETE

deleteServiceAccountCredential()

Delete credential

Parameters

service_account_id

string

required

- Service Account ID

credential_id

string

required

- Credential ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->deleteServiceAccountCredential([
'service_account_id' => '550e8400-e29b-41d4-a716-446655440000',
'credential_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
GET

listServiceAccountGroups()

List service account groups

Parameters

service_account_id

string

required

- Service Account ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->listServiceAccountGroups([
'service_account_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
POST

addServiceAccountToGroup()

Add service account to group

Parameters

service_account_id

string

required

- Service Account ID

group_id

string

required

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->addServiceAccountToGroup([
'service_account_id' => '550e8400-e29b-41d4-a716-446655440000',
'group_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
DELETE

removeServiceAccountFromGroup()

Remove service account from group

Parameters

service_account_id

string

required

- Service Account ID

group_id

string

required

- Group ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->removeServiceAccountFromGroup([
'service_account_id' => '550e8400-e29b-41d4-a716-446655440000',
'group_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
GET

listServiceAccountPolicies()

List service account policies

Parameters

service_account_id

string

required

- Service Account ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->listServiceAccountPolicies([
'service_account_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
POST

attachServiceAccountPolicy()

Attach policy to service account

Parameters

service_account_id

string

required

- Service Account ID

policy_id

string

required

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->attachServiceAccountPolicy([
'service_account_id' => '550e8400-e29b-41d4-a716-446655440000',
'policy_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
DELETE

detachServiceAccountPolicy()

Detach policy from service account

Parameters

service_account_id

string

required

- Service Account ID

policy_id

string

required

- Policy ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->detachServiceAccountPolicy([
'service_account_id' => '550e8400-e29b-41d4-a716-446655440000',
'policy_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
GET

listUsers()

List users

Parameters

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

name

string

- Filter by name (exact match or prefix with *)

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->listUsers();
print_r($result);
POST

addUser()

Add user to organization

Parameters

email

string

required

- Email of the platform user to add

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->addUser([
'email' => 'john.doe@acme.com'
]);
print_r($result);
GET

getUser()

Get user

Parameters

user_id

string

required

- User ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->getUser([
'user_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
DELETE

removeUser()

Remove user from organization

Parameters

user_id

string

required

- User ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->removeUser([
'user_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
GET

listUserGroups()

List user groups

Parameters

user_id

string

required

- User ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->listUserGroups([
'user_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
POST

addUserToGroup()

Add user to group

Parameters

user_id

string

required

- User ID

group_id

string

required

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->addUserToGroup([
'user_id' => '550e8400-e29b-41d4-a716-446655440000',
'group_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
DELETE

removeUserFromGroup()

Remove user from group

Parameters

user_id

string

required

- User ID

group_id

string

required

- Group ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->removeUserFromGroup([
'user_id' => '550e8400-e29b-41d4-a716-446655440000',
'group_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
GET

listUserPolicies()

List user policies

Parameters

user_id

string

required

- User ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->listUserPolicies([
'user_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
POST

attachUserPolicy()

Attach policy to user

Parameters

user_id

string

required

- User ID

policy_id

string

required

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->attachUserPolicy([
'user_id' => '550e8400-e29b-41d4-a716-446655440000',
'policy_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
DELETE

detachUserPolicy()

Detach policy from user

Parameters

user_id

string

required

- User ID

policy_id

string

required

- Policy ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->iam->detachUserPolicy([
'user_id' => '550e8400-e29b-41d4-a716-446655440000',
'policy_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);