Updated on 2024-05-11 GMT+08:00

Direct Connect

The Organizations service provides Service Control Policies to set access control policies.

SCPs do not actually grant any permissions to a principal. They only set the permissions boundary for the principal. When SCPs are attached to a member account or an organizational unit (OU), they do not directly grant permissions to that member account or OU. Instead, the SCPs just determine what permissions are available for that member account or the member accounts under that OU.

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

For details about how to use these elements to create a custom SCP, see Creating an SCP.

Actions

Actions are specific operations that are allowed or denied in an SCP.

  • 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 SCP 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 SCP statements.
    • If this column includes a resource type, you must specify the URN in the Resource element of your 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 Direct Connect, see Resources.

  • The Condition Key column contains keys that you can specify in the Condition element of an SCP 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 Direct Connect, see Conditions.

The following table lists the actions that you can define in SCP statements for Direct Connect.

Table 1 Actions supported by Direct Connect

Action

Description

Access Level

Resource Type (*: required)

Condition Key

dcaas:directConnect:create

Grants permission to create a connection.

write

directConnect *

-

-

  • g:RequestTag/<tag-key>
  • g:TagKeys
  • g:EnterpriseProjectId

dcaas:directConnect:update

Grants permission to update a connection.

write

directConnect *

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

dcaas:directConnect:delete

Grants permission to delete a connection. This action can only be used by pay-per-use connections. You can only unsubscribe from yearly/monthly connections.

write

directConnect *

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

dcaas:directConnect:get

Grants permission to query details of a connection.

read

directConnect *

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

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 *

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

dcaas:directConnect:updateHostedDirectConnect

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

write

directConnect *

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

dcaas:directConnect:deleteHostedDirectConnect

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

write

directConnect *

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

dcaas:directConnect:getHostedDirectConnect

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

read

directConnect *

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

dcaas:directConnect:listHostedDirectConnect

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

list

directConnect *

g:EnterpriseProjectId

dcaas:directConnect:createOnestopDirectConnect

Grants permission to create a full-service connection.

write

directConnect *

-

-

  • g:RequestTag/<tag-key>
  • g:TagKeys
  • g:EnterpriseProjectId

dcaas:directConnect:updateOnestopDirectConnect

Grants permission to update a full-service connection.

write

directConnect *

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

dcaas:directConnect:createOrder

Grants permission to create an order for a connection.

write

directConnect *

-

dcaas:directConnect:updateOrder

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

write

directConnect *

-

dcaas:vgw:create

Grants permission to create a virtual gateway.

write

vgw *

-

vpc

-

instances

-

-

  • g:EnterpriseProjectId
  • g:RequestTag/<tag-key>
  • g:TagKeys

dcaas:vgw:update

Grants permission to update a virtual gateway.

write

vgw *

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

dcaas:vgw:delete

Grants permission to delete a virtual gateway.

write

vgw *

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

dcaas:vgw:get

Grants permission to query details of a virtual gateway.

read

vgw *

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

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

-

-

  • g:EnterpriseProjectId
  • g:RequestTag/<tag-key>
  • g:TagKeys

dcaas:vif:update

Grants permission to update a virtual interface.

write

vif *

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

dcaas:vif:delete

Grants permission to delete a virtual interface.

write

vif *

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

dcaas:vif:get

Grants permission to query details of a virtual interface.

read

vif *

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

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 *

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

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 *

-

-

  • g:EnterpriseProjectId
  • g:RequestTag/<tag-key>
  • g:TagKeys

dcaas:lag:update

Grants permission to update a LAG.

write

lag *

-

directConnect

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

dcaas:lag:delete

Grants permission to delete a LAG.

write

lag *

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

dcaas:lag:get

Grants permission to query details of a LAG.

read

lag *

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

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 *

-

-

  • g:EnterpriseProjectId
  • g:RequestTag/<tag-key>
  • g:TagKeys

dcaas:gdgw:update

Grants permission to update a global DC gateway.

write

gdgw *

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

dcaas:gdgw:delete

Grants permission to delete a global DC gateway.

write

gdgw *

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

dcaas:gdgw:get

Grants permission to query details of a global DC gateway.

read

gdgw *

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

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 *

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

dcaas:gdgw:updatePeerlink

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

write

gdgw *

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

dcaas:gdgw:deletePeerlink

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

write

gdgw *

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

dcaas:gdgw:getPeerlink

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

read

gdgw *

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

dcaas:gdgw:listPeerlink

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

list

gdgw *

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

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

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

lag

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

vgw

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

vif

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

gdgw

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

-

  • g:RequestTag/<tag-key>
  • g:TagKeys

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

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

lag

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

vgw

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

vif

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

gdgw

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

-

  • g:RequestTag/<tag-key>
  • g:TagKeys

dcaas:resources:unTag

Grants permission to delete a tag from a resource.

tagging

directConnect

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

lag

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

vgw

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

vif

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

gdgw

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

-

g:TagKeys

dcaas:resources:listByTag

Grants permission to query resources by tag.

list

directConnect

-

lag

-

vgw

-

vif

-

gdgw

-

dcaas:gdgw:listGdgwRouteTable

Grants permission to query a custom route table of a global DC gateway.

list

gdgw *

-

dcaas:gdgw:updateGdgwRouteTable

Grants permission to update a custom route table of a global DC gateway.

write

gdgw *

-

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 Direct Connect usually supports one or more actions. Table 2 lists the supported actions and dependencies.

Table 2 Actions and dependencies supported by Direct Connect 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/{hosted_connect_id}

dcaas:directConnect:getHostedDirectConnect

-

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

-

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

dcaas:lag:list

-

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

-

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

dcaas:vif:switchoverTest

-

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

dcaas:vif:listSwitchoverTestRecord

-

GET /v3/{project_id}/dcaas/quotas

dcaas:quota:listUsage

-

Resources

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

The following table lists the resource types that you can define in SCP statements for Direct Connect.

Table 3 Resource types supported by Direct Connect

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

Direct Connect does not support service-specific condition keys in SCPs. Direct Connect can only use global condition keys applicable to all services. For details, see Global Condition Keys