Class IAM (2.13.0)

[IAM (Identity and Access Management)](https://cloud.google.com/pubsub/access_control) allows you to set permissions on invidual resources and offers a wider range of roles: editor, owner, publisher, subscriber, and viewer. This gives you greater flexibility and allows you to set more fine-grained access control.

For example: * Grant access on a per-topic or per-subscription basis, rather than for the whole Cloud project. * Grant access with limited capabilities, such as to only publish messages to a topic, or to only to consume messages from a subscription, but not to delete the topic or subscription.

*The IAM access control features described in this document are Beta, including the API methods to get and set IAM policies, and to test IAM permissions. Cloud Pub/Sub's use of IAM features is not covered by any SLA or deprecation policy, and may be subject to backward-incompatible changes.*

Package

@google-cloud/pubsub!

Constructors

(constructor)(pubsub, id)

constructor(pubsub: PubSub, id: string);

Constructs a new instance of the IAM class

Parameters
NameDescription
pubsub PubSub
id string

Properties

id

id: string;
Property Value
TypeDescription
string

pubsub

pubsub: PubSub;
Property Value
TypeDescription
PubSub

request

request: typeof PubSub.prototype.request;
Property Value
TypeDescription
typeof PubSub#request

Methods

getPolicy(gaxOpts)

getPolicy(gaxOpts?: CallOptions): Promise<GetPolicyResponse>;
Parameter
NameDescription
gaxOpts CallOptions
Returns
TypeDescription
Promise<GetPolicyResponse>

getPolicy(callback)

getPolicy(callback: GetPolicyCallback): void;
Parameter
NameDescription
callback GetPolicyCallback
Returns
TypeDescription
void

getPolicy(gaxOpts, callback)

getPolicy(gaxOpts: CallOptions, callback: GetPolicyCallback): void;
Parameters
NameDescription
gaxOpts CallOptions
callback GetPolicyCallback
Returns
TypeDescription
void

setPolicy(policy, gaxOpts)

setPolicy(policy: Policy, gaxOpts?: CallOptions): Promise<SetPolicyResponse>;
Parameters
NameDescription
policy Policy
gaxOpts CallOptions
Returns
TypeDescription
Promise<SetPolicyResponse>

setPolicy(policy, gaxOpts, callback)

setPolicy(policy: Policy, gaxOpts: CallOptions, callback: SetPolicyCallback): void;
Parameters
NameDescription
policy Policy
gaxOpts CallOptions
callback SetPolicyCallback
Returns
TypeDescription
void

setPolicy(policy, callback)

setPolicy(policy: Policy, callback: SetPolicyCallback): void;
Parameters
NameDescription
policy Policy
callback SetPolicyCallback
Returns
TypeDescription
void

testPermissions(permissions, gaxOpts)

testPermissions(permissions: string | string[], gaxOpts?: CallOptions): Promise<TestIamPermissionsResponse>;
Parameters
NameDescription
permissions string | string[]
gaxOpts CallOptions
Returns
TypeDescription
Promise<TestIamPermissionsResponse>

testPermissions(permissions, gaxOpts, callback)

testPermissions(permissions: string | string[], gaxOpts: CallOptions, callback: TestIamPermissionsCallback): void;
Parameters
NameDescription
permissions string | string[]
gaxOpts CallOptions
callback TestIamPermissionsCallback
Returns
TypeDescription
void

testPermissions(permissions, callback)

testPermissions(permissions: string | string[], callback: TestIamPermissionsCallback): void;
Parameters
NameDescription
permissions string | string[]
callback TestIamPermissionsCallback
Returns
TypeDescription
void