Updated on 2025-11-06 GMT+08:00

Direct Connect

IAM provides system-defined identity policies to define common actions supported by cloud services. You can also create custom identity policies using the actions supported by cloud services for more refined access control.

In addition to IAM, the Organizations service also provides Service Control Policies (SCPs) to set access control policies.

SCPs do not actually grant any permissions to an entity. They only set the permissions boundary for the entity. When SCPs are attached to an organizational unit (OU) or a member account, the SCPs do not directly grant permissions to that OU or member account. Instead, the SCPs only determine what permissions are available for that member account or those member accounts under that OU. The granted permissions can be applied only if they are allowed by the SCPs.

To learn more about how IAM is different from Organizations for access control, see How IAM Is Different from Organizations for Access Control?.

This section describes the elements used by IAM custom identity policies and Organizations SCPs. The elements include actions, resources, and conditions.

Actions

Actions are specific operations that are allowed or denied in an identity policy.

  • The Access Level column describes how the action is classified (List, Read, or Write). This classification helps you understand the level of access that an action grants when you use it in an identity policy.
  • The Resource Type column indicates whether the action supports resource-level permissions.
    • You can use a wildcard (*) to indicate all resource types. If this column is empty (-), the action does not support resource-level permissions and you must specify all resources ("*") in your identity policy statements.
    • If this column includes a resource type, you must specify the URN in the Resource element of your identity policy statements.
    • Required resources are marked with asterisks (*) in the table. If you specify a resource in a statement using this action, then it must be of this type.

    For details about the resource types defined by DC, see Resources.

  • The Condition Key column contains keys that you can specify in the Condition element of an identity policy statement.
    • If the Resource Type column has values for an action, the condition key takes effect only for the listed resource types.
    • If the Resource Type column is empty (-) for an action, the condition key takes effect for all resources that action supports.
    • If the Condition Key column is empty (-) for an action, the action does not support any condition keys.

    For details about the condition keys defined by DC, see Conditions.

  • The Alias column lists the policy actions that are configured in identity policies. With these actions, you can use APIs for policy-based authorization. For details, see Policies and Identity Policies.

The following table lists the actions that you can define in identity policy statements for DC.

Table 1 Actions supported by DC

Action

Description

Access Level

Resource Type (*: required)

Condition Key

Alias

dcaas:directConnect:create

Grants permission to create a connection.

Write

directConnect *

-

-

-

dcaas:directConnect:update

Grants permission to update a connection.

Write

directConnect *

-

dcaas:directConnect:delete

Grants permission to delete a pay-per-use connection. A yearly/monthly connection can only be unsubscribed from.

Write

directConnect *

-

dcaas:directConnect:get

Grants permission to query details of a connection.

Read

directConnect *

-

dcaas:directConnect:list

Grants permission to list the connections .

List

directConnect *

-

-

-

g:EnterpriseProjectId

dcaas:directConnect:createHostedDirectConnect

Grants permission to allow a partner to create a hosted connection.

Write

directConnect *

dcaas:directConnect:create

dcaas:directConnect:updateHostedDirectConnect

Grants permission to allow a partner to update a hosted connection.

Write

directConnect *

dcaas:directConnect:update

dcaas:directConnect:deleteHostedDirectConnect

Grants permission to allow a partner to delete a hosted connection.

Write

directConnect *

dcaas:directConnect:delete

dcaas:directConnect:getHostedDirectConnect

Grants permission to allow a partner to query details of a hosted connection.

Read

directConnect *

dcaas:directConnect:get

dcaas:directConnect:listHostedDirectConnect

Grants permission to allow a partner to list the hosted connections.

List

directConnect *

g:EnterpriseProjectId

dcaas:directConnect:list

dcaas:directConnect:createOnestopDirectConnect

Grants permission to create a full-service connection.

Write

directConnect *

-

dcaas:directConnect:create

-

dcaas:directConnect:updateOnestopDirectConnect

Grants permission to update a full-service connection.

Write

directConnect *

dcaas:directConnect:update

dcaas:directConnect:createOrder

Grants permission to create an order for a connection.

Write

directConnect *

-

dcaas:directConnect:create

dcaas:directConnect:updateOrder

Grants permission to modify the order for changing the specifications of a connection.

Write

directConnect *

-

dcaas:directConnect:update

dcaas:vgw:create

Grants permission to create a virtual gateway.

Write

vgw *

-

-

vpc

-

instances

-

-

dcaas:vgw:update

Grants permission to update a virtual gateway.

Write

vgw *

-

dcaas:vgw:delete

Grants permission to delete a virtual gateway.

Write

vgw *

-

dcaas:vgw:get

Grants permission to query details of a virtual gateway.

Read

vgw *

-

dcaas:vgw:list

Grants permission to list the virtual gateways.

List

vgw *

-

-

-

g:EnterpriseProjectId

dcaas:vif:create

Grants permission to create a virtual interface.

Write

vif *

-

-

directConnect

-

lag

-

vgw

-

gdgw

-

connectGateway

-

lgw

-

-

dcaas:vif:update

Grants permission to update a virtual interface.

Write

vif *

-

dcaas:vif:delete

Grants permission to delete a virtual interface.

Write

vif *

-

dcaas:vif:get

Grants permission to query details of a virtual interface.

Read

vif *

-

dcaas:vif:list

Grants permission to list the virtual interfaces.

List

vif *

-

-

-

g:EnterpriseProjectId

dcaas:vif:updateVifExtendAttribute

Grants permission to update extended attributes of a virtual interface.

Write

vif *

-

dcaas:vifPeer:create

Grants permission to create a virtual interface peer.

Write

vifPeer *

-

-

vif *

-

dcaas:vifPeer:update

Grants permission to update a virtual interface peer.

Write

vifPeer *

-

-

dcaas:vifPeer:delete

Grants permission to delete a virtual interface peer.

Write

vifPeer *

-

-

dcaas:vifPeer:get

Grants permission to query details of a virtual interface peer.

Read

vifPeer *

-

-

dcaas:vifPeer:list

Grants permission to list the virtual interface peers.

List

vifPeer *

-

-

dcaas:lag:create

Grants permission to create a LAG.

Write

lag *

-

-

directConnect *

-

-

dcaas:lag:update

Grants permission to update a LAG.

Write

lag *

-

-

directConnect

dcaas:lag:delete

Grants permission to delete a LAG.

Write

lag *

-

dcaas:lag:get

Grants permission to query details of a LAG.

Read

lag *

-

dcaas:lag:list

Grants permission to list the LAGs.

List

lag *

-

-

-

g:EnterpriseProjectId

dcaas:gdgw:create

Grants permission to create a global DC gateway.

Write

gdgw *

-

-

-

dcaas:gdgw:update

Grants permission to update a global DC gateway.

Write

gdgw *

-

dcaas:gdgw:delete

Grants permission to delete a global DC gateway.

Write

gdgw *

-

dcaas:gdgw:get

Grants permission to query details of a global DC gateway.

Read

gdgw *

-

dcaas:gdgw:list

Grants permission to list the global DC gateways.

List

gdgw *

-

-

-

g:EnterpriseProjectId

dcaas:gdgw:createPeerlink

Grants permission to create a peer link for a global DC gateway.

Write

gdgw *

-

dcaas:gdgw:updatePeerlink

Grants permission to update a peer link of a global DC gateway.

Write

gdgw *

-

dcaas:gdgw:deletePeerlink

Grants permission to delete a peer link of a global DC gateway.

Write

gdgw *

-

dcaas:gdgw:getPeerlink

Grants permission to query details of a peer link of a global DC gateway.

Read

gdgw *

-

dcaas:gdgw:listPeerlink

Grants permission to list the peer links of a global DC gateway.

List

gdgw *

-

dcaas:connectGateway:create

Grants permission to create a connect gateway.

Write

connectGateway *

-

-

dcaas:connectGateway:update

Grants permission to update a connect gateway.

Write

connectGateway *

-

-

dcaas:connectGateway:delete

Grants permission to delete a connect gateway.

Write

connectGateway *

-

-

dcaas:connectGateway:get

Grants permission to query details of a connect gateway.

Read

connectGateway *

-

-

dcaas:connectGateway:list

Grants permission to list the connect gateways.

List

connectGateway *

-

-

dcaas:connectGateway:listGlobalEip

Grants permission to list the global EIPs bound to a connect gateway.

List

connectGateway *

-

-

dcaas:connectGateway:bindGlobalEip

Grants permission to bind a global EIP to a connect gateway.

Write

connectGateway *

-

-

dcaas:connectGateway:unbindGlobalEip

Grants permission to unbind a global EIP from a connect gateway.

Write

connectGateway *

-

-

dcaas:vif:switchoverTest

Grants permission to perform a switchover test.

Write

vif *

-

-

dcaas:vif:listSwitchoverTestRecord

Grants permission to query switchover test execution records.

List

vif *

-

-

dcaas:vif:getSwitchoverTestRecord

Grants permission to query a switchover test execution record.

Read

vif *

-

-

dcaas:resources:batchTagUntag

Grants permission to add tags to or delete tags from a resource in batches.

Tagging

directConnect

-

lag

vgw

vif

gdgw

-

dcaas:resources:listResourceTag

Grants permission to query tags of a resource.

List

directConnect

-

-

lag

-

vgw

-

vif

-

gdgw

-

dcaas:resources:listTag

Grants permission to query tags by resource type.

List

directConnect

-

-

lag

-

vgw

-

vif

-

gdgw

-

dcaas:resources:tag

Grants permission to add a tag to a resource.

Tagging

directConnect

-

lag

vgw

vif

gdgw

-

dcaas:resources:unTag

Grants permission to delete a tag from a resource.

Tagging

directConnect

-

lag

vgw

vif

gdgw

-

g:TagKeys

dcaas:resources:listByTag

Grants permission to query resources by tag.

List

directConnect

-

-

lag

-

vgw

-

vif

-

gdgw

-

dcaas:gdgw:listGdgwRouteTable

Grants permission to obtain the routing table of the Direct Connect global dc gateway.

List

gdgw *

-

dcaas:gdgw:updateGdgwRouteTable

Grants permission to update the routing table of the Direct Connect global dc gateway.

Write

gdgw *

-

dcaas:vgw:listVgwRouteTable

Grants permission to obtain the routing table of the Direct Connect virtual gateway.

List

vgw *

-

dcaas:vgw:updateVgwRouteTable

Grants permission to update the routing table of the Direct Connect virtual gateway.

Write

vgw *

-

dcaas:quota:listVgwUsage

Grants permission to query the quota of VPCs that a virtual gateway can be associated with.

List

-

-

-

dcaas:quota:listUsage

Grants permission to query the quotas.

List

-

-

-

dcaas:lgw:create

Grants permission to create a local gateway.

Write

lgw *

-

-

dcaas:lgw:update

Grants permission to update a local gateway.

Write

lgw *

-

-

dcaas:lgw:delete

Grants permission to delete a local gateway.

Write

lgw *

-

-

dcaas:lgw:get

Grants permission to query details of a local gateway.

Read

lgw *

-

-

dcaas:lgw:list

Grants permission to list the local gateways.

List

lgw *

-

-

dcaas:lgwTable:create

Grants permission to create a local gateway route table.

Write

lgwTable *

-

-

lgw *

-

dcaas:lgwTable:update

Grants permission to update a local gateway route table.

Write

lgwTable *

-

-

dcaas:lgwTable:delete

Grants permission to delete a local gateway route table.

Write

lgwTable *

-

-

dcaas:lgwTable:get

Grants permission to query details of a local gateway route table.

Read

lgwTable *

-

-

dcaas:lgwTable:list

Grants permission to list the local gateway route tables.

List

lgwTable *

-

-

dcaas:lgwTable:createLgwTableRoute

Grants permission to create a route in a local gateway route table.

Write

lgwTable *

-

-

dcaas:lgwTable:updateLgwTableRoute

Grants permission to update a route in a local gateway route table.

Write

lgwTable *

-

-

dcaas:lgwTable:deleteLgwTableRoute

Grants permission to delete a route from a local gateway route table.

Write

lgwTable *

-

-

dcaas:lgwTable:getLgwTableRoute

Grants permission to query details of a route in a local gateway route table.

Read

lgwTable *

-

-

dcaas:lgwTable:listLgwTableRoute

Grants permission to list the routes in a local gateway route table.

List

lgwTable *

-

-

dcaas:lgwTable:batchDeleteLgwTableRoute

Grants permission to delete routes from a local gateway route table in batches.

Write

lgwTable *

-

-

dcaas:lgwTable:createLgwTableVpc

Grants permission to associate a local gateway route table with a VPC.

Write

lgwTable *

-

-

vpc *

-

dcaas:lgwTable:updateLgwTableVpc

Grants permission to update a VPC for a local gateway route table.

Write

lgwTable *

-

-

dcaas:lgwTable:deleteLgwTableVpc

Grants permission to disassociate a local gateway route table from a VPC.

Write

lgwTable *

-

-

dcaas:lgwTable:getLgwTableVpc

Grants permission to query details of a VPC that a local gateway route table is associated with.

Read

lgwTable *

-

-

dcaas:lgwTable:listLgwTableVpc

Grants permission to list the VPCs that a local gateway route table is associated with.

List

lgwTable *

-

-

Each API of DC usually supports one or more actions. Table 2 lists the supported actions and dependencies.

Table 2 Actions and dependencies supported by DC APIs

API

Action

Dependencies

GET /v3/{project_id}/dcaas/direct-connects/{direct_connect_id}

dcaas:directConnect:get

-

GET /v3/{project_id}/dcaas/direct-connects

dcaas:directConnect:list

-

PUT /v3/{project_id}/dcaas/direct-connects/{direct_connect_id}

dcaas:directConnect:update

-

DELETE /v3/{project_id}/dcaas/direct-connects/{direct_connect_id}

dcaas:directConnect:delete

-

GET /v3/{project_id}/dcaas/hosted-connects

dcaas:directConnect:listHostedDirectConnect

-

POST /v3/{project_id}/dcaas/hosted-connects

dcaas:directConnect:createHostedDirectConnect

-

PUT /v3/{project_id}/dcaas/hosted-connects/{hosted_connect_id}

dcaas:directConnect:updateHostedDirectConnect

-

DELETE /v3/{project_id}/dcaas/hosted-connects/{hosted_connect_id}

dcaas:directConnect:deleteHostedDirectConnect

-

GET /v3/{project_id}/dcaas/virtual-gateways/{virtual_gateway_id}

dcaas:vgw:get

-

GET /v3/{project_id}/dcaas/virtual-gateways

dcaas:vgw:list

-

PUT /v3/{project_id}/dcaas/virtual-gateways/{virtual_gateway_id}

dcaas:vgw:update

-

DELETE /v3/{project_id}/dcaas/virtual-gateways/{virtual_gateway_id}

dcaas:vgw:delete

-

POST /v3/{project_id}/dcaas/virtual-gateways

dcaas:vgw:create

  • er:instances:get
  • vpc:vpcs:get

GET /v3/{project_id}/dcaas/virtual-interfaces/{virtual_interface_id}

dcaas:vif:get

-

GET /v3/{project_id}/dcaas/virtual-interfaces

dcaas:vif:list

-

PUT /v3/{project_id}/dcaas/virtual-interfaces/{virtual_interface_id}

dcaas:vif:update

-

DELETE /v3/{project_id}/dcaas/virtual-interfaces/{virtual_interface_id}

dcaas:vif:delete

-

POST /v3/{project_id}/dcaas/virtual-interfaces

dcaas:vif:create

-

PUT /v3/{project_id}/dcaas/vif-peers/{vif_peer_id}

dcaas:vifPeer:update

-

DELETE /v3/{project_id}/dcaas/vif-peers/{vif_peer_id}

dcaas:vifPeer:delete

-

POST /v3/{project_id}/dcaas/vif-peers

dcaas:vifPeer:create

-

GET /v3/{project_id}/dcaas/link-aggregation-groups/{dc_lag_id}

dcaas:lag:get

-

PUT /v3/{project_id}/dcaas/link-aggregation-groups/{dc_lag_id}

dcaas:lag:update

-

DELETE /v3/{project_id}/dcaas/link-aggregation-groups/{dc_lag_id}

dcaas:lag:delete

-

POST /v3/{project_id}/dcaas/link-aggregation-groups

dcaas:lag:create

-

GET /v3/{project_id}/dcaas/global-dc-gateways/{global_dc_gateway_id}

dcaas:gdgw:get

-

GET /v3/{project_id}/dcaas/global-dc-gateways/{global_dc_gateway_id}/peer-links/{peer_link_id}

dcaas:gdgw:getPeerlink

-

POST /v3/{project_id}/dcaas/switchover-test

dcaas:vif:switchoverTest

-

GET /v3/{project_id}/dcaas/switchover-test

dcaas:vif:listSwitchoverTestRecord

-

Resources

A resource type indicates the resources that an identity policy applies to. If you specify a resource type for any action in Table 3, the resource URN must be specified in the identity policy statements using that action, and the identity policy applies only to resources of this type. If no resource type is specified, the Resource element is marked with an asterisk (*) and the identity policy applies to all resources. You can also set condition keys in an identity policy to define resource types.

The following table lists the resource types that you can define in identity policy statements for DC.

Table 3 Resource types supported by DC

Resource Type

URN

instances

er:<region>:<account-id>:instances:<instance-id>

lgw

dcaas:<region>:<account-id>:lgw:<lgw-id>

vif

dcaas:<region>:<account-id>:vif:<vif-id>

lgwTable

dcaas:<region>:<account-id>:lgwTable:<lgwTable-id>

gdgw

dcaas:<region>:<account-id>:gdgw:<gdgw-id>

vifPeer

dcaas:<region>:<account-id>:vifPeer:<vifPeer-id>

vpc

vpc:<region>:<account-id>:vpc:<vpc-id>

vgw

dcaas:<region>:<account-id>:vgw:<vgw-id>

directConnect

dcaas:<region>:<account-id>:directConnect:<directConnect-id>

lag

dcaas:<region>:<account-id>:lag:<lag-id>

connectGateway

dcaas:<region>:<account-id>:connectGateway:<connectGateway-id>

Conditions

DC does not support service-specific condition keys in identity policies.It can only use global condition keys applicable to all services. For details, see Global Condition Keys.