Identity and Access Management (IAM) v1 API - Class ServiceAccount (2.3.0)

public sealed class ServiceAccount : IMessage<ServiceAccount>, IEquatable<ServiceAccount>, IDeepCloneable<ServiceAccount>, IBufferMessage, IMessage

Reference documentation and code samples for the Identity and Access Management (IAM) v1 API class ServiceAccount.

An IAM service account.

A service account is an account for an application or a virtual machine (VM) instance, not a person. You can use a service account to call Google APIs. To learn more, read the overview of service accounts.

When you create a service account, you specify the project ID that owns the service account, as well as a name that must be unique within the project. IAM uses these values to create an email address that identifies the service account.

Inheritance

object > ServiceAccount

Namespace

Google.Cloud.Iam.Admin.V1

Assembly

Google.Cloud.Iam.Admin.V1.dll

Constructors

ServiceAccount()

public ServiceAccount()

ServiceAccount(ServiceAccount)

public ServiceAccount(ServiceAccount other)
Parameter
Name Description
other ServiceAccount

Properties

Description

public string Description { get; set; }

Optional. A user-specified, human-readable description of the service account. The maximum length is 256 UTF-8 bytes.

Property Value
Type Description
string

Disabled

public bool Disabled { get; set; }

Output only. Whether the service account is disabled.

Property Value
Type Description
bool

DisplayName

public string DisplayName { get; set; }

Optional. A user-specified, human-readable name for the service account. The maximum length is 100 UTF-8 bytes.

Property Value
Type Description
string

Email

public string Email { get; set; }

Output only. The email address of the service account.

Property Value
Type Description
string

Etag

[Obsolete]
public ByteString Etag { get; set; }

Deprecated. Do not use.

Property Value
Type Description
ByteString

Name

public string Name { get; set; }

The resource name of the service account.

Use one of the following formats:

  • projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS}
  • projects/{PROJECT_ID}/serviceAccounts/{UNIQUE_ID}

As an alternative, you can use the - wildcard character instead of the project ID:

  • projects/-/serviceAccounts/{EMAIL_ADDRESS}
  • projects/-/serviceAccounts/{UNIQUE_ID}

When possible, avoid using the - wildcard character, because it can cause response messages to contain misleading error codes. For example, if you try to get the service account projects/-/serviceAccounts/fake@example.com, which does not exist, the response contains an HTTP 403 Forbidden error instead of a 404 Not Found error.

Property Value
Type Description
string

Oauth2ClientId

public string Oauth2ClientId { get; set; }

Output only. The OAuth 2.0 client ID for the service account.

Property Value
Type Description
string

ProjectId

public string ProjectId { get; set; }

Output only. The ID of the project that owns the service account.

Property Value
Type Description
string

ServiceAccountName

public ServiceAccountName ServiceAccountName { get; set; }

ServiceAccountName-typed view over the Name resource name property.

Property Value
Type Description
ServiceAccountName

UniqueId

public string UniqueId { get; set; }

Output only. The unique, stable numeric ID for the service account.

Each service account retains its unique ID even if you delete the service account. For example, if you delete a service account, then create a new service account with the same name, the new service account has a different unique ID than the deleted service account.

Property Value
Type Description
string