Gets a list of aliases in the caller’s Amazon Web Services account and region. For more information about aliases, see CreateAlias .
By default, the ListAliases operation returns all aliases in the account and region. To get only the aliases associated with a particular KMS key, use the KeyId parameter.
The ListAliases response can include aliases that you created and associated with your customer managed keys, and aliases that Amazon Web Services created and associated with Amazon Web Services managed keys in your account. You can recognize Amazon Web Services aliases because their names have the format aws/<service-name> , such as aws/dynamodb .
The response might also include aliases that have no TargetKeyId field. These are predefined aliases that Amazon Web Services has created but has not yet associated with a KMS key. Aliases that Amazon Web Services creates in your account, including predefined aliases, do not count against your KMS aliases quota .
Cross-account use : No.
ListAliasesdoes not return aliases in other Amazon Web Services accounts.Required permissions : kms:ListAliases (IAM policy)
For details, see Controlling access to aliases in the Key Management Service Developer Guide .
Related operations:
CreateAlias
DeleteAlias
UpdateAlias
See also: AWS API Documentation
See ‘aws help’ for descriptions of global parameters.
list-aliases is a paginated operation. Multiple API calls may be issued in order to retrieve the entire data set of results. You can disable pagination by providing the --no-paginate argument.
When using --output text and the --query argument on a paginated response, the --query argument must extract data from the results of the following query expressions: Aliases
  list-aliases
[--key-id <value>]
[--cli-input-json | --cli-input-yaml]
[--starting-token <value>]
[--page-size <value>]
[--max-items <value>]
[--generate-cli-skeleton <value>]
--key-id (string)
Lists only aliases that are associated with the specified KMS key. Enter a KMS key in your Amazon Web Services account.
This parameter is optional. If you omit it,
ListAliasesreturns all aliases in the account and Region.Specify the key ID or key ARN of the KMS key.
For example:
Key ID:
1234abcd-12ab-34cd-56ef-1234567890abKey ARN:
arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890abTo get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey .
--cli-input-json | --cli-input-yaml (string)
Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.
--starting-token (string)
A token to specify where to start paginating. This is the
NextTokenfrom a previously truncated response.For usage examples, see Pagination in the AWS Command Line Interface User Guide .
--page-size (integer)
The size of each page to get in the AWS service call. This does not affect the number of items returned in the command’s output. Setting a smaller page size results in more calls to the AWS service, retrieving fewer items in each call. This can help prevent the AWS service calls from timing out.
For usage examples, see Pagination in the AWS Command Line Interface User Guide .
--max-items (integer)
The total number of items to return in the command’s output. If the total number of items available is more than the value specified, a
NextTokenis provided in the command’s output. To resume pagination, provide theNextTokenvalue in thestarting-tokenargument of a subsequent command. Do not use theNextTokenresponse element directly outside of the AWS CLI.For usage examples, see Pagination in the AWS Command Line Interface User Guide .
--generate-cli-skeleton (string)
Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command. The generated JSON skeleton is not stable between versions of the AWS CLI and there are no backwards compatibility guarantees in the JSON skeleton generated.
See ‘aws help’ for descriptions of global parameters.
Note
To use the following examples, you must have the AWS CLI installed and configured. See the Getting started guide in the AWS CLI User Guide for more information.
Unless otherwise stated, all examples have unix-like quotation rules. These examples will need to be adapted to your terminal’s quoting rules. See Using quotation marks with strings in the AWS CLI User Guide .
Example 1: To list all aliases in an AWS account and Region
The following example uses the list-aliases command to list all aliases in the default Region of the AWS account. The output includes aliases associated with AWS managed KMS keys and customer managed KMS keys.
aws kms list-aliases
Output:
{
    "Aliases": [
        {
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/testKey",
            "AliasName": "alias/testKey",
            "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab"
        },
        {
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/FinanceDept",
            "AliasName": "alias/FinanceDept",
            "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321"
        },
        {
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/aws/dynamodb",
            "AliasName": "alias/aws/dynamodb",
            "TargetKeyId": "1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d"
        },
        {
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/aws/ebs",
            "AliasName": "alias/aws/ebs",
            "TargetKeyId": "0987ab65-43cd-21ef-09ab-87654321cdef"
        },
        ...
    ]
}
Example 2: To list all aliases for a particular KMS key
The following example uses the list-aliases command and its key-id parameter to list all aliases that are associated with a particular KMS key.
Each alias is associated with only one KMS key, but a KMS key can have multiple aliases. This command is very useful because the AWS KMS console lists only one alias for each KMS key. To find all aliases for a KMS key, you must use the list-aliases command.
This example uses the key ID of the KMS key for the --key-id parameter, but you can use a key ID, key ARN, alias name, or alias ARN in this command.
aws kms list-aliases --key-id 1234abcd-12ab-34cd-56ef-1234567890ab
Output:
{
    "Aliases": [
        {
            "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/oregon-test-key",
            "AliasName": "alias/oregon-test-key"
        },
        {
            "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/project121-test",
            "AliasName": "alias/project121-test"
        }
    ]
}
For more information, see Working with Aliases in the AWS Key Management Service Developer Guide.
Aliases -> (list)
A list of aliases.
(structure)
Contains information about an alias.
AliasName -> (string)
String that contains the alias. This value begins with
alias/.AliasArn -> (string)
String that contains the key ARN.
TargetKeyId -> (string)
String that contains the key identifier of the KMS key associated with the alias.
CreationDate -> (timestamp)
Date and time that the alias was most recently created in the account and Region. Formatted as Unix time.
LastUpdatedDate -> (timestamp)
Date and time that the alias was most recently associated with a KMS key in the account and Region. Formatted as Unix time.
NextMarker -> (string)
When
Truncatedis true, this element is present and contains the value to use for theMarkerparameter in a subsequent request.
Truncated -> (boolean)
A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the
NextMarkerelement in thisresponse to theMarkerparameter in a subsequent request.