| <html><body> | |
| <style> | |
| body, h1, h2, h3, div, span, p, pre, a { | |
| margin: 0; | |
| padding: 0; | |
| border: 0; | |
| font-weight: inherit; | |
| font-style: inherit; | |
| font-size: 100%; | |
| font-family: inherit; | |
| vertical-align: baseline; | |
| } | |
| body { | |
| font-size: 13px; | |
| padding: 1em; | |
| } | |
| h1 { | |
| font-size: 26px; | |
| margin-bottom: 1em; | |
| } | |
| h2 { | |
| font-size: 24px; | |
| margin-bottom: 1em; | |
| } | |
| h3 { | |
| font-size: 20px; | |
| margin-bottom: 1em; | |
| margin-top: 1em; | |
| } | |
| pre, code { | |
| line-height: 1.5; | |
| font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; | |
| } | |
| pre { | |
| margin-top: 0.5em; | |
| } | |
| h1, h2, h3, p { | |
| font-family: Arial, sans serif; | |
| } | |
| h1, h2, h3 { | |
| border-bottom: solid #CCC 1px; | |
| } | |
| .toc_element { | |
| margin-top: 0.5em; | |
| } | |
| .firstline { | |
| margin-left: 2 em; | |
| } | |
| .method { | |
| margin-top: 1em; | |
| border: solid 1px #CCC; | |
| padding: 1em; | |
| background: #EEE; | |
| } | |
| .details { | |
| font-weight: bold; | |
| font-size: 14px; | |
| } | |
| </style> | |
| <h1><a href="iamcredentials_v1.html">IAM Service Account Credentials API</a> . <a href="iamcredentials_v1.projects.html">projects</a> . <a href="iamcredentials_v1.projects.serviceAccounts.html">serviceAccounts</a></h1> | |
| <h2>Instance Methods</h2> | |
| <p class="toc_element"> | |
| <code><a href="#generateAccessToken">generateAccessToken(name, body, x__xgafv=None)</a></code></p> | |
| <p class="firstline">Generates an OAuth 2.0 access token for a service account.</p> | |
| <p class="toc_element"> | |
| <code><a href="#generateIdToken">generateIdToken(name, body, x__xgafv=None)</a></code></p> | |
| <p class="firstline">Generates an OpenID Connect ID token for a service account.</p> | |
| <p class="toc_element"> | |
| <code><a href="#generateIdentityBindingAccessToken">generateIdentityBindingAccessToken(name, body, x__xgafv=None)</a></code></p> | |
| <p class="firstline"></p> | |
| <p class="toc_element"> | |
| <code><a href="#signBlob">signBlob(name, body, x__xgafv=None)</a></code></p> | |
| <p class="firstline">Signs a blob using a service account's system-managed private key.</p> | |
| <p class="toc_element"> | |
| <code><a href="#signJwt">signJwt(name, body, x__xgafv=None)</a></code></p> | |
| <p class="firstline">Signs a JWT using a service account's system-managed private key.</p> | |
| <h3>Method Details</h3> | |
| <div class="method"> | |
| <code class="details" id="generateAccessToken">generateAccessToken(name, body, x__xgafv=None)</code> | |
| <pre>Generates an OAuth 2.0 access token for a service account. | |
| Args: | |
| name: string, 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. (required) | |
| body: object, The request body. (required) | |
| The object takes the form of: | |
| { | |
| "lifetime": "A String", # The desired lifetime duration of the access token in seconds. | |
| # Must be set to a value less than or equal to 3600 (1 hour). If a value is | |
| # not specified, the token's lifetime will be set to a default value of one | |
| # hour. | |
| "delegates": [ # The sequence of service accounts in a delegation chain. Each service | |
| # account must be granted the `roles/iam.serviceAccountTokenCreator` role | |
| # on its next service account in the chain. The last service account in the | |
| # chain must be granted the `roles/iam.serviceAccountTokenCreator` role | |
| # on the service account that is specified in the `name` 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. | |
| "A String", | |
| ], | |
| "scope": [ # 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. | |
| "A String", | |
| ], | |
| } | |
| x__xgafv: string, V1 error format. | |
| Allowed values | |
| 1 - v1 error format | |
| 2 - v2 error format | |
| Returns: | |
| An object of the form: | |
| { | |
| "expireTime": "A String", # Token expiration time. | |
| # The expiration time is always set. | |
| "accessToken": "A String", # The OAuth 2.0 access token. | |
| }</pre> | |
| </div> | |
| <div class="method"> | |
| <code class="details" id="generateIdToken">generateIdToken(name, body, x__xgafv=None)</code> | |
| <pre>Generates an OpenID Connect ID token for a service account. | |
| Args: | |
| name: string, 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. (required) | |
| body: object, The request body. (required) | |
| The object takes the form of: | |
| { | |
| "includeEmail": True or False, # Include the service account email in the token. If set to `true`, the | |
| # token will contain `email` and `email_verified` claims. | |
| "audience": "A String", # The audience for the token, such as the API or account that this token | |
| # grants access to. | |
| "delegates": [ # The sequence of service accounts in a delegation chain. Each service | |
| # account must be granted the `roles/iam.serviceAccountTokenCreator` role | |
| # on its next service account in the chain. The last service account in the | |
| # chain must be granted the `roles/iam.serviceAccountTokenCreator` role | |
| # on the service account that is specified in the `name` 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. | |
| "A String", | |
| ], | |
| } | |
| x__xgafv: string, V1 error format. | |
| Allowed values | |
| 1 - v1 error format | |
| 2 - v2 error format | |
| Returns: | |
| An object of the form: | |
| { | |
| "token": "A String", # The OpenId Connect ID token. | |
| }</pre> | |
| </div> | |
| <div class="method"> | |
| <code class="details" id="generateIdentityBindingAccessToken">generateIdentityBindingAccessToken(name, body, x__xgafv=None)</code> | |
| <pre> | |
| Args: | |
| name: string, 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. (required) | |
| body: object, The request body. (required) | |
| The object takes the form of: | |
| { | |
| "scope": [ # 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. | |
| "A String", | |
| ], | |
| "jwt": "A String", # Required. Input token. | |
| # Must be in JWT format according to | |
| # RFC7523 (https://tools.ietf.org/html/rfc7523) | |
| # and must have 'kid' field in the header. | |
| # Supported signing algorithms: RS256 (RS512, ES256, ES512 coming soon). | |
| # Mandatory payload fields (along the lines of RFC 7523, section 3): | |
| # - iss: issuer of the token. Must provide a discovery document at | |
| # $iss/.well-known/openid-configuration . The document needs to be | |
| # formatted according to section 4.2 of the OpenID Connect Discovery | |
| # 1.0 specification. | |
| # - iat: Issue time in seconds since epoch. Must be in the past. | |
| # - exp: Expiration time in seconds since epoch. Must be less than 48 hours | |
| # after iat. We recommend to create tokens that last shorter than 6 | |
| # hours to improve security unless business reasons mandate longer | |
| # expiration times. Shorter token lifetimes are generally more secure | |
| # since tokens that have been exfiltrated by attackers can be used for | |
| # a shorter time. you can configure the maximum lifetime of the | |
| # incoming token in the configuration of the mapper. | |
| # The resulting Google token will expire within an hour or at "exp", | |
| # whichever is earlier. | |
| # - sub: JWT subject, identity asserted in the JWT. | |
| # - aud: Configured in the mapper policy. By default the service account | |
| # email. | |
| # | |
| # Claims from the incoming token can be transferred into the output token | |
| # accoding to the mapper configuration. The outgoing claim size is limited. | |
| # Outgoing claims size must be less than 4kB serialized as JSON without | |
| # whitespace. | |
| # | |
| # Example header: | |
| # { | |
| # "alg": "RS256", | |
| # "kid": "92a4265e14ab04d4d228a48d10d4ca31610936f8" | |
| # } | |
| # Example payload: | |
| # { | |
| # "iss": "https://accounts.google.com", | |
| # "iat": 1517963104, | |
| # "exp": 1517966704, | |
| # "aud": | |
| # "https://iamcredentials.googleapis.com/google.iam.credentials.v1.CloudGaia", | |
| # "sub": "113475438248934895348", | |
| # "my_claims": { | |
| # "additional_claim": "value" | |
| # } | |
| # } | |
| } | |
| x__xgafv: string, V1 error format. | |
| Allowed values | |
| 1 - v1 error format | |
| 2 - v2 error format | |
| Returns: | |
| An object of the form: | |
| { | |
| "expireTime": "A String", # Token expiration time. | |
| # The expiration time is always set. | |
| "accessToken": "A String", # The OAuth 2.0 access token. | |
| }</pre> | |
| </div> | |
| <div class="method"> | |
| <code class="details" id="signBlob">signBlob(name, body, x__xgafv=None)</code> | |
| <pre>Signs a blob using a service account's system-managed private key. | |
| Args: | |
| name: string, 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. (required) | |
| body: object, The request body. (required) | |
| The object takes the form of: | |
| { | |
| "payload": "A String", # The bytes to sign. | |
| "delegates": [ # The sequence of service accounts in a delegation chain. Each service | |
| # account must be granted the `roles/iam.serviceAccountTokenCreator` role | |
| # on its next service account in the chain. The last service account in the | |
| # chain must be granted the `roles/iam.serviceAccountTokenCreator` role | |
| # on the service account that is specified in the `name` 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. | |
| "A String", | |
| ], | |
| } | |
| x__xgafv: string, V1 error format. | |
| Allowed values | |
| 1 - v1 error format | |
| 2 - v2 error format | |
| Returns: | |
| An object of the form: | |
| { | |
| "signedBlob": "A String", # The signed blob. | |
| "keyId": "A String", # The ID of the key used to sign the blob. | |
| }</pre> | |
| </div> | |
| <div class="method"> | |
| <code class="details" id="signJwt">signJwt(name, body, x__xgafv=None)</code> | |
| <pre>Signs a JWT using a service account's system-managed private key. | |
| Args: | |
| name: string, 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. (required) | |
| body: object, The request body. (required) | |
| The object takes the form of: | |
| { | |
| "payload": "A String", # The JWT payload to sign: a JSON object that contains a JWT Claims Set. | |
| "delegates": [ # The sequence of service accounts in a delegation chain. Each service | |
| # account must be granted the `roles/iam.serviceAccountTokenCreator` role | |
| # on its next service account in the chain. The last service account in the | |
| # chain must be granted the `roles/iam.serviceAccountTokenCreator` role | |
| # on the service account that is specified in the `name` 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. | |
| "A String", | |
| ], | |
| } | |
| x__xgafv: string, V1 error format. | |
| Allowed values | |
| 1 - v1 error format | |
| 2 - v2 error format | |
| Returns: | |
| An object of the form: | |
| { | |
| "keyId": "A String", # The ID of the key used to sign the JWT. | |
| "signedJwt": "A String", # The signed JWT. | |
| }</pre> | |
| </div> | |
| </body></html> |