View a markdown version of this page

Actions, resources, and condition keys for Amazon Web Services Cloud Map - Service Authorization Reference
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Actions, resources, and condition keys for Amazon Web Services Cloud Map

Amazon Web Services Cloud Map (service prefix: servicediscovery) provides the following service-specific operations, resources, actions, and condition keys for use in IAM permission policies.

References:

API operations defined by Amazon Web Services Cloud Map

The following table maps API operations to the IAM actions they authorize. Only condition keys that have static values for the given API and action are listed; for the full set of condition keys supported by each action, see the Actions table.

Operation IAM action Condition key Possible value(s) Access level

CreateHttpNamespace

servicediscovery:CreateHttpNamespace

Write

servicediscovery:TagResource

Tagging, Write

CreatePrivateDnsNamespace

servicediscovery:CreatePrivateDnsNamespace

Write

servicediscovery:TagResource

Tagging, Write

CreatePublicDnsNamespace

servicediscovery:CreatePublicDnsNamespace

Write

servicediscovery:TagResource

Tagging, Write

CreateService

servicediscovery:CreateService

Write

servicediscovery:TagResource

Tagging, Write

DeleteNamespace

servicediscovery:DeleteNamespace

Write

DeleteService

servicediscovery:DeleteService

Write

DeleteServiceAttributes

servicediscovery:DeleteServiceAttributes

Write

DeregisterInstance

servicediscovery:DeregisterInstance

Write

DiscoverInstances

servicediscovery:DiscoverInstances

Read

DiscoverInstancesRevision

servicediscovery:DiscoverInstancesRevision

Read

GetInstance

servicediscovery:GetInstance

Read

GetInstancesHealthStatus

servicediscovery:GetInstancesHealthStatus

Read

GetNamespace

servicediscovery:GetNamespace

Read

GetOperation

servicediscovery:GetOperation

Read

GetService

servicediscovery:GetService

Read

GetServiceAttributes

servicediscovery:GetServiceAttributes

Read

ListInstances

servicediscovery:ListInstances

Read

ListNamespaces

servicediscovery:ListNamespaces

Read

ListOperations

servicediscovery:ListOperations

List

ListServices

servicediscovery:ListServices

Read

ListTagsForResource

servicediscovery:ListTagsForResource

Read

RegisterInstance

servicediscovery:RegisterInstance

Write

TagResource

servicediscovery:TagResource

Tagging, Write

UntagResource

servicediscovery:UntagResource

Tagging, Write

UpdateHttpNamespace

servicediscovery:UpdateHttpNamespace

Write

UpdateInstanceCustomHealthStatus

servicediscovery:UpdateInstanceCustomHealthStatus

Write

UpdatePrivateDnsNamespace

servicediscovery:UpdatePrivateDnsNamespace

Write

UpdatePublicDnsNamespace

servicediscovery:UpdatePublicDnsNamespace

Write

UpdateService

servicediscovery:UpdateService

Write

UpdateServiceAttributes

servicediscovery:UpdateServiceAttributes

Write

Actions defined by Amazon Web Services Cloud Map

You can specify the following actions in the Action element of an IAM policy statement. Use policies to grant permissions to perform an operation in Amazon. When you use an action in a policy, you usually allow or deny access to the API operation or CLI command with the same name. However, in some cases, a single action controls access to more than one operation. Alternatively, some operations require several different actions.

Actions Description Resource types (*required) Condition keys Access level

CreateHttpNamespace

Grants permission to create an HTTP namespace

aws:RequestTag/${TagKey}

aws:TagKeys

Write

CreatePrivateDnsNamespace

Grants permission to create a private namespace based on DNS, which will be visible only inside a specified Amazon VPC

aws:RequestTag/${TagKey}

aws:TagKeys

Write

CreatePublicDnsNamespace

Grants permission to create a public namespace based on DNS, which will be visible on the internet

aws:RequestTag/${TagKey}

aws:TagKeys

Write

CreateService

Grants permission to create a service

namespace*

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

servicediscovery:NamespaceArn

Write

service*

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

servicediscovery:NamespaceArn

DeleteNamespace

Grants permission to delete a specified namespace

namespace*

aws:ResourceTag/${TagKey}

Write

DeleteService

Grants permission to delete a specified service

service*

aws:ResourceTag/${TagKey}

servicediscovery:ServiceCreatedByAccount

Write

DeleteServiceAttributes

Grants permission to delete specified attributes from a service

service*

aws:ResourceTag/${TagKey}

servicediscovery:ServiceCreatedByAccount

Write

DeregisterInstance

Grants permission to delete the records and the health check, if any, that Amazon Route 53 created for the specified instance

service*

aws:ResourceTag/${TagKey}

servicediscovery:ServiceArn

servicediscovery:ServiceCreatedByAccount

Write

DiscoverInstances

Grants permission to discover registered instances for a specified namespace and service

namespace*

aws:ResourceTag/${TagKey}

servicediscovery:NamespaceName

servicediscovery:ServiceName

Read

service*

aws:ResourceTag/${TagKey}

servicediscovery:NamespaceName

servicediscovery:ServiceName

DiscoverInstancesRevision

Grants permission to discover the revision of the instances for a specified namespace and service

namespace*

aws:ResourceTag/${TagKey}

servicediscovery:NamespaceName

servicediscovery:ServiceName

Read

service*

aws:ResourceTag/${TagKey}

servicediscovery:NamespaceName

servicediscovery:ServiceName

GetInstance

Grants permission to get information about a specified instance

service*

aws:ResourceTag/${TagKey}

servicediscovery:ServiceArn

Read

GetInstancesHealthStatus

Grants permission to get the current health status (Healthy, Unhealthy, or Unknown) of one or more instances

service*

aws:ResourceTag/${TagKey}

servicediscovery:ServiceArn

Read

GetNamespace

Grants permission to get information about a namespace

namespace*

aws:ResourceTag/${TagKey}

Read

GetOperation

Grants permission to get information about a specific operation

namespace*

aws:ResourceTag/${TagKey}

Read

service

aws:ResourceTag/${TagKey}

GetService

Grants permission to get the settings for a specified service

service*

aws:ResourceTag/${TagKey}

Read

GetServiceAttributes

Grants permission to get the attributes for a specified service

service*

aws:ResourceTag/${TagKey}

Read

ListInstances

Grants permission to get summary information about the instances that were registered with a specified service

service*

aws:ResourceTag/${TagKey}

servicediscovery:ServiceArn

Read

ListNamespaces

Grants permission to get information about the namespaces

Read

ListOperations

Grants permission to list operations that match the criteria that you specify

List

ListServices

Grants permission to get settings for all the services that match specified filters

Read

ListTagsForResource

Grants permission to lists tags for the specified resource

Read

RegisterInstance

Grants permission to register an instance based on the settings in a specified service

service*

aws:ResourceTag/${TagKey}

servicediscovery:ServiceArn

servicediscovery:ServiceCreatedByAccount

Write

TagResource

Grants permission to add one or more tags to the specified resource

aws:RequestTag/${TagKey}

aws:TagKeys

Tagging, Write

UntagResource

Grants permission to remove one or more tags from the specified resource

aws:TagKeys

Tagging, Write

UpdateHttpNamespace

Grants permission to update the settings for a HTTP namespace

namespace*

aws:ResourceTag/${TagKey}

Write

UpdateInstanceCustomHealthStatus

Grants permission to update the current health status for an instance that has a custom health check

service*

aws:ResourceTag/${TagKey}

servicediscovery:ServiceArn

servicediscovery:ServiceCreatedByAccount

Write

UpdatePrivateDnsNamespace

Grants permission to update the settings for a private DNS namespace

namespace*

aws:ResourceTag/${TagKey}

Write

UpdatePublicDnsNamespace

Grants permission to update the settings for a public DNS namespace

namespace*

aws:ResourceTag/${TagKey}

Write

UpdateService

Grants permission to update the settings in a specified service

service*

aws:ResourceTag/${TagKey}

servicediscovery:ServiceCreatedByAccount

Write

UpdateServiceAttributes

Grants permission to update the attributes in a specified service

service*

aws:ResourceTag/${TagKey}

servicediscovery:ServiceCreatedByAccount

Write

Permission-only actions for Amazon Web Services Cloud Map

The following actions are defined by Amazon Web Services Cloud Map but are not directly invocable through any API operation. They can only be used in IAM policy statements to grant or deny permissions.

Actions Description Resource types (*required) Condition keys Access level

DeleteResourcePolicy

Grants permission to delete the RAM access control policy for a namespace

namespace*

aws:ResourceTag/${TagKey}

Write

GetResourcePolicy

Grants permission to read the RAM access control policy for a namespace

namespace*

aws:ResourceTag/${TagKey}

Read

PutResourcePolicy

Grants permission to define the RAM access control policy for a namespace

namespace*

aws:ResourceTag/${TagKey}

Write

Resource types defined by Amazon Web Services Cloud Map

The following resource types are defined by this service and can be used in the Resource element of IAM permission policy statements.

Resource types ARN Condition keys

namespace

arn:${Partition}:servicediscovery:${Region}:${Account}:namespace/${NamespaceId}

aws:ResourceTag/${TagKey}

service

arn:${Partition}:servicediscovery:${Region}:${Account}:service/${ServiceId}

aws:ResourceTag/${TagKey}

Condition keys for Amazon Web Services Cloud Map

Amazon Web Services Cloud Map defines the following condition keys that can be used in the Condition element of an IAM policy.

Condition keys Description Type

aws:RequestTag/${TagKey}

Filters actions based on the tags that are passed in the request

String

aws:ResourceTag/${TagKey}

Filters actions based on the tags associated with the resource

String

aws:TagKeys

Filters actions based on the tag keys that are passed in the request

ArrayOfString

servicediscovery:NamespaceArn

Filters access by specifying the Amazon Resource Name (ARN) for the related namespace

ARN

servicediscovery:NamespaceName

Filters access by specifying the name of the related namespace

String

servicediscovery:ServiceArn

Filters access by specifying the Amazon Resource Name (ARN) for the related service

ARN

servicediscovery:ServiceCreatedByAccount

Filters access by specifying the account id of the related service creator

String

servicediscovery:ServiceName

Filters access by specifying the name of the related service

String