@datafire/google_iamcredentials
v3.0.0
Published
DataFire integration for IAM Service Account Credentials API
Downloads
3
Readme
@datafire/google_iamcredentials
Client library for IAM Service Account Credentials API
Installation and Usage
npm install --save @datafire/google_iamcredentials
let google_iamcredentials = require('@datafire/google_iamcredentials').create({
access_token: "",
refresh_token: "",
client_id: "",
client_secret: "",
redirect_uri: ""
});
.then(data => {
console.log(data);
});
Description
Creates short-lived credentials for impersonating IAM service accounts. To enable this API, you must enable the IAM API (iam.googleapis.com).
Actions
oauthCallback
Exchange the code passed to your redirect URI for an access_token
google_iamcredentials.oauthCallback({
"code": ""
}, context)
Input
- input
object
- code required
string
- code required
Output
- output
object
- access_token
string
- refresh_token
string
- token_type
string
- scope
string
- expiration
string
- access_token
oauthRefresh
Exchange a refresh_token for an access_token
google_iamcredentials.oauthRefresh(null, context)
Input
This action has no parameters
Output
- output
object
- access_token
string
- refresh_token
string
- token_type
string
- scope
string
- expiration
string
- access_token
iamcredentials.projects.serviceAccounts.generateAccessToken
Generates an OAuth 2.0 access token for a service account.
google_iamcredentials.iamcredentials.projects.serviceAccounts.generateAccessToken({
"name": ""
}, context)
Input
- input
object
- name required
string
: Required. The resource name of the service account for which the credentials are requested, in the following format:projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}
. The-
wildcard character is required; replacing it with a project ID is invalid. - body GenerateAccessTokenRequest
- $.xgafv
string
(values: 1, 2): V1 error format. - access_token
string
: OAuth access token. - alt
string
(values: json, media, proto): Data format for response. - callback
string
: JSONP - fields
string
: Selector specifying which fields to include in a partial response. - key
string
: API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - oauth_token
string
: OAuth 2.0 token for the current user. - prettyPrint
boolean
: Returns response with indentations and line breaks. - quotaUser
string
: Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - upload_protocol
string
: Upload protocol for media (e.g. "raw", "multipart"). - uploadType
string
: Legacy upload protocol for media (e.g. "media", "multipart").
- name required
Output
- output GenerateAccessTokenResponse
iamcredentials.projects.serviceAccounts.generateIdToken
Generates an OpenID Connect ID token for a service account.
google_iamcredentials.iamcredentials.projects.serviceAccounts.generateIdToken({
"name": ""
}, context)
Input
- input
object
- name required
string
: Required. The resource name of the service account for which the credentials are requested, in the following format:projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}
. The-
wildcard character is required; replacing it with a project ID is invalid. - body GenerateIdTokenRequest
- $.xgafv
string
(values: 1, 2): V1 error format. - access_token
string
: OAuth access token. - alt
string
(values: json, media, proto): Data format for response. - callback
string
: JSONP - fields
string
: Selector specifying which fields to include in a partial response. - key
string
: API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - oauth_token
string
: OAuth 2.0 token for the current user. - prettyPrint
boolean
: Returns response with indentations and line breaks. - quotaUser
string
: Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - upload_protocol
string
: Upload protocol for media (e.g. "raw", "multipart"). - uploadType
string
: Legacy upload protocol for media (e.g. "media", "multipart").
- name required
Output
- output GenerateIdTokenResponse
iamcredentials.projects.serviceAccounts.signBlob
Signs a blob using a service account's system-managed private key.
google_iamcredentials.iamcredentials.projects.serviceAccounts.signBlob({
"name": ""
}, context)
Input
- input
object
- name required
string
: Required. The resource name of the service account for which the credentials are requested, in the following format:projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}
. The-
wildcard character is required; replacing it with a project ID is invalid. - body SignBlobRequest
- $.xgafv
string
(values: 1, 2): V1 error format. - access_token
string
: OAuth access token. - alt
string
(values: json, media, proto): Data format for response. - callback
string
: JSONP - fields
string
: Selector specifying which fields to include in a partial response. - key
string
: API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - oauth_token
string
: OAuth 2.0 token for the current user. - prettyPrint
boolean
: Returns response with indentations and line breaks. - quotaUser
string
: Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - upload_protocol
string
: Upload protocol for media (e.g. "raw", "multipart"). - uploadType
string
: Legacy upload protocol for media (e.g. "media", "multipart").
- name required
Output
- output SignBlobResponse
iamcredentials.projects.serviceAccounts.signJwt
Signs a JWT using a service account's system-managed private key.
google_iamcredentials.iamcredentials.projects.serviceAccounts.signJwt({
"name": ""
}, context)
Input
- input
object
- name required
string
: Required. The resource name of the service account for which the credentials are requested, in the following format:projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}
. The-
wildcard character is required; replacing it with a project ID is invalid. - body SignJwtRequest
- $.xgafv
string
(values: 1, 2): V1 error format. - access_token
string
: OAuth access token. - alt
string
(values: json, media, proto): Data format for response. - callback
string
: JSONP - fields
string
: Selector specifying which fields to include in a partial response. - key
string
: API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - oauth_token
string
: OAuth 2.0 token for the current user. - prettyPrint
boolean
: Returns response with indentations and line breaks. - quotaUser
string
: Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - upload_protocol
string
: Upload protocol for media (e.g. "raw", "multipart"). - uploadType
string
: Legacy upload protocol for media (e.g. "media", "multipart").
- name required
Output
- output SignJwtResponse
Definitions
GenerateAccessTokenRequest
- GenerateAccessTokenRequest
object
- delegates
array
: The sequence of service accounts in a delegation chain. Each service account must be granted theroles/iam.serviceAccountTokenCreator
role on its next service account in the chain. The last service account in the chain must be granted theroles/iam.serviceAccountTokenCreator
role on the service account that is specified in thename
field of the request. The delegates must have the following format:projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}
. The-
wildcard character is required; replacing it with a project ID is invalid.- items
string
- items
- lifetime
string
: The desired lifetime duration of the access token in seconds. By default, the maximum allowed value is 1 hour. To set a lifetime of up to 12 hours, you can add the service account as an allowed value in an Organization Policy that enforces theconstraints/iam.allowServiceAccountCredentialLifetimeExtension
constraint. See detailed instructions at https://cloud.google.com/iam/help/credentials/lifetime If a value is not specified, the token's lifetime will be set to a default value of 1 hour. - scope
array
: Required. Code to identify the scopes to be included in the OAuth 2.0 access token. See https://developers.google.com/identity/protocols/googlescopes for more information. At least one value required.- items
string
- items
- delegates
GenerateAccessTokenResponse
- GenerateAccessTokenResponse
object
- accessToken
string
: The OAuth 2.0 access token. - expireTime
string
: Token expiration time. The expiration time is always set.
- accessToken
GenerateIdTokenRequest
- GenerateIdTokenRequest
object
- audience
string
: Required. The audience for the token, such as the API or account that this token grants access to. - delegates
array
: The sequence of service accounts in a delegation chain. Each service account must be granted theroles/iam.serviceAccountTokenCreator
role on its next service account in the chain. The last service account in the chain must be granted theroles/iam.serviceAccountTokenCreator
role on the service account that is specified in thename
field of the request. The delegates must have the following format:projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}
. The-
wildcard character is required; replacing it with a project ID is invalid.- items
string
- items
- includeEmail
boolean
: Include the service account email in the token. If set totrue
, the token will containemail
andemail_verified
claims.
- audience
GenerateIdTokenResponse
- GenerateIdTokenResponse
object
- token
string
: The OpenId Connect ID token.
- token
SignBlobRequest
- SignBlobRequest
object
- delegates
array
: The sequence of service accounts in a delegation chain. Each service account must be granted theroles/iam.serviceAccountTokenCreator
role on its next service account in the chain. The last service account in the chain must be granted theroles/iam.serviceAccountTokenCreator
role on the service account that is specified in thename
field of the request. The delegates must have the following format:projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}
. The-
wildcard character is required; replacing it with a project ID is invalid.- items
string
- items
- payload
string
: Required. The bytes to sign.
- delegates
SignBlobResponse
- SignBlobResponse
object
- keyId
string
: The ID of the key used to sign the blob. The key used for signing will remain valid for at least 12 hours after the blob is signed. To verify the signature, you can retrieve the public key in several formats from the following endpoints: - RSA public key wrapped in an X.509 v3 certificate:https://www.googleapis.com/service_accounts/v1/metadata/x509/{ACCOUNT_EMAIL}
- Raw key in JSON format:https://www.googleapis.com/service_accounts/v1/metadata/raw/{ACCOUNT_EMAIL}
- JSON Web Key (JWK):https://www.googleapis.com/service_accounts/v1/metadata/jwk/{ACCOUNT_EMAIL}
- signedBlob
string
: The signature for the blob. Does not include the original blob. After the key pair referenced by thekey_id
response field expires, Google no longer exposes the public key that can be used to verify the blob. As a result, the receiver can no longer verify the signature.
- keyId
SignJwtRequest
- SignJwtRequest
object
- delegates
array
: The sequence of service accounts in a delegation chain. Each service account must be granted theroles/iam.serviceAccountTokenCreator
role on its next service account in the chain. The last service account in the chain must be granted theroles/iam.serviceAccountTokenCreator
role on the service account that is specified in thename
field of the request. The delegates must have the following format:projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}
. The-
wildcard character is required; replacing it with a project ID is invalid.- items
string
- items
- payload
string
: Required. The JWT payload to sign. Must be a serialized JSON object that contains a JWT Claims Set. For example:{"sub": "[email protected]", "iat": 313435}
If the JWT Claims Set contains an expiration time (exp
) claim, it must be an integer timestamp that is not in the past and no more than 12 hours in the future.
- delegates
SignJwtResponse
- SignJwtResponse
object
- keyId
string
: The ID of the key used to sign the JWT. The key used for signing will remain valid for at least 12 hours after the JWT is signed. To verify the signature, you can retrieve the public key in several formats from the following endpoints: - RSA public key wrapped in an X.509 v3 certificate:https://www.googleapis.com/service_accounts/v1/metadata/x509/{ACCOUNT_EMAIL}
- Raw key in JSON format:https://www.googleapis.com/service_accounts/v1/metadata/raw/{ACCOUNT_EMAIL}
- JSON Web Key (JWK):https://www.googleapis.com/service_accounts/v1/metadata/jwk/{ACCOUNT_EMAIL}
- signedJwt
string
: The signed JWT. Contains the automatically generated header; the client-supplied payload; and the signature, which is generated using the key referenced by thekid
field in the header. After the key pair referenced by thekey_id
response field expires, Google no longer exposes the public key that can be used to verify the JWT. As a result, the receiver can no longer verify the signature.
- keyId