PostgreSQLを使用したOCIデータベースのポリシー

Use the Oracle Cloud Infrastructure Identity and Access Management (IAM) service to create policies  for OCI Database with PostgreSQL resources.

このトピックでは、OCI Database with PostgreSQLサービスへのアクセスを制御するポリシーの書込みの詳細を説明します。詳細は、ポリシーの開始を参照してください。

ポリシー構文の概要

ポリシー・ステートメント全体の構文:

allow <subject> to <verb> <resource-type> in <location> where <condition>

たとえば、次のように指定できます。

  • <subject>として、グループまたは動的グループの名前またはOCID。または、any-userを使用して、テナンシ内のすべてのユーザーを含めることができます。

  • <subject>に1つ以上の権限のアクセス権を付与するため、<verb> として、inspectreaduseおよびmanage

    inspectreadusemanageと進むに連れて、アクセス権のレベルは一般に高くなり、付与される権限は累積されます。たとえば、useには、readに加えて更新する権限が含まれます。

  • resource-typeにはリソースのファミリ(virtual-network-familyなど)。または、vcnssubnetsなど、ファミリ内の個々のリソースを指定できます。

  • <location>として、コンパートメントの名前またはOCID。または、tenancyを使用して、テナンシ全体を含めることができます。

ポリシーの作成の詳細は、ポリシーの開始およびポリシー参照を参照してください。

リソース・タイプ

OCI Database with PostgreSQLリソースへのアクセス権をユーザーに付与するには、OCI Database with PostgreSQLリソース・タイプを使用してIAMポリシーを作成します。

OCI Database with PostgreSQLリソースにアクセスするには、次の各リソース・タイプを使用します:

  • postgres-dbシステム
  • ポストグル・バックアップ
  • 設定後
  • postgres-work-requests

詳細は、ポリシーの例を参照してください。

サポートされている変数

OCI Database with PostgreSQLサービスでは、すべての一般的な変数がサポートされます。

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

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

様々なOracle Cloud Infrastructure動詞およびリソース・タイプを使用して、ポリシーを作成できます。

次の表に、OCI Database with PostgreSQLの各動詞でカバーされている権限およびAPI操作を示します。アクセスのレベルは、inspectからreadusemanageの順に累積します。表セル内のプラス記号(+)は、その直前のセルと比較して増分アクセスを示しますが、「余分なし」は増分アクセスを示しません。

postgres-dbシステム
動詞 権限 完全にカバーされるAPI 部分的にカバーされるAPI
検査する

POSTGRES_DB_SYSTEM_INSPECT

ListDbSystems

指定しない

読取り

調査+

POSTGRES_DB_SYSTEM_READ

調査+

GetDbSystem

GetConnectionDetails

GetManagementPolicy

GetPrimaryDbInstance

指定しない

使用

読取り+

POSTGRES_DB_SYSTEM_UPDATE

POSTGRES_DB_SYSTEM_RESTART

読取り+

UpdateDbSystem

UpdateManagementPolicy

FailoverDbSystem

RestoreDbSystem

ResetMasterUserPassword

UpdateDbSystemDbInstance

RestartDbInstanceInDbSystem

GetConfiguration

GetBackup

管理

USE +

POSTGRES_DB_SYSTEM_CREATE

POSTGRES_DB_SYSTEM_DELETE

POSTGRES_DB_SYSTEM_MOVE

USE +

CreateDbsystem

DeleteDbSystem

ChangeDbSystemCompartment

GetConfiguration

GetBackup

ポストグル・バックアップ
動詞 権限 完全にカバーされるAPI 部分的にカバーされるAPI
検査する

POSTGRES_BACKUP_INSPECT

ListBackups

指定しない

読取り

調査+

POSTGRES_BACKUP_READ

調査+

GetBackup

なし

使用

読み取り+

POSTGRES_BACKUP_UPDATE

読み取り+

UpdateBackup

なし

管理

使用+

POSTGRES_BACKUP_CREATE

POSTGRES_BACKUP_DELETE

POSTGRES_BACKUP_MOVE

使用+

CreateBackup

DeleteBackup

ChangeDbBackupCompartment

GetDbSystem

設定後
動詞 権限 完全にカバーされるAPI 部分的にカバーされるAPI
検査する

POSTGRES_CONFIGURATION_INSPECT

ListConfigurations

なし

読取り

調査+

POSTGRES_CONFIGURATION_READ

調査+

GetConfiguration

なし

使用

読み取り+

POSTGRES_CONFIGURATION_UPDATE

読み取り+

UpdateConfiguration

なし

管理

使用+

POSTGRES_CONFIGURATION_CREATE

POSTGRES_CONFIGURATION_DELETE

POSTGRES_CONFIGURATION_MOVE

使用+

CreateConfiguration

DeleteConfiguration

ChangeConfigurationCompartment

指定しない

postgres-work-requests
動詞 権限 完全にカバーされるAPI 部分的にカバーされるAPI
検査する

POSTGRES_WORK_REQUEST_INSPECT

ListWorkRequests

ListWorkRequestErrors

ListWorkRequestLogs

指定しない

読取り

調査+

POSTGRES_WORK_REQUEST_READ

調査+

GetWorkRequest

指定しない

API操作ごとに必要な権限

次の表に、OCI Database with PostgreSQLのAPI操作を、リソース・タイプ別にグループ化して論理的な順序で示します。

リソース・タイプは、postgres-db-systemspostgres-backupspostgres-configurationsおよびpostgres-work-requestsです。

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

必要な権限
API操作 操作の使用に必要な権限
ListDbSystems POSTGRES_DB_SYSTEM_INSPECT
GetDbSystem POSTGRES_DB_SYSTEM_READ
CreateDbsystem POSTGRES_DB_SYSTEM_CREATE
UpdateDbSystem POSTGRES_DB_SYSTEM_UPDATE
DeleteDbSystem POSTGRES_DB_SYSTEM_DELETE
GetConnectionDetails POSTGRES_DB_SYSTEM_READ
GetManagementPolicy POSTGRES_DB_SYSTEM_READ
CreateManagementPolicy POSTGRES_DB_SYSTEM_CREATE
UpdateManagementPolicy POSTGRES_DB_SYSTEM_UPDATE
DeleteManagementPolicy POSTGRES_DB_SYSTEM_DELETE
ChangeDbSystemCompartment POSTGRES_DB_SYSTEM_MOVE
FailoverDbSystem POSTGRES_DB_SYSTEM_UPDATE
RestartDbSystem POSTGRES_DB_SYSTEM_RESTART
ListShapes ありません。認証されたユーザーは、シェイプをリストできます。
ListBackups POSTGRES_BACKUP_INSPECT
GetBackup POSTGRES_BACKUP_READ
CreateBackup POSTGRES_BACKUP_CREATE
UpdateBackup POSTGRES_BACKUP_UPDATE
DeleteBackup POSTGRES_BACKUP_DELETE
ChangeDbBackupCompartment POSTGRES_BACKUP_MOVE
ListConfigurations POSTGRES_CONFIGURATION_INSPECT
GetConfiguration POSTGRES_CONFIGURATION_READ
CreateConfiguration POSTGRES_CONFIGURATION_CREATE
UpdateConfiguration POSTGRES_CONFIGURATION_UPDATE
DeleteConfiguration POSTGRES_CONFIGURATION_DELETE
ChangeConfigurationCompartment POSTGRES_CONFIGURATION_MOVE
ListWorkRequests POSTGRES_WORK_REQUEST_INSPECT
GetWorkRequest POSTGRES_WORK_REQUEST_READ
ListWorkRequestErrors POSTGRES_WORK_REQUEST_READ
ListWorkRequestLogs POSTGRES_WORK_REQUEST_READ

ポリシーの例

次のポリシー・ステートメントにより、管理者のグループは、指定されたコンパートメント内のOCI Database with PostgreSQLリソースを管理できます:

Allow group <postgresql-admin-group> to manage postgres-db-systems in compartment <database_compartment>
Allow group <postgresql-admin-group> to manage postgres-backups in compartment <database_compartment>
Allow group <postgresql-admin-group> to manage postgres-configurations in compartment <database_compartment>
Allow group <postgresql-admin-group> to read postgres-work-requests in compartment <database_compartment>

次のポリシー・ステートメントにより、グループはテナンシ内の追加の関連リソースを管理できます:

Allow group <postgresql-admin-group> to read compartments in tenancy
Allow group <postgresql-admin-group> to manage virtual-network-family in tenancy
Allow group <postgresql-admin-group> to read secret-family in tenancy
Allow group <postgresql-admin-group> to read vaults in tenancy
Allow group <postgresql-admin-group> to read metrics in tenancy
Allow group <postgresql-admin-group> to use tag-namespaces in tenancy

次の文を使用すると、ユーザーのグループはデータベースを使用できます。つまり、既存のデータベースを更新または削除できますが、データベースの作成や削除はできません。

Allow group <postgresql-user-group> to use postgres-db-systems in compartment <database_compartment>