PostgreSQLポリシーを使用したOCIデータベース
Oracle Cloud Infrastructure Identity and Access Management (IAM)サービスを使用して、PostgreSQLリソースを含むOCIデータベースのポリシーを作成します。
このトピックでは、PostgreSQLサービスでOCIデータベースへのアクセスを制御するポリシーの書込みの詳細を説明します。詳細は、ポリシーの開始を参照してください。
ポリシー構文の概要
ポリシー・ステートメント全体の構文:
allow <subject> to <verb> <resource-type> in <location> where <condition>
たとえば、次のように指定できます。
-
<subject>
として、グループまたは動的グループの名前またはOCID。または、any-user
を使用して、テナンシ内のすべてのユーザーを含めることができます。 -
<subject>
に1つ以上の権限のアクセス権を付与するため、<verb>
として、inspect
、read
、use
およびmanage
。inspect
、read
、use
、manage
と進むに連れて、アクセス権のレベルは一般に高くなり、付与される権限は累積されます。たとえば、use
には、read
に加えて更新する権限が含まれます。 -
resource-type
にはリソースのファミリ(virtual-network-family
など)。または、vcns
やsubnets
など、ファミリ内の個々のリソースを指定できます。 -
<location>
として、コンパートメントの名前またはOCID。または、tenancy
を使用して、テナンシ全体を含めることができます。
リソース・タイプ
PostgreSQLリソースを使用してOCIデータベースへのアクセス権をユーザーに付与するには、PostgreSQLリソース・タイプを使用してOCIデータベースでIAMポリシーを作成します。
PostgreSQLリソースを使用してOCIデータベースにアクセスするには、次の各リソース・タイプを使用します:
- postgres-dbシステム
- ポストグル・バックアップ
- 設定後
- postgres-work-requests
詳細は、ポリシーの例を参照してください。
サポートされている変数
PostgreSQLサービスのOCIデータベースでは、すべての一般的な変数がサポートされます。
OCIサービスでサポートされる一般的な変数の詳細は、すべてのリクエストの一般的な変数を参照してください。
動詞+リソース・タイプの組合せの詳細
様々なOracle Cloud Infrastructure動詞とリソース・タイプを使用して、ポリシーを作成できます。
次の表に、PostgreSQLを使用してOCIデータベースの各動詞でカバーされている権限およびAPI操作を示します。アクセスのレベルは、inspect
からread
、use
、manage
の順に累積します。表セル内のプラス記号(+)
は、その直前のセルと比較して増分アクセスを示しますが、「余分なし」は増分アクセスを示しません。
動詞 | 権限 | 完全にカバーされるAPI | 部分的にカバーされるAPI |
---|---|---|---|
検査する |
POSTGRES_DB_SYSTEM_INSPECT |
|
指定しない |
読取り |
調査+ POSTGRES_DB_SYSTEM_READ |
調査+
|
指定しない |
使用 |
読取り+ POSTGRES_DB_SYSTEM_UPDATE POSTGRES_DB_SYSTEM_RESTART |
読取り+
|
|
管理 |
USE + POSTGRES_DB_SYSTEM_CREATE POSTGRES_DB_SYSTEM_DELETE POSTGRES_DB_SYSTEM_MOVE |
USE +
|
|
動詞 | 権限 | 完全にカバーされるAPI | 部分的にカバーされるAPI |
---|---|---|---|
検査する |
POSTGRES_BACKUP_INSPECT |
|
指定しない |
読取り |
調査+ POSTGRES_BACKUP_READ |
調査+
|
なし |
使用 |
読み取り+ POSTGRES_BACKUP_UPDATE |
読み取り+
|
なし |
管理 |
使用+ POSTGRES_BACKUP_CREATE POSTGRES_BACKUP_DELETE POSTGRES_BACKUP_MOVE POSTGRES_BACKUP_COPY |
使用+
|
|
動詞 | 権限 | 完全にカバーされるAPI | 部分的にカバーされるAPI |
---|---|---|---|
検査する |
POSTGRES_CONFIGURATION_INSPECT |
|
なし |
読取り |
調査+ POSTGRES_CONFIGURATION_READ |
調査+
|
なし |
使用 |
読み取り+ POSTGRES_CONFIGURATION_UPDATE |
読み取り+
|
なし |
管理 |
使用+ POSTGRES_CONFIGURATION_CREATE POSTGRES_CONFIGURATION_DELETE POSTGRES_CONFIGURATION_MOVE |
使用+
|
指定しない |
動詞 | 権限 | 完全にカバーされるAPI | 部分的にカバーされるAPI |
---|---|---|---|
検査する |
POSTGRES_WORK_REQUEST_INSPECT |
|
指定しない |
読取り |
調査+ POSTGRES_WORK_REQUEST_READ |
調査+
|
指定しない |
API操作ごとに必要な権限
次の表に、PostgreSQLを含むOCIデータベースのAPI操作を、リソース・タイプ別にグループ化して論理的な順序で示します。
リソース・タイプは、postgres-db-systems
、postgres-backups
、postgres-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 |
BackupCopy |
POSTGRES_BACKUP_COPY |
ChangeBackupCompartment |
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 |
ポリシーの例
次のポリシー・ステートメントを使用すると、管理者のグループは、PostgreSQLデータベース・システムでOCIデータベースを管理できます:
Allow group <postgresql-admin-group> to read compartments in tenancy
Allow group <postgresql-admin-group> to manage postgres-db-systems in [ tenancy | compartment <compartment_name> | compartment id <compartment_OCID> ]
Allow group <postgresql-admin-group> to manage postgres-backups in [ tenancy | compartment <compartment_name> | compartment id <compartment_OCID> ]
Allow group <postgresql-admin-group> to read postgres-work-requests in [ tenancy | compartment <compartment_name> | compartment id <compartment_OCID> ]
Allow group <postgresql-admin-group> to manage postgres-configuration in [ tenancy | compartment <compartment_name> | compartment id <compartment_OCID> ]
Allow group <postgresql-admin-group> to manage virtual-network-family in [ tenancy | compartment <compartment_name> | compartment id <compartment_OCID> ]
Allow group <postgresql-admin-group> to read secret-family in [ tenancy | compartment <compartment_name> | compartment id <compartment_OCID> ]
Allow group <postgresql-admin-group> to read vaults in [ tenancy | compartment <compartment_name> | compartment id <compartment_OCID> ]
Allow group <postgresql-admin-group> to read metrics in [ tenancy | compartment <compartment_name> | compartment id <compartment_OCID> ]
Allow group <postgresql-admin-group> to use tag-namespaces in tenancy
次のポリシー・ステートメントを使用すると、管理者のグループは、PostgreSQLデータベース・バックアップを使用してOCIデータベースを管理できます:
Allow group <postgresql-admin-group> to read compartments in tenancy
Allow group <postgresql-admin-group> to manage postgres-backups in [ tenancy | compartment <compartment_name> | compartment id <compartment_OCID> ]
Allow group <postgresql-admin-group> to read postgres-db-systems in [ tenancy | compartment <compartment_name> | compartment id <compartment_OCID> ]
Allow group <postgresql-admin-group> to use tag-namespaces in tenancy
次のポリシー・ステートメントを使用すると、管理者のグループがPostgreSQLデータベース構成でOCIデータベースを管理できます:
Allow group <postgresql-admin-group> to read compartments in tenancy
Allow group <postgresql-admin-group> to manage postgres-configuration in [ tenancy | compartment <compartment_name> | compartment id <compartment_OCID> ]
Allow group <postgresql-admin-group> to use tag-namespaces in tenancy
次のポリシー・ステートメントを使用すると、管理者のグループは、指定されたコンパートメント内のPostgreSQLリソースを使用してOCIデータベースを管理できます:
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-user-group> to use postgres-db-systems in compartment <database_compartment>