Service Mesh IAMポリシー

Oracle Cloud Infrastructure Service Meshリソースにアクセスできるユーザーおよび付与されるアクセスのタイプを制御する、Identity and Access Management (IAM)ポリシーを作成します。

デフォルトでは、Administratorsグループのユーザーのみがすべてのサービス・メッシュ・リソースにアクセスできます。他のユーザーについては、アクセス権を付与する必要があります。

ノート

サービス・メッシュ・アクセス・ポリシーは、IAMポリシーとは異なります:
  • IAMポリシーは、サービス・メッシュ・リソースを含む、どのグループおよびユーザーがどのOCIリソースにアクセスできるかを定義します。次に例を示します:
    • 誰がサービス・メッシュを作成できますか。
    • 特定のコンパートメント内の仮想デプロイメントを管理できるのは誰ですか。
  • サービス・メッシュ・アクセス・ポリシーは、サービス・メッシュ内のどのサービスが相互に通信できるか、どの方向で通信できるかを定義します。次に例を示します:
    • 仮想サービスAと通信できる仮想サービスはどれですか。
    • 仮想サービスBはどのサービスと通信できますか。

IAMポリシーの詳細は、次を参照してください:

リソース・タイプ

サービス・メッシュ・リソースへのアクセス権をユーザーに付与するには、サービス・メッシュ・リソース・タイプを使用してIAMポリシーを作成します。

すべてのサービス・メッシュ・リソースにアクセスするには、集約リソース・タイプを使用します:

  • service-mesh-family

例:

allow group MeshManagers to manage service-mesh-family in compartment B

service-mesh-familyには、次の個別のリソース・タイプが含まれます。

  • service-meshes
  • mesh-virtual-services
  • mesh-virtual-service-route-tables
  • mesh-virtual-deployments
  • mesh-ingress-gateways
  • mesh-ingress-gateway-route-tables
  • mesh-access-policies
  • mesh-work-requests

service-mesh-familyに、ユーザーがアクセスできないリソース・タイプがある場合は、個々のリソース・タイプのポリシーを作成します。

たとえば、ユーザーのグループがサービス・メッシュ・アクセス・ポリシーを管理できるようにし、サービス・メッシュを作成できるようにする場合は、次のように記述します。

allow group MeshUsers to manage mesh-access-policies in compartment B

動詞+リソース・タイプの組合せの詳細

このトピックでは、サービス・メッシュの各リソース・タイプの権限およびAPI操作をリストします。

4つの動詞は、Oracle Cloud Infrastructureリソースの権限およびAPI操作を定義します。
  • inspect
  • read
  • use
  • manage

アクセスのレベルは、inspectからreadusemanageの順に累積します。

たとえば、service-mesh-familyに対するread権限を持つユーザーは、readおよびinspect操作を実行できますが、useおよびmanage操作は許可されません。

権限および操作を確認するには、このトピックの各リソース・タイプを展開します。

サービス・テーマ

この表は、service-meshesリソースの権限およびAPIを示しています。

表のセル内のプラス記号(+)は、前のセルと比較して増分アクセスを示します。

例:
allow group MeshReaders to read service-meshes in compartment B
このポリシーを使用すると、MeshReadersグループのユーザーはinspect操作とread操作の両方を実行できます。
  • inspectに対して許可される操作: ListMeshes。コンパートメントBのサービス・メッシュをリストします。
  • readに対して許可される操作: GetMesh。コンパートメントBの特定のサービス・メッシュの詳細を取得します。
動詞 権限 完全にカバーされるAPI 一部カバーされるAPI
inspect SERVICE_MESH_LIST ListMeshes なし
read

inspect +

SERVICE_MESH_READ

inspect+

GetMesh

なし
use

read +

SERVICE_MESH_UPDATE

SERVICE_MESH_ATTACH(1)

SERVICE_MESH_DETACH(1)

read+

UpdateMesh

なし
manage

use +

SERVICE_MESH_CREATE

SERVICE_MESH_DELETE

SERVICE_MESH_MOVE

use+

CreateMesh

DeleteMesh

ChangeMeshCompartment

なし

(1) SERVICE_MESH_ATTACHでは、子オブジェクト(仮想サービス、アクセス・ポリシーなど)を作成して特定の親メッシュにアタッチできます。SERVICE_MESH_DELETEでは、子オブジェクトを削除できます。

メッシュ仮想サービス

この表は、mesh-virtual-servicesリソースの権限およびAPIを示しています。

表のセル内のプラス記号(+)は、前のセルと比較して増分アクセスを示します。

例:
allow group VirtualServiceUsers to use mesh-virtual-services in compartment B
このポリシーを使用すると、VirtualServiceReadersグループのユーザーはinspectreadおよびuse操作を実行できます。
  • inspectに対して許可される操作: ListVirtualService。指定されたメッシュの仮想サービスをリストします。
  • readに対して許可される操作: GetVirtualService。特定の仮想サービスの詳細を取得します。
  • useに対して許可される操作: UpdateVirtualService。特定の仮想サービスの詳細を更新します。
動詞 権限 完全にカバーされるAPI 一部カバーされるAPI
inspect MESH_VIRTUAL​_SERVICE_LIST ListVirtualService なし
read

inspect +

MESH_VIRTUAL​_SERVICE_READ

inspect+

GetVirtualService

なし
use

read +

MESH_VIRTUAL​_SERVICE_UPDATE

MESH_VIRTUAL​_SERVICE_ATTACH

MESH_VIRTUAL​_SERVICE_DETACH

read+

UpdateVirtualService

なし
manage

use +

MESH_VIRTUAL​_SERVICE_CREATE

MESH_VIRTUAL​_SERVICE_DELETE

MESH_VIRTUAL​_SERVICE_MOVE

use+

ChangeVirtual​ServiceCompartment

CreateVirtualService (MESH_ATTACHを実行するにはuse meshesも必要です。)

DeleteVirtualService (MESH_DETACHを実行するにはuse meshesも必要です。)

mesh- virtual- service- route- tables

この表は、mesh-virtual-service-route-tablesリソースの権限およびAPIを示しています。

表のセル内のプラス記号(+)は、前のセルと比較して増分アクセスを示します。

例:
allow group VirtualServiceManagers to manage mesh-virtual-service-route-tables in compartment B
このポリシーを使用すると、VirtualServiceReadersグループのユーザーは、inspectreaduseおよびmanageの操作を実行できます。
  • inspectに対して許可される操作: ListVirtualServiceRouteTableは、仮想サービスで指定された仮想サービス・ルート表をリストします。
  • readに対して許可される操作: GetVirtualServiceRouteTable。特定の仮想サービス・ルート表の詳細を取得します。
  • manageの操作を許可します: UpdateVirtualServiceRouteTable。特定の仮想サービス・ルート表の詳細を更新します。ChangeVirtualServiceRouteTableCompartment。特定の仮想サービス・ルート表のコンパートメントを変更します。
動詞 権限 完全にカバーされるAPI 一部カバーされるAPI
inspect MESH_VIRTUAL_SERVICE​_ROUTE_TABLE_LIST ListVirtualService​RouteTable なし
read

inspect +

MESH_VIRTUAL_SERVICE​_ROUTE_TABLE_READ

inspect+

GetVirtualService​RouteTable

なし
use

追加なし

追加なし

なし
manage

use +

MESH_VIRTUAL_SERVICE​_ROUTE_TABLE_CREATE

MESH_VIRTUAL_SERVICE​_ROUTE_TABLE_DELETE

MESH_VIRTUAL_SERVICE​_ROUTE_TABLE_UPDATE

MESH_VIRTUAL_SERVICE​_ROUTE_TABLE_MOVE

use+

UpdateVirtualService​RouteTable

ChangeVirtualService​RouteTableCompartment

CreateVirtualService​RouteTable(MESH_VIRTUAL​_SERVICE_ATTACHを実行するにはuse mesh-virtual-servicesも必要です。)

DeleteVirtualService​RouteTable(MESH_VIRTUAL​_SERVICE_DETACHを実行するにはuse mesh-virtual-servicesも必要です。)

mesh- virtual- deployments

この表は、mesh-virtual-deploymentsリソースの権限およびAPIを示しています。

表のセル内のプラス記号(+)は、前のセルと比較して増分アクセスを示します。

例:
allow group VirtualDeploymentsReaders to read mesh-virtual-deployments in compartment B
このポリシーを使用すると、VirtualDeployementReadersグループのユーザーはinspect操作とread操作の両方を実行できます。
  • inspectに対して許可される操作: ListVirtualDeployment。指定された仮想サービスの仮想デプロイメントをリストします。
  • readに対して許可される操作: GetVirtualDeployment。特定の仮想デプロイメントの詳細を取得します。
動詞 権限 完全にカバーされるAPI 一部カバーされるAPI
inspect MESH_VIRTUAL​_DEPLOYMENT_LIST ListVirtualDeployment なし
read

inspect +

MESH_VIRTUAL​_DEPLOYMENT_READ

MESH_VIRTUAL_DEPLOYMENT​_PROXY_CONFIG_READ(1)

MESH_PROXY_DETAILS_READ

inspect+

GetVirtualDeployment

なし
use

read +

MESH_VIRTUAL_​DEPLOYMENT_UPDATE

read+

UpdateVirtualDeployment

なし
manage

use +

MESH_VIRTUAL_​DEPLOYMENT_CREATE

MESH_VIRTUAL_​DEPLOYMENT_DELETE

MESH_VIRTUAL_​DEPLOYMENT_MOVE

use+

ChangeVirtual​DeploymentCompartment

CreateVirtualDeployment (MESH_VIRTUAL​_SERVICE_ATTACHを実行するにはuse mesh-virtual-servicesも必要です。)

DeleteVirtualDeployment (MESH_VIRTUAL​_SERVICE_DETACHを実行するにはuse mesh-virtual-servicesも必要です。)

(1) MESH_VIRTUAL_DEPLOYMENT_PROXY_CONFIG_READこの権限により、プロキシは起動時にメタデータ・サービスからブートストラップ構成をフェッチできます。

メッシュ・イングレス・ゲートウェイ

この表は、mesh-ingress-gatewaysリソースの権限およびAPIを示しています。

表のセル内のプラス記号(+)は、前のセルと比較して増分アクセスを示します。

例:
allow group IngressGatewayUsers to use mesh-ingress-gateways in compartment B
このポリシーを使用すると、IngressGatewayUsersグループのユーザーはinspectreadおよびuse操作を実行できます。
  • inspectに対して許可される操作: ListIngressGateways。コンパートメントBのイングレス・ゲートウェイをリストします。
  • readに対して許可される操作: GetIngressGateway。コンパートメントBおよびGetIngressGatewayProxyBootstrapConfig内の特定のイングレス・ゲートウェイの詳細を取得します。
  • useに対して許可される操作: UpdateIngressGateway。特定のイングレス・ゲートウェイの詳細を更新します。
動詞 権限 完全にカバーされるAPI 一部カバーされるAPI
inspect MESH_INGRESS​_GATEWAY_LIST ListIngressGateways なし
read

inspect +

MESH_INGRESS​_GATEWAY_READ

MESH_INGRESS_GATEWAY​_PROXY_CONFIG_READ(1)

MESH_PROXY_DETAILS_READ

inspect+

GetIngressGateway

GetIngressGateway​ProxyBootstrapConfig

なし
use

read +

MESH_INGRESS​_GATEWAY_UPDATE

MESH_INGRESS​_GATEWAY_ATTACH

MESH_INGRESS​_GATEWAY_DETACH

read+

UpdateIngressGateway

なし
manage

use +

MESH_INGRESS​_GATEWAY_CREATE

MESH_INGRESS​_GATEWAY_DELETE

MESH_INGRESS​_GATEWAY_MOVE

use+

ChangeIngress​GatewayCompartment

CreateIngressGateway (MESH_ATTACHを実行するにはuse meshesも必要です。)

DeleteIngressGateway (MESH_DETACHを実行するにはuse meshesも必要です。)

(1) MESH_INGRESS_GATEWAY_PROXY_CONFIG_READこの権限により、プロキシは起動時にメタデータ・サービスからブートストラップ構成をフェッチできます。

メッシュ- ingress- gateways- route- tables

この表は、mesh-ingress-gateways-route-tablesリソースの権限およびAPIを示しています。

表のセル内のプラス記号(+)は、前のセルと比較して増分アクセスを示します。

例:
allow group IngressGatewayManagers to manage mesh-ingress-gateway-route-tables in compartment B
このポリシーでは、IngressGatewayReadersグループのユーザーがinspectreaduseおよびmanageの操作を実行します。
  • inspectに対して許可される操作: ListIngressGatewayRouteTablesは、特定のイングレス・ゲートウェイのイングレス・ゲートウェイ・ルート表をリストします。
  • readに対して許可される操作: GetIngressGatewayRouteTable。特定のイングレス・ゲートウェイ・ルート表の詳細を取得します。
  • manageの操作を許可します: UpdateIngressGatewayRouteTable。特定のイングレス・ゲートウェイ・ルート表の詳細を更新します。ChangeIngressGatewayRouteTableCompartment。特定のイングレス・ゲートウェイ・ルート表のコンパートメントを変更します。
動詞 権限 完全にカバーされるAPI 一部カバーされるAPI
inspect MESH_INGRESS_GATEWAY​_ROUTE_TABLE_LIST ListIngressGateway​RouteTables なし
read

inspect +

MESH_INGRESS_GATEWAY​_ROUTE_TABLE_READ

inspect+

GetIngressGateway​RouteTable

なし
use

追加なし

追加なし

なし
manage

use +

MESH_INGRESS_GATEWAY​_ROUTE_TABLE_CREATE

MESH_INGRESS_GATEWAY​_ROUTE_TABLE_DELETE

MESH_INGRESS_GATEWAY​_ROUTE_TABLE_UPDATE

MESH_INGRESS_GATEWAY​_ROUTE_TABLE_MOVE

use+

UpdateIngressGateway​RouteTable

ChangeIngressGateway​RouteTableCompartment

CreateIngress​GatewayRouteTable(MESH_INGRESS​_GATEWAY_ATTACHを実行するにはuse mesh-ingress-gatewaysも必要です。)

DeleteIngress​GatewayRouteTable(MESH_INGRESS​_GATEWAY_DETACHを実行するにはuse mesh-ingress-gatewaysも必要です。)

メッシュ作業リクエスト

この表は、mesh-work-requestsリソースによって完全にカバーされる権限とAPIを示しています。

表のセル内のプラス記号(+)は、前のセルと比較して増分アクセスを示します。

例:
allow group WorkRequestReaders to read mesh-work-requests in compartment B
このポリシーを使用すると、WorkRequestReadersグループのユーザーはinspect操作とread操作の両方を実行できます。
  • inspectに対して許可される操作: ListWorkRequests。指定されたコンパートメント内の作業リクエストをリストします。
  • readに対して許可される操作: GetWorkRequest。コンパートメントB、ListWorkRequestErrorsおよびListWorkRequestLogs内の特定の作業リクエストの詳細を取得します。
動詞 権限 完全にカバーされるAPI 一部カバーされるAPI
inspect MESH_WORK​_REQUEST_LIST ListWorkRequests なし
read

inspect +

MESH_WORK​_REQUEST_READ

inspect+

GetWorkRequest

ListWorkRequestErrors

ListWorkRequestLogs

なし
use

追加なし

追加なし

なし
manage

追加なし

追加なし

なし

メッシュ アクセス ポリシー

この表は、mesh-access-policiesリソースの権限およびAPIを示しています。

表のセル内のプラス記号(+)は、前のセルと比較して増分アクセスを示します。

例:
allow group AccessPolicyReaders to read mesh-access-policies in compartment B
このポリシーを使用すると、AccessPolicyReadersグループのユーザーはinspect操作とread操作の両方を実行できます。
  • inspectに対して許可される操作: ListAccessPoliciesは、コンパートメントBのアクセス・ポリシーをリストします。
  • readに対して許可される操作: GetAccessPolicy。特定のアクセス・ポリシーの詳細を取得します。
動詞 権限 完全にカバーされるAPI 一部カバーされるAPI
inspect MESH_ACCESS​_POLICY_LIST ListAccessPolicies なし
read

inspect +

MESH_ACCESS​_POLICY_READ

inspect+

GetAccessPolicy

なし
use 追加なし

read+

なし
manage

use +

MESH_ACCESS​_POLICY_CREATE

MESH_ACCESS​_POLICY_DELETE

MESH_ACCESS​_POLICY_UPDATE

MESH_ACCESS​_POLICY_MOVE

use+

UpdateAccessPolicy

ChangeAccess​PolicyCompartment

CreateAccessPolicy (MESH_ATTACHを実行するにはuse meshesも必要です。)

DeleteAccessPolicy (MESH_DETACHを実行するにはuse meshesも必要です。)

API操作ごとに必要な権限

次の表に、サービス・メッシュAPI操作を論理的な順序で、リソース・タイプ別にグループ化して示します。

権限の詳細は、権限を参照してください。

API操作 操作の使用に必要な権限
CreateMesh SERVICE_MESH_CREATE
GetMesh SERVICE_MESH_READ
UpdateMesh SERVICE_MESH_UPDATE
DeleteMesh SERVICE_MESH_DELETE
ListMeshes SERVICE_MESH_LIST
ChangeMeshCompartment SERVICE_MESH_MOVE
CreateVirtualService MESH_VIRTUAL_SERVICE​_CREATE & MESH_ATTACH
GetVirtualService MESH_VIRTUAL_SERVICE​_READ
UpdateVirtualService MESH_VIRTUAL_SERVICE​_UPDATE
DeleteVirtualService MESH_VIRTUAL_SERVICE​_DELETE & MESH_DETACH
ListVirtualService MESH_VIRTUAL_SERVICE​_LIST
ChangeVirtualServiceCompartment MESH_VIRTUAL_SERVICE​_MOVE
GetWorkRequest MESH_WORK_REQUEST​_READ
ListWorkRequests MESH_WORK_REQUEST​_LIST
ListWorkRequestErrors MESH_WORK_REQUEST​_READ
ListWorkRequestLogs MESH_WORK_REQUEST​_READ
CreateAccessPolicy MESH_ACCESS_POLICY​_CREATE & MESH_ATTACH
GetAccessPolicy MESH_ACCESS_POLICY​_READ
UpdateAccessPolicy MESH_ACCESS_POLICY​_UPDATE
DeleteAccessPolicy MESH_ACCESS_POLICY​_DELETE & MESH_DETACH
ListAccessPolicies MESH_ACCESS_POLICY​_LIST
ChangeAccessPolicyCompartment MESH_ACCESS_POLICY​_MOVE
CreateVirtualDeployment MESH_VIRTUAL_DEPLOYMENT​_CREATE & MESH_VIRTUAL_SERVICE​_ATTACH
GetVirtualDeployment MESH_VIRTUAL_DEPLOYMENT​_READ
UpdateVirtualDeployment MESH_VIRTUAL_DEPLOYMENT​_UPDATE
DeleteVirtualDeployment MESH_VIRTUAL_DEPLOYMENT​_DELETE & MESH_VIRTUAL_SERVICE​_DETACH
ListVirtualDeployment MESH_VIRTUAL_DEPLOYMENT​_LIST
ChangeVirtual​DeploymentCompartment MESH_VIRTUAL_DEPLOYMENT​_MOVE
CreateVirtual​ServiceRouteTable MESH_VIRTUAL_SERVICE_ROUTE​_TABLE_CREATE & MESH_VIRTUAL_SERVICE​_ATTACH
GetVirtualService​RouteTable MESH_VIRTUAL_SERVICE_ROUTE​_TABLE_READ
UpdateVirtual​ServiceRouteTable MESH_VIRTUAL_SERVICE​_ROUTE_TABLE _UPDATE
DeleteVirtualServiceRouteTable MESH_VIRTUAL_SERVICE_ROUTE​_TABLE_DELETE & MESH_VIRTUAL_SERVICE​_DETACH
ListVirtualService​RouteTable MESH_VIRTUAL_SERVICE_ROUTE​_TABLE_LIST
ChangeVirtualService​RouteTableCompartment MESH_VIRTUAL_SERVICE_ROUTE​_TABLE_MOVE
CreateIngressGateway MESH_INGRESS_GATEWAY​_CREATE & MESH_ATTACH
GetIngressGateway MESH_INGRESS_GATEWAY​_READ
UpdateIngressGateway MESH_INGRESS_GATEWAY​_UPDATE
DeleteIngressGateway MESH_INGRESS_GATEWAY​_DELETE & MESH_DETACH
ListIngressGateways MESH_INGRESS_GATEWAY​_LIST
ChangeIngress​GatewayCompartment MESH_INGRESS_GATEWAY​_MOVE
CreateIngress​GatewayRouteTable MESH_INGRESS_GATEWAY_ROUTE​_TABLE_CREATE & MESH_INGRESS_GATEWAY​_ATTACH
GetIngressGateway​RouteTable MESH_INGRESS_GATEWAY_ROUTE​_TABLE_READ
UpdateIngress​GatewayRouteTable MESH_INGRESS_GATEWAY_ROUTE​_TABLE_UPDATE
DeleteIngress​GatewayRouteTable MESH_INGRESS_GATEWAY_ROUTE​_TABLE_DELETE & MESH_INGRESS_GATEWAY​_DETACH
ListIngressGatewayRouteTables MESH_INGRESS_GATEWAY_ROUTE​_TABLE_LIST
ChangeIngressGateway​RouteTableCompartment MESH_INGRESS_GATEWAY_ROUTE​_TABLE_MOVE
GetVirtualDeployment​ProxyBootstrapConfig MESH_VIRTUAL_DEPLOYMENT_PROXY​_CONFIG_READ
GetIngressGateway​ProxyBootstrapConfig MESH_INGRESS_GATEWAY_PROXY​_CONFIG_READ
GetProxyVersion MESH_PROXY_DETAILS_READ
StreamXDS MESH_VIRTUAL_DEPLOYMENT_PROXY​_CONFIG_READ | MESH_INGRESS_GATEWAY_PROXY​_CONFIG_READ

サポートされている変数

サービス・メッシュは、すべての一般的な変数とここにリストされている変数をサポートします。

Oracle Cloud Infrastructureサービスでサポートされる一般的な変数の詳細は、すべてのリクエストの一般的な変数を参照してください。

変数 変数タイプ
target.mesh.id OCID
target.ingressgateway.id OCID
target.virtualservice.id OCID

ポリシーの例

例を使用して、サービス・メッシュIAMポリシーについて説明します。

  • グループMeshAdminsのユーザーが、コンパートメントsales-app内のすべてのサービス・メッシュ・リソースに対してすべての操作を実行することを許可します:

    allow group MeshAdmins to manage service-mesh-family in compartment sales-app
  • VirtualServiceManagersグループは、仮想サービス・ルート表の作成、削除および更新など、メッシュ仮想サービスに対する管理操作を実行できます。

    allow group VirtualServiceManagers to use meshes in compartment sales-app
    allow group VirtualServiceManagers to manage mesh-virtual-services in compartment sales-app
    allow group VirtualServiceManagers to manage mesh-virtual-service-route-tables in compartment sales-app