You're viewing OCI IAM documentation for tenancies in regions that have not been updated to use identity domains.

Details for API Gateway

This topic covers details for writing policies to control access to API Gateway.

Resource-Types

Aggregate Resource-Type

api-gateway-family

Individual Resource-Types

  • api-gateways
  • api-deployments
  • api-definitions
  • api-workrequests
  • api-certificates
  • api-sdks
  • api-subscribers
  • api-usage-plans

Comments

A policy that uses <verb> api-gateway-family is equivalent to writing one with a separate <verb> <individual resource-type> statement for each of the individual resource-types.

See the table in Details for Verb + Resource-Type Combinations for details of the API operations covered by each verb, for each individual resource-type included in api-gateway-family.

Details for Verb + Resource-Type Combinations

The following tables show the permissions and API operations covered by each verb. The level of access is cumulative as you go from inspect > read > use > manage. For example, a group that can use a resource can also inspect and read that resource. A plus sign (+) in a table cell indicates incremental access compared to the cell directly above it, whereas "no extra" indicates no incremental access.

For example, the read verb for the api-gateways resource-type includes the same permissions and API operations as the inspect verb, plus the API_GATEWAY_READ permission and a number of API operations (e.g., GetGateway, etc.). The use verb covers additional permissions and API operations compared to read. Lastly, manage covers more permissions and operations compared to use.

Permissions Required for Each API Operation

The following table lists the API operations in a logical order, grouped by resource type. For information about permissions, see Permissions.

API Operation Permissions Required to Use the Operation
ListGateways API_GATEWAY_LIST
CreateGateway API_GATEWAY_CREATE and API_CERTIFICATE_APPLY_TO_GATEWAY
GetGateway API_GATEWAY_READ
UpdateGateway API_GATEWAY_UPDATE
DeleteGateway API_GATEWAY_DELETE
ChangeGatewayCompartment API_GATEWAY_READ and API_GATEWAY_UPDATE and API_GATEWAY_MOVE
ListDeployments API_DEPLOYMENT_LIST
CreateDeployment API_DEPLOYMENT_CREATE and API_GATEWAY_READ and API_GATEWAY_ADD_DEPLOYMENT
GetDeployment API_DEPLOYMENT_READ and API_GATEWAY_READ
UpdateDeployment API_DEPLOYMENT_UPDATE and API_GATEWAY_READ and API_GATEWAY_ADD_DEPLOYMENT
DeleteDeployment API_DEPLOYMENT_DELETE and API_GATEWAY_READ and API_GATEWAY_REMOVE_DEPLOYMENT
ChangeDeploymentCompartment API_DEPLOYMENT_READ and API_DEPLOYMENT_UPDATE and API_DEPLOYMENT_MOVE
ListApis API_DEFINITION_LIST
CreateApi API_DEFINITION_CREATE
GetApi API_DEFINITION_READ
GetApiContent API_DEFINITION_READ
GetApiDeploymentSpecification API_DEFINITION_READ
GetApiValidations API_DEFINITION_READ
UpdateApi API_DEFINITION_UPDATE
DeleteApi API_DEFINITION_DELETE
ChangeApiCompartment API_DEFINITION_MOVE
ListWorkRequests

API_WORK_REQUEST_LIST

GetWorkRequest

API_WORK_REQUEST_READ

CancelWorkRequest

API_WORK_REQUEST_CANCEL

ListWorkRequestErrors

API_WORK_REQUEST_READ

ListWorkRequestLogs

API_WORK_REQUEST_READ

ListCertificates API_CERTIFICATE_LIST
CreateCertificate API_CERTIFICATE_CREATE
GetCertificate API_CERTIFICATE_READ
UpdateCertificate API_CERTIFICATE_UPDATE
DeleteCertificate API_CERTIFICATE_DELETE
ChangeCertificateCompartment API_CERTIFICATE_MOVE
ListSdks API_SDK_LIST
GetSdk API_SDK_READ
UpdateSdk API_SDK_UPDATE
CreateSdk API_SDK_CREATE
ListSdkLanguageTypes API_SDK_CREATE
DeleteSdk API_SDK_DELETE
ListSubscribers API_SUBSCRIBER_LIST
GetSubscriber API_SUBSCRIBER_READ
UpdateSubscriber API_SUBSCRIBER_UPDATE

API_USAGE_PLAN_READ is necessary to update subscribed usage plans during subscriber update.

CreateSubscriber API_SUBSCRIBER_CREATE

API_USAGE_PLAN_READ is necessary to add subscribed usage plans during subscriber creation.

DeleteSubscriber API_SUBSCRIBER_DELETE
ChangeSubscriberCompartment API_SUBSCRIBER_MOVE
ListUsagePlans API_USAGE_PLAN_LIST
GetUsagePlan API_USAGE_PLAN_READ
UpdateUsagePlan API_USAGE_PLAN_UPDATE

API_DEPLOYMENT_READ is necessary to update target API deployments in entitlements during usage plan update.

CreateUsagePlan API_USAGE_PLAN_CREATE

API_DEPLOYMENT_READ is necessary to add target API deployments to entitlements during usage plan creation.

DeleteUsagePlan API_USAGE_PLAN_DELETE
ChangeUsagePlanCompartment API_USAGE_PLAN_MOVE