AuthBackendLogin

Logs into a Vault server using an AWS auth backend. Login can be accomplished using a signed identity request from IAM or using ec2 instance metadata. For more information, see the Vault documentation.

Example Usage

Coming soon!

Coming soon!

Coming soon!

import * as pulumi from "@pulumi/pulumi";
import * as vault from "@pulumi/vault";

const aws = new vault.AuthBackend("aws", {
    type: "aws",
    path: "aws",
});
const exampleAuthBackendClient = new vault.aws.AuthBackendClient("exampleAuthBackendClient", {
    backend: aws.path,
    accessKey: "123456789012",
    secretKey: "AWSSECRETKEYGOESHERE",
});
const exampleAuthBackendRole = new vault.aws.AuthBackendRole("exampleAuthBackendRole", {
    backend: aws.path,
    role: "test-role",
    authType: "ec2",
    boundAmiId: "ami-8c1be5f6",
    boundAccountId: "123456789012",
    boundVpcId: "vpc-b61106d4",
    boundSubnetId: "vpc-133128f1",
    boundIamInstanceProfileArn: "arn:aws:iam::123456789012:instance-profile/MyProfile",
    ttl: 60,
    maxTtl: 120,
    tokenPolicies: [
        "default",
        "dev",
        "prod",
    ],
}, {
    dependsOn: ["vault_aws_auth_backend_client.example"],
});
const exampleAuthBackendLogin = new vault.aws.AuthBackendLogin("exampleAuthBackendLogin", {
    backend: vault_auth_backend.example.path,
    role: exampleAuthBackendRole.role,
    identity: "BASE64ENCODEDIDENTITYDOCUMENT",
    signature: "BASE64ENCODEDSHA256IDENTITYDOCUMENTSIGNATURE",
});

Create a AuthBackendLogin Resource

new AuthBackendLogin(name: string, args?: AuthBackendLoginArgs, opts?: CustomResourceOptions);
@overload
def AuthBackendLogin(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     backend: Optional[str] = None,
                     iam_http_request_method: Optional[str] = None,
                     iam_request_body: Optional[str] = None,
                     iam_request_headers: Optional[str] = None,
                     iam_request_url: Optional[str] = None,
                     identity: Optional[str] = None,
                     nonce: Optional[str] = None,
                     pkcs7: Optional[str] = None,
                     role: Optional[str] = None,
                     signature: Optional[str] = None)
@overload
def AuthBackendLogin(resource_name: str,
                     args: Optional[AuthBackendLoginArgs] = None,
                     opts: Optional[ResourceOptions] = None)
func NewAuthBackendLogin(ctx *Context, name string, args *AuthBackendLoginArgs, opts ...ResourceOption) (*AuthBackendLogin, error)
public AuthBackendLogin(string name, AuthBackendLoginArgs? args = null, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args AuthBackendLoginArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args AuthBackendLoginArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args AuthBackendLoginArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args AuthBackendLoginArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

AuthBackendLogin Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The AuthBackendLogin resource accepts the following input properties:

Backend string
The unique name of the AWS auth backend. Defaults to ‘aws’.
IamHttpRequestMethod string
The HTTP method used in the signed IAM request.
IamRequestBody string
The base64-encoded body of the signed request.
IamRequestHeaders string
The base64-encoded, JSON serialized representation of the GetCallerIdentity HTTP request headers.
IamRequestUrl string
The base64-encoded HTTP URL used in the signed request.
Identity string
The base64-encoded EC2 instance identity document to authenticate with. Can be retrieved from the EC2 metadata server.
Nonce string
The unique nonce to be used for login requests. Can be set to a user-specified value, or will contain the server-generated value once a token is issued. EC2 instances can only acquire a single token until the whitelist is tidied again unless they keep track of this nonce.
Pkcs7 string
The PKCS#7 signature of the identity document to authenticate with, with all newline characters removed. Can be retrieved from the EC2 metadata server.
Role string
The name of the AWS auth backend role to create tokens against.
Signature string
The base64-encoded SHA256 RSA signature of the instance identity document to authenticate with, with all newline characters removed. Can be retrieved from the EC2 metadata server.
Backend string
The unique name of the AWS auth backend. Defaults to ‘aws’.
IamHttpRequestMethod string
The HTTP method used in the signed IAM request.
IamRequestBody string
The base64-encoded body of the signed request.
IamRequestHeaders string
The base64-encoded, JSON serialized representation of the GetCallerIdentity HTTP request headers.
IamRequestUrl string
The base64-encoded HTTP URL used in the signed request.
Identity string
The base64-encoded EC2 instance identity document to authenticate with. Can be retrieved from the EC2 metadata server.
Nonce string
The unique nonce to be used for login requests. Can be set to a user-specified value, or will contain the server-generated value once a token is issued. EC2 instances can only acquire a single token until the whitelist is tidied again unless they keep track of this nonce.
Pkcs7 string
The PKCS#7 signature of the identity document to authenticate with, with all newline characters removed. Can be retrieved from the EC2 metadata server.
Role string
The name of the AWS auth backend role to create tokens against.
Signature string
The base64-encoded SHA256 RSA signature of the instance identity document to authenticate with, with all newline characters removed. Can be retrieved from the EC2 metadata server.
backend string
The unique name of the AWS auth backend. Defaults to ‘aws’.
iamHttpRequestMethod string
The HTTP method used in the signed IAM request.
iamRequestBody string
The base64-encoded body of the signed request.
iamRequestHeaders string
The base64-encoded, JSON serialized representation of the GetCallerIdentity HTTP request headers.
iamRequestUrl string
The base64-encoded HTTP URL used in the signed request.
identity string
The base64-encoded EC2 instance identity document to authenticate with. Can be retrieved from the EC2 metadata server.
nonce string
The unique nonce to be used for login requests. Can be set to a user-specified value, or will contain the server-generated value once a token is issued. EC2 instances can only acquire a single token until the whitelist is tidied again unless they keep track of this nonce.
pkcs7 string
The PKCS#7 signature of the identity document to authenticate with, with all newline characters removed. Can be retrieved from the EC2 metadata server.
role string
The name of the AWS auth backend role to create tokens against.
signature string
The base64-encoded SHA256 RSA signature of the instance identity document to authenticate with, with all newline characters removed. Can be retrieved from the EC2 metadata server.
backend str
The unique name of the AWS auth backend. Defaults to ‘aws’.
iam_http_request_method str
The HTTP method used in the signed IAM request.
iam_request_body str
The base64-encoded body of the signed request.
iam_request_headers str
The base64-encoded, JSON serialized representation of the GetCallerIdentity HTTP request headers.
iam_request_url str
The base64-encoded HTTP URL used in the signed request.
identity str
The base64-encoded EC2 instance identity document to authenticate with. Can be retrieved from the EC2 metadata server.
nonce str
The unique nonce to be used for login requests. Can be set to a user-specified value, or will contain the server-generated value once a token is issued. EC2 instances can only acquire a single token until the whitelist is tidied again unless they keep track of this nonce.
pkcs7 str
The PKCS#7 signature of the identity document to authenticate with, with all newline characters removed. Can be retrieved from the EC2 metadata server.
role str
The name of the AWS auth backend role to create tokens against.
signature str
The base64-encoded SHA256 RSA signature of the instance identity document to authenticate with, with all newline characters removed. Can be retrieved from the EC2 metadata server.

Outputs

All input properties are implicitly available as output properties. Additionally, the AuthBackendLogin resource produces the following output properties:

Accessor string
The token’s accessor.
AuthType string
The authentication type used to generate this token.
ClientToken string
The token returned by Vault.
Id string
The provider-assigned unique ID for this managed resource.
LeaseDuration int
The duration in seconds the token will be valid, relative to the time in lease_start_time.
LeaseStartTime string
Time at which the lease was read, using the clock of the system where Terraform was running
Metadata Dictionary<string, object>
A map of information returned by the Vault server about the authentication used to generate this token.
Policies List<string>
The Vault policies assigned to this token.
Renewable bool
Set to true if the token can be extended through renewal.
Accessor string
The token’s accessor.
AuthType string
The authentication type used to generate this token.
ClientToken string
The token returned by Vault.
Id string
The provider-assigned unique ID for this managed resource.
LeaseDuration int
The duration in seconds the token will be valid, relative to the time in lease_start_time.
LeaseStartTime string
Time at which the lease was read, using the clock of the system where Terraform was running
Metadata map[string]interface{}
A map of information returned by the Vault server about the authentication used to generate this token.
Policies []string
The Vault policies assigned to this token.
Renewable bool
Set to true if the token can be extended through renewal.
accessor string
The token’s accessor.
authType string
The authentication type used to generate this token.
clientToken string
The token returned by Vault.
id string
The provider-assigned unique ID for this managed resource.
leaseDuration number
The duration in seconds the token will be valid, relative to the time in lease_start_time.
leaseStartTime string
Time at which the lease was read, using the clock of the system where Terraform was running
metadata {[key: string]: any}
A map of information returned by the Vault server about the authentication used to generate this token.
policies string[]
The Vault policies assigned to this token.
renewable boolean
Set to true if the token can be extended through renewal.
accessor str
The token’s accessor.
auth_type str
The authentication type used to generate this token.
client_token str
The token returned by Vault.
id str
The provider-assigned unique ID for this managed resource.
lease_duration int
The duration in seconds the token will be valid, relative to the time in lease_start_time.
lease_start_time str
Time at which the lease was read, using the clock of the system where Terraform was running
metadata Mapping[str, Any]
A map of information returned by the Vault server about the authentication used to generate this token.
policies Sequence[str]
The Vault policies assigned to this token.
renewable bool
Set to true if the token can be extended through renewal.

Look up an Existing AuthBackendLogin Resource

Get an existing AuthBackendLogin resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: AuthBackendLoginState, opts?: CustomResourceOptions): AuthBackendLogin
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        accessor: Optional[str] = None,
        auth_type: Optional[str] = None,
        backend: Optional[str] = None,
        client_token: Optional[str] = None,
        iam_http_request_method: Optional[str] = None,
        iam_request_body: Optional[str] = None,
        iam_request_headers: Optional[str] = None,
        iam_request_url: Optional[str] = None,
        identity: Optional[str] = None,
        lease_duration: Optional[int] = None,
        lease_start_time: Optional[str] = None,
        metadata: Optional[Mapping[str, Any]] = None,
        nonce: Optional[str] = None,
        pkcs7: Optional[str] = None,
        policies: Optional[Sequence[str]] = None,
        renewable: Optional[bool] = None,
        role: Optional[str] = None,
        signature: Optional[str] = None) -> AuthBackendLogin
func GetAuthBackendLogin(ctx *Context, name string, id IDInput, state *AuthBackendLoginState, opts ...ResourceOption) (*AuthBackendLogin, error)
public static AuthBackendLogin Get(string name, Input<string> id, AuthBackendLoginState? state, CustomResourceOptions? opts = null)
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.

The following state arguments are supported:

Accessor string
The token’s accessor.
AuthType string
The authentication type used to generate this token.
Backend string
The unique name of the AWS auth backend. Defaults to ‘aws’.
ClientToken string
The token returned by Vault.
IamHttpRequestMethod string
The HTTP method used in the signed IAM request.
IamRequestBody string
The base64-encoded body of the signed request.
IamRequestHeaders string
The base64-encoded, JSON serialized representation of the GetCallerIdentity HTTP request headers.
IamRequestUrl string
The base64-encoded HTTP URL used in the signed request.
Identity string
The base64-encoded EC2 instance identity document to authenticate with. Can be retrieved from the EC2 metadata server.
LeaseDuration int
The duration in seconds the token will be valid, relative to the time in lease_start_time.
LeaseStartTime string
Time at which the lease was read, using the clock of the system where Terraform was running
Metadata Dictionary<string, object>
A map of information returned by the Vault server about the authentication used to generate this token.
Nonce string
The unique nonce to be used for login requests. Can be set to a user-specified value, or will contain the server-generated value once a token is issued. EC2 instances can only acquire a single token until the whitelist is tidied again unless they keep track of this nonce.
Pkcs7 string
The PKCS#7 signature of the identity document to authenticate with, with all newline characters removed. Can be retrieved from the EC2 metadata server.
Policies List<string>
The Vault policies assigned to this token.
Renewable bool
Set to true if the token can be extended through renewal.
Role string
The name of the AWS auth backend role to create tokens against.
Signature string
The base64-encoded SHA256 RSA signature of the instance identity document to authenticate with, with all newline characters removed. Can be retrieved from the EC2 metadata server.
Accessor string
The token’s accessor.
AuthType string
The authentication type used to generate this token.
Backend string
The unique name of the AWS auth backend. Defaults to ‘aws’.
ClientToken string
The token returned by Vault.
IamHttpRequestMethod string
The HTTP method used in the signed IAM request.
IamRequestBody string
The base64-encoded body of the signed request.
IamRequestHeaders string
The base64-encoded, JSON serialized representation of the GetCallerIdentity HTTP request headers.
IamRequestUrl string
The base64-encoded HTTP URL used in the signed request.
Identity string
The base64-encoded EC2 instance identity document to authenticate with. Can be retrieved from the EC2 metadata server.
LeaseDuration int
The duration in seconds the token will be valid, relative to the time in lease_start_time.
LeaseStartTime string
Time at which the lease was read, using the clock of the system where Terraform was running
Metadata map[string]interface{}
A map of information returned by the Vault server about the authentication used to generate this token.
Nonce string
The unique nonce to be used for login requests. Can be set to a user-specified value, or will contain the server-generated value once a token is issued. EC2 instances can only acquire a single token until the whitelist is tidied again unless they keep track of this nonce.
Pkcs7 string
The PKCS#7 signature of the identity document to authenticate with, with all newline characters removed. Can be retrieved from the EC2 metadata server.
Policies []string
The Vault policies assigned to this token.
Renewable bool
Set to true if the token can be extended through renewal.
Role string
The name of the AWS auth backend role to create tokens against.
Signature string
The base64-encoded SHA256 RSA signature of the instance identity document to authenticate with, with all newline characters removed. Can be retrieved from the EC2 metadata server.
accessor string
The token’s accessor.
authType string
The authentication type used to generate this token.
backend string
The unique name of the AWS auth backend. Defaults to ‘aws’.
clientToken string
The token returned by Vault.
iamHttpRequestMethod string
The HTTP method used in the signed IAM request.
iamRequestBody string
The base64-encoded body of the signed request.
iamRequestHeaders string
The base64-encoded, JSON serialized representation of the GetCallerIdentity HTTP request headers.
iamRequestUrl string
The base64-encoded HTTP URL used in the signed request.
identity string
The base64-encoded EC2 instance identity document to authenticate with. Can be retrieved from the EC2 metadata server.
leaseDuration number
The duration in seconds the token will be valid, relative to the time in lease_start_time.
leaseStartTime string
Time at which the lease was read, using the clock of the system where Terraform was running
metadata {[key: string]: any}
A map of information returned by the Vault server about the authentication used to generate this token.
nonce string
The unique nonce to be used for login requests. Can be set to a user-specified value, or will contain the server-generated value once a token is issued. EC2 instances can only acquire a single token until the whitelist is tidied again unless they keep track of this nonce.
pkcs7 string
The PKCS#7 signature of the identity document to authenticate with, with all newline characters removed. Can be retrieved from the EC2 metadata server.
policies string[]
The Vault policies assigned to this token.
renewable boolean
Set to true if the token can be extended through renewal.
role string
The name of the AWS auth backend role to create tokens against.
signature string
The base64-encoded SHA256 RSA signature of the instance identity document to authenticate with, with all newline characters removed. Can be retrieved from the EC2 metadata server.
accessor str
The token’s accessor.
auth_type str
The authentication type used to generate this token.
backend str
The unique name of the AWS auth backend. Defaults to ‘aws’.
client_token str
The token returned by Vault.
iam_http_request_method str
The HTTP method used in the signed IAM request.
iam_request_body str
The base64-encoded body of the signed request.
iam_request_headers str
The base64-encoded, JSON serialized representation of the GetCallerIdentity HTTP request headers.
iam_request_url str
The base64-encoded HTTP URL used in the signed request.
identity str
The base64-encoded EC2 instance identity document to authenticate with. Can be retrieved from the EC2 metadata server.
lease_duration int
The duration in seconds the token will be valid, relative to the time in lease_start_time.
lease_start_time str
Time at which the lease was read, using the clock of the system where Terraform was running
metadata Mapping[str, Any]
A map of information returned by the Vault server about the authentication used to generate this token.
nonce str
The unique nonce to be used for login requests. Can be set to a user-specified value, or will contain the server-generated value once a token is issued. EC2 instances can only acquire a single token until the whitelist is tidied again unless they keep track of this nonce.
pkcs7 str
The PKCS#7 signature of the identity document to authenticate with, with all newline characters removed. Can be retrieved from the EC2 metadata server.
policies Sequence[str]
The Vault policies assigned to this token.
renewable bool
Set to true if the token can be extended through renewal.
role str
The name of the AWS auth backend role to create tokens against.
signature str
The base64-encoded SHA256 RSA signature of the instance identity document to authenticate with, with all newline characters removed. Can be retrieved from the EC2 metadata server.

Package Details

Repository
https://github.com/pulumi/pulumi-vault
License
Apache-2.0
Notes
This Pulumi package is based on the vault Terraform Provider.