OCIキャッシュIAMポリシー

OCIキャッシュに必要なIAMポリシーおよび権限の詳細について学習します。

ユーザー許可

クラスタを作成または管理するには、OCI Cacheリソースを管理し、必要なネットワーキング・リソースにアクセスする権限が必要です。

次のポリシー例では、これらの権限を ClusterAdminsグループに付与します。

Allow group ClusterAdmins to manage redis-family in compartment <USER_COMPARTMENT>
Allow group ClusterAdmins to use virtual-network-family in compartment <USER_COMPARTMENT>

これらの権限をより細かく構成できます(ポリシーの例を参照)。

リソース・タイプおよび権限

OCIキャッシュ・リソース・タイプおよび関連する権限のリスト。

すべてのOCIキャッシュ・リソースに権限を割り当てるには、redis-family集計タイプを使用します。詳細は、権限を参照してください。

次の表に、redis-familyのすべてのリソースを示します。

姓 個別リソース・タイプ
redis-family
  • redis-clusters
  • oci-cache-users
  • oci-cache-configsets
  • oci-cache-backups
  • redis-work-requests

<verb> redis-familyを使用するポリシーは、個々のリソース・タイプごとに個別の<verb> <resource-type>ステートメントでポリシーを記述することと同等です。

リソース・タイプ 権限
Redis- クラスタ
  • REDIS_CLUSTER_INSPECT
  • REDIS_CLUSTER_READ
  • REDIS_CLUSTER_USE
  • REDIS_CLUSTER_MANAGE
  • REDIS_CLUSTER_REPLICATE
oci-cache-users
  • OCI_CACHE_USER_INSPECT
  • OCI_CACHE_USER_READ
  • OCI_CACHE_USER_USE
  • OCI_CACHE_USER_MANAGE
oci-cache-configsets
  • OCI_CACHE_CONFIGSET_INSPECT
  • OCI_CACHE_CONFIGSET_READ
  • OCI_CACHE_CONFIGSET_USE
  • OCI_CACHE_CONFIGSET_MANAGE
oci-cache-backups
  • OCI_CACHE_BACKUP_INSPECT
  • OCI_CACHE_BACKUP_READ
  • OCI_CACHE_BACKUP_MANAGE
  • OCI_CACHE_BACKUP_USE
redis-workリクエスト
  • REDIS_WORK_REQUEST_INSPECT
  • REDIS_WORK_REQUEST_READ
  • REDIS_WORK_REQUEST_MANAGE

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

OCIキャッシュ・リソースの各動詞でカバーされる権限およびAPI操作を識別します。

アクセスのレベルは、inspectからread、use、manageの順に累積します。表のセルのプラス記号(+)は、前のセルと比較した場合に増分アクセスを示します。

アクセス権の付与の詳細は、権限を参照してください。

Redis- クラスタ
動詞 権限 完全に対象となるAPI 一部カバーされたAPI
inspect REDIS_CLUSTER_INSPECT ListRedisClusters なし
read

inspect+

REDIS_CLUSTER_READ

inspect+

GetRedisCluster

ListCrrMembers

なし
use

read+

REDIS_CLUSTER_USE

read+

ChangeRedisClusterCompartment

ListAttachedOciCacheUsers

AttachOciCacheUsers (OCI_CACHE_USER_USEも必要)

DetachOciCacheUsers (OCI_CACHE_USER_USEも必要)

Generate Token for OCI Cache User (OCI_CACHE_USER_USEも必要)

UpdateRedisCluster (OCI_CACHE_CONFIGSET_USEも必要)

manage

use+

REDIS_CLUSTER_MANAGE

REDIS_CLUSTER_REPLICATE

use+

DeleteRedisCluster

ConvertToSecondaryCluster

ConvertToStandaloneCluster

Switchover

CreateRedisCluster (選択したプライマリ・クラスタでOCI_CACHE_CONFIGSET_USEおよびREDIS_CLUSTER_REPLICATEも必要)

oci-cache-users
動詞 権限 完全に対象となるAPI 一部カバーされたAPI
inspect OCI_CACHE_USER_INSPECT ListOciCacheUsers なし
read

inspect+

OCI_CACHE_USER_READ

inspect+

GetOciCacheUser

なし
use

read+

OCI_CACHE_USER_USE

read+

ChangeOciCacheUserCompartment

UpdateOciCacheUser

AttachOciCacheUsers (REDIS_CLUSTER_USEも必要)

DetachOciCacheUsers (REDIS_CLUSTER_USEも必要)

Generate Token for OCI Cache User (REDIS_CLUSTER_USEも必要)

manage

use+

OCI_CACHE_USER_MANAGE

use+

CreateOciCacheUser

DeleteOciCacheUser

なし
oci-cache-configsets
動詞 権限 完全に対象となるAPI 一部カバーされたAPI
inspect OCI_CACHE_CONFIGSET_INSPECT ListOciCacheConfigSets

ListOciCacheDefaultConfigSets

なし
read

inspect+

OCI_CACHE_CONFIGSET_READ

inspect+

GetOciCacheConfigSet

GetOciCacheDefaultConfigSet

なし
use

read+

OCI_CACHE_CONFIGSET_USE

read+

ChangeOciCacheConfigSetCompartment

ListAssociatedOciCacheClusters

UpdateOciCacheConfigSet

CreateRedisCluster (REDIS_CLUSTER_MANAGEも必要)

UpdateRedisCluster (REDIS_CLUSTER_USEも必要)

manage

use+

OCI_CACHE_CONFIGSET_MANAGE

use+

CreateOciCacheConfigSet

DeleteOciCacheConfigSet

なし
oci-cache-backups
動詞 権限 完全に対象となるAPI 一部カバーされたAPI
inspect OCI_CACHE_BACKUP_INSPECT ListOciCacheBackups なし
read

inspect+

OCI_CACHE_BACKUP_READ

inspect+

GetOciCacheBackup

なし
use

read+

OCI_CACHE_BACKUP_USE

read+

ChangeOciCacheBackupCompartment

ExportOciCacheBackupToObjectStorage

UpdateOciCacheBackup

manage

use+

OCI_CACHE_BACKUP_MANAGE

use+

CreateOciCacheBackup

DeleteOciCacheBackup

なし
redis-workリクエスト
動詞 権限 全部カバーされるAPI 一部的に対象となるAPI
inspect REDIS_WORK_REQUEST_INSPECT ListWorkRequests なし
read

inspect+

REDIS_WORK_REQUEST_READ

inspect+

ListWorkRequestErrors

ListWorkRequestLogs

GetWorkRequest

なし
manage

use+

REDIS_WORK_REQUEST_MANAGE

use+

DeleteWorkRequest

なし

API操作ごとに必要な権限

次の表は、OCIキャッシュのAPI操作を論理的な順序で、リソース・タイプ別にグループ化したものです。

API操作 操作の使用に必要な権限
ListRedisClusters REDIS_CLUSTER_INSPECT
GetRedisCluster, ListCrrMembers REDIS_CLUSTER_READ
CreateRedisCluster REDIS_CLUSTER_MANAGE, OCI_CACHE_CONFIGSET_USE
ListAttachedOciCacheUsers REDIS_CLUSTER_USE
UpdateRedisCluster REDIS_CLUSTER_USE, OCI_CACHE_CONFIGSET_USE
ChangeRedisClusterCompartment REDIS_CLUSTER_USE
DeleteRedisCluster REDIS_CLUSTER_MANAGE
ListOciCacheUsers OCI_CACHE_USER_INSPECT
GetOciCacheUser OCI_CACHE_USER_READ
CreateOciCacheUser OCI_CACHE_USER_MANAGE
UpdateOciCacheUser OCI_CACHE_USER_USE
ChangeOciCacheUserCompartment OCI_CACHE_USER_USE
DeleteOciCacheUser OCI_CACHE_USER_MANAGE
AttachOciCacheUsers REDIS_CLUSTER_USE, OCI_CACHE_USER_USE
DetachOciCacheUsers REDIS_CLUSTER_USE, OCI_CACHE_USER_USE
Generate Token for OCI Cache User REDIS_CLUSTER_USE, OCI_CACHE_USER_USE
ListOciCacheConfigSets OCI_CACHE_CONFIGSET_INSPECT
GetOciCacheConfigSet OCI_CACHE_CONFIGSET_READ
CreateOciCacheConfigSet OCI_CACHE_CONFIGSET_MANAGE
UpdateOciCacheConfigSet OCI_CACHE_CONFIGSET_USE
ChangeOciCacheConfigSetCompartment OCI_CACHE_CONFIGSET_USE
DeleteOciCacheConfigSet OCI_CACHE_CONFIGSET_MANAGE
ListAssociatedOciCacheClusters OCI_CACHE_CONFIGSET_USE
ListOciCacheDefaultConfigSets OCI_CACHE_CONFIGSET_INSPECT
GetOciCacheDefaultConfigSet OCI_CACHE_CONFIGSET_READ
ListOciCacheBackups OCI_CACHE_BACKUP_INSPECT
GetOciCacheBackup OCI_CACHE_BACKUP_READ
CreateOciCacheBackup, DeleteOciCacheBackup OCI_CACHE_BACKUP_MANAGE
UpdateOciCacheBackup, ExportOciCacheBackupToObjectStorage , ChangeOciCacheBackupCompartment OCI_CACHE_BACKUP_USE
ConvertToSecondaryCluster, Switchover 両方のクラスタでREDIS_CLUSTER_REPLICATE
ConvertToStandaloneCluster セカンダリ・クラスタ上のREDIS_CLUSTER_REPLICATE
セカンダリ・クラスタ作成時のCreateRedisCluster 新しいセカンダリ・クラスタの場合はREDIS_CLUSTER_MANAGE、プライマリ・クラスタの場合はREDIS_CLUSTER_REPLICATE、選択した構成の場合はOCI_CACHE_CONFIGSET_USE
ListWorkRequests REDIS_WORK_REQUEST_INSPECT
ListWorkRequestErrors REDIS_WORK_REQUEST_READ
ListWorkRequestLogs REDIS_WORK_REQUEST_READ
GetWorkRequest REDIS_WORK_REQUEST_READ
DeleteWorkRequest REDIS_WORK_REQUEST_MANAGE

ポリシーの例

次のポリシー・ステートメントを使用すると、グループClusterAdminsでOCIキャッシュ・リソースを使用および管理できます。

  • VCNs、コンパートメントおよびサブネットへの使用専用アクセスのみを許可します。
    • Allow group ClusterAdmins to use compartments in tenancy
    • Allow group ClusterAdmins to use vcns in compartment <USER_NETWORK_COMPARTMENT_NAME>
    • Allow group ClusterAdmins to use subnet in compartment <USER_NETWORK_COMPARTMENT_NAME>
    • Allow group ClusterAdmins to use network-security-groups in compartment <USER_NETWORK_COMPARTMENT_NAME>
    • Allow group ClusterAdmins to use vcns in compartment <USER_ENGINEERING_COMPARTMENT_NAME>
    ノート

    VCNsはネットワーク・コンパートメントにあり、クラスタはエンジニアリング・コンパートメントにあります。
  • エンジニアリング・コンパートメント内のVNICへの使用専用アクセスを許可します。たとえば:

    Allow group ClusterAdmins to use VNICs in compartment <USER_ENGINEERING_COMPARTMENT_NAME>
  • プライベート・エンドポイントを作成または更新する権限の管理を許可します。たとえば:
    • Allow group ClusterAdmins to manage redis-family in compartment <USER_ENGINEERING_COMPARTMENT_NAME>
    • Allow group ClusterAdmins to manage redis-work-requests in compartment <USER_ENGINEERING_COMPARTMENT_NAME>
    • Allow group ClusterAdmins to manage vcns in compartment <USER_NETWORK_COMPARTMENT_NAME> where ALL{ ANY
      { request.operation = 'CreatePrivateEndpoint', request.operation = 'UpdatePrivateEndpoint', request.operation ='DeletePrivateEndpoint', request.operation = 'EnableReverseConnection', request.operation = 'ModifyReverseConnection', request.operation = 'DisableReverseConnection' }
      , ANY {request.operation = 'CreateRedisCluster', request.operation = 'DeleteRedisCluster' , request.operation = 'UpdateRedisCluster' } }
  • (オプション)Redisポートのトラフィックを許可します。たとえば:

    Allow group ClusterAdmins to manage security-lists in compartment <USER_NETWORK_COMPARTMENT_NAME> where ANY
    { request.operation = 'CreateRedisCluster', request.operation = 'DeleteRedisCluster' , request.operation = 'UpdateRedisCluster' }
    ノート

    ポリシーが指定されていない場合は、セキュリティ・ルールを追加し、ポート6379のTCPトラフィックを許可する必要があります。

次のポリシー・ステートメントを使用すると、グループClusterUsersはクラスタを使用できますが、他のアクセスは制限されます。

Allow group ClusterUsers to use redis-clusters in compartment <USER_COMPARTMENT>

次のポリシー・ステートメントを使用すると、グループCacheUsersでOCIキャッシュ・ユーザーを使用できます:

Allow group CacheUsers to use oci-cache-users in compartment <USER_COMPARTMENT>

次のポリシー・ステートメントでは、プライベート・エンドポイントをアタッチおよびデタッチするための管理権限が許可されます:

Allow group ClusterAdmins to manage vcns in compartment <USER_NETWORK_COMPARTMENT_NAME> where ALL{ ANY
{ request.operation = 'CreatePrivateEndpoint', request.operation = 'UpdatePrivateEndpoint', request.operation ='DeletePrivateEndpoint', request.operation = 'EnableReverseConnection', request.operation = 'ModifyReverseConnection', request.operation = 'DisableReverseConnection' }
, ANY {request.operation = 'CreateRedisCluster', request.operation = 'DeleteRedisCluster' , request.operation = 'UpdateRedisCluster', request.operation = 'AttachOciCacheUsers', request.operation = 'DetachOciCacheUsers' } }

次のポリシー・ステートメントは、Redisポートのトラフィックにアタッチおよびデタッチを許可します。

Allow group ClusterAdmins to manage security-lists in compartment <USER_NETWORK_COMPARTMENT_NAME> where ANY
{ request.operation = 'CreateRedisCluster', request.operation = 'DeleteRedisCluster' , request.operation = 'UpdateRedisCluster',  request.operation = 'AttachOciCacheUsers', request.operation = 'DetachOciCacheUsers'}

次のポリシー・ステートメントを使用すると、グループClusterConfigでOCIキャッシュ構成を使用できます:

Allow group ClusterConfig to use oci-cache-configsets in compartment <USER_COMPARTMENT>

次のポリシー・ステートメントを使用すると、グループSecurityAdminsのユーザーは、テナンシ全体のすべてのZero Trust Packet Routingポリシーを作成、更新および削除できます:

Allow group SecurityAdmins to manage zpr-configuration in tenancy
Allow group SecurityAdmins to manage security-attribute-namespace in tenancy
Allow group SecurityAdmins to manage zpr-policy in tenancy

次のポリシー・ステートメントにより、グループcluster-adminは、Zero Trust Packet Routingポリシーのセキュリティ属性ネームスペースcache-applicationsのみを管理できます。

Allow group cluster-admin to manage security-attribute-namespace where target.security-attribute-namespace.name = 'cache-applications'

次のポリシー・ステートメントでは、バックアップを作成する管理権限が許可されます。次に例を示します。

Allow group CacheBackupUsers to manage redis-family in compartment <USER_COMPARTMENT>

次のポリシー・ステートメントは、OCIキャッシュ・バックアップのエクスポートおよびインポート操作のオブジェクト・ストレージ・リソースを管理する権限を提供します。

  • 次のポリシーは、バックアップのエクスポートおよびインポート操作のために、OCIキャッシュ・サービスおよびオブジェクト・ストレージ・サービスへのアクセスを特定のバケットに付与します:
    Allow service redis-service to manage object-family in compartment <USER_COMPARTMENT> where target.bucket.name='<USER_BUCKET>'
    Allow any-user to manage object-family in compartment <USER_COMPARTMENT> where all { request.principal.type = 'service', request.service.name = /objectstorage-*/, target.bucket.name = '<USER_BUCKET>' }
  • 次のポリシーは、OCIキャッシュ・サービスおよびオブジェクト・ストレージ・サービスに、OCIキャッシュ・バックアップ操作など、コンパートメント内のすべてのオブジェクト・ストレージ・リソースへの幅広いアクセス権を付与します:
    Allow service redis-service to manage object-family in compartment <USER_COMPARTMENT>
    Allow any-user to manage object-family in compartment <USER_COMPARTMENT> where all { request.principal.type = 'service', request.service.name = /objectstorage-*/ }

次のポリシー・ステートメントにより、CrossRegionReplicationAdminsグループは異なるコンパートメント内のクラスタでリージョン間レプリケーション操作を実行できます:

Allow group CrossRegionReplicationAdmins to manage redis-clusters in compartment <PRIMARY_CLUSTER_COMPARTMENT>
                        Allow group CrossRegionReplicationAdmins to manage redis-clusters in compartment <SECONDARY_CLUSTER_COMPARTMENT>

IAMポリシーは、OCIリージョンにスコープ設定されません。プライマリ・クラスタとセカンダリ・クラスタが同じコンパートメントにある場合、1つのコンパートメント・レベル・ポリシーが両方のクラスタに適用されます。クラスタが異なるコンパートメントにある場合は、両方のコンパートメントで必要な権限を付与します。

ノート

クロスリージョン・レプリケーション操作では、両方の参加クラスタを変更できます。グループは、プライマリクラスタとセカンダリクラスタの両方に対して必要なアクセス権を持っている必要があります。

次のポリシー・ステートメントにより、グループCrossRegionReplicationAdminsはテナンシ全体でOCI Cacheクラスタを管理できます:

Allow group CrossRegionReplicationAdmins to manage redis-clusters in tenancy
注意

このポリシーは、テナンシ内のすべてのOCI Cacheクラスタを管理する権限をグループに付与します。可能な場合は、コンパートメント・レベルでアクセス権を付与します。

次のポリシー・ステートメントにより、グループCrossRegionReplicationAdminsは、両方のクラスタが同じコンパートメントにある場合にリージョン間レプリケーションを管理できます:

Allow group CrossRegionReplicationAdmins to manage redis-clusters in compartment <CLUSTER_COMPARTMENT>
ノート

manage動詞は、クラスタを作成、更新、削除およびレプリケートする権限など、redis-clustersに関連付けられたすべての権限を付与します。

クラスタをセカンダリ・クラスタとして作成するには、選択した構成、VCN、サブネットおよびネットワーク・セキュリティ・グループへのアクセスなど、OCI Cacheクラスタの作成に必要な権限も付与します。

ノート

OCI Cacheは、レプリケーションに使用されるプライベート・リージョン間の接続を管理します。リージョン間レプリケーション用にリモート・ピアリング接続を作成する権限は必要ありません。

ポリシーを初めて使用する場合は、ポリシーの開始および共通ポリシーを参照してください。