Oracle Cloud Infrastructure GoldenGateポリシー
Oracle Cloud Infrastructure GoldenGateへのアクセスと各ユーザー・グループのアクセス権のタイプを制御するには、ポリシーを作成する必要があります。
たとえば、メンバーがすべてのOCI GoldenGateリソースにアクセスできる管理者グループを作成できます。その後、OCI GoldenGateに関係するすべてのユーザーについて個別のグループを作成し、異なるコンパートメントのOCI GoldenGateリソースへのアクセスを制限するポリシーを作成できます。
Oracle Cloud Infrastructureポリシーの完全なリストは、ポリシー・リファレンスを参照してください。
ポリシーの作成
ポリシーでは、グループのメンバーが実行できるアクションとそのコンパートメントを定義します。
Oracle Cloudコンソールを使用してポリシーを作成します。Oracle Cloudコンソールのナビゲーション・メニューで、「アイデンティティとセキュリティ」、「アイデンティティ」の順に選択し、「ポリシー」を選択します。ポリシーは次の構文で記述されます:
allow group <identity-domain>/<group-name> to <verb> <resource-type> in <location> where <condition>
パラメータの定義は次のとおりです。
-
<identity-domain>: (オプション)アイデンティティ管理にOCI IAMを使用する場合は、ユーザー・グループのアイデンティティ・ドメインを含めます。省略すると、OCIではデフォルト・ドメインが使用されます。 -
<group-name>: 権限を付与するユーザー・グループの名前 -
<verb>: リソース・タイプへの特定のレベルのアクセス権をグループに付与します。動詞がinspect、read、use、manageと進むにつれて、アクセス権のレベルが高くなり、付与された権限は累積します。権限と動詞の関係についてさらに学習します。
-
<resource-type>: 付与するグループ権限で作業できるリソースのタイプ。goldengate-deployments、goldengate-pipelines、goldengate-connectionsなどの個別のリソースがあり、goldengate-family(前述した個々のリソースを含む)などのリソース詳細は、リソース・タイプを参照してください。
-
<location>: ポリシーをコンパートメントまたはテナンシにアタッチします。名前またはOCIDで単一のコンパートメントまたはコンパートメント・パスを指定するか、tenancyを指定してテナンシ全体を対象とします。 -
<condition>: オプション。このポリシーが適用される1つ以上の条件。
ポリシー構文の詳細を参照してください。
ポリシーの作成方法
ポリシーを作成するには:
-
Oracle Cloudのナビゲーション・メニューで、「アイデンティティとセキュリティ」を選択し、「識別」で「ポリシー」を選択します。
-
ポリシー・ページで、「ポリシーの作成」を選択します。
-
ポリシーの作成ページで、ポリシーの名前および説明を入力します。
-
このポリシーを作成するコンパートメントを選択します。
-
「ポリシー・ビルダー」セクションでは、次のいずれかを実行できます。
-
「ポリシー・ユース・ケース」ドロップダウンから「GoldenGateサービス」を選択し、ユーザーがGoldenGateリソースを管理できるようにするために必要なポリシーなどの共通ポリシー・テンプレートを選択します。
-
次のフォーマットでポリシー・ルールを入力するには、「手動エディタの表示」を選択します:
allow <subject> to <verb> <resource-type> in <location> where <condition>条件はオプションです。動詞+リソース・タイプの組合せの詳細を参照してください。
ヒント:詳細は、「最小推奨ポリシー」を参照してください。
-
-
「作成」を選択します。
ポリシーの詳細は、ポリシーの仕組み、ポリシー構文およびポリシー・リファレンスを参照してください。
最小限の推奨ポリシー
ヒント:
共通ポリシー・テンプレートを使用して必要なすべてのポリシーを追加するには:
-
「ポリシーのユース・ケース」で、ドロップダウンから「GoldenGateサービス」を選択します。
-
「共通使用テンプレート」で、ドロップダウンから「ユーザーがGoldenGateリソースを管理できるようにするために必要なポリシー」を選択します。
少なくとも、次のポリシーが必要です:
-
ユーザーがGoldenGateリソースを使用または管理することを許可し、ユーザーがデプロイメントおよび接続を操作できるようにします。たとえば:
allow group <identity-domain>/<group-name> to manage goldengate-family in <location> -
ユーザーにネットワーク・リソースを管理することを許可し、ユーザーがGoldenGoldenGateリソースの作成時にコンパートメントとサブネットを表示および選択し、プライベート・エンドポイントを作成および削除できるようにします。たとえば:
allow group <identity-domain>/<group-name> to manage virtual-network-family in <location>ノート:
-
専用エンドポイントを使用してデプロイメントまたは接続を作成する場合、選択したサブネットに1つ以上のIPが割り当てられます。サービスでネットワーク・リソースを作成できるようにするには、サブネットとデプロイメントまたは接続のコンパートメントの両方で、必要なネットワーク・アクセス権限を指定する必要があります。
-
同様に、専用エンドポイントを使用してデプロイメントまたは接続を削除し、サービスがネットワーク・リソースを削除できるようにする場合は、適切なネットワーク・アクセス権限が必要です。
オプションで、粒度の細かいポリシーの組合せを使用して、ネットワーク・リソースをさらに保護できます。ネットワーク・リソースを保護するためのポリシーの例を参照してください。
-
-
動的グループの作成: 定義済ルールに基づいてリソースに権限を付与し、GoldenGateデプロイメントまたはパイプライン(あるいはその両方)がテナンシのリソースにアクセスできるようにします。
<dynamic-group-name>は、選択した名前に置き換えます。たとえば、異なるコンパートメントまたはテナンシにわたるデプロイメントの権限を制御するために、必要な数の動的グループを作成できます。name: <dynamic-group-name> Matching rule: ALL {resource.type = 'goldengatedeployment', resource.compartment.id = '<location>'}ヒント:このリストの後に続くポリシーは、
<dynamic-group-name>を参照してください。複数の動的グループを作成する場合は、後続のポリシーを追加するときに、正しい動的グループ名を参照するようにしてください。 -
パスワード・シークレットで接続を使用する場合は、接続に割り当てているデプロイメントが、接続のパスワード・シークレットにアクセスできる必要があります。ポリシーをコンパートメントまたはテナンシに追加していることを確認します:
allow dynamic-group <identity-domain>/<dynamic-group-name> to read secret-bundles in <location> -
IAM対応テナンシでの検証のためにIdentity and Access Management (IAM)ユーザーおよびグループを読み取ることをユーザーに許可します:
allow service goldengate to {idcs_user_viewer, domain_resources_viewer} in <location>allow dynamic-group <identity-domain>/<dynamic-group-name> to {idcs_user_viewer, domain_resources_viewer} in <location> -
Oracle Vaultでお客様が管理する暗号化キーとパスワード・シークレットにアクセスします。たとえば:
allow group <identity-domain>/<group-name> to manage secret-family in <location> allow group <identity-domain>/<group-name> to use keys in <location> allow group <identity-domain>/<group-name> to use vaults in <location> allow dynamic-group <identity-domain>/<dynamic-group-name> to use keys in <location> allow dynamic-group <identity-domain>/<dynamic-group-name> to use vaults in <location> allow dynamic-group <identity-domain>/<dynamic-group-name> to read secret-bundles in <location>
次のサービスを使用するかどうかに応じて、次のポリシーの追加が必要になる場合があります:
-
ソース・データベースまたはターゲット・データベース(あるいはその両方)用のOracle AIデータベース。たとえば:
allow group <identity-domain>/<group-name> to read database-family in <location>allow group <identity-domain>/<group-name> to read autonomous-database-family in <location> -
手動のOCI GoldenGateバックアップを格納するためのOracle Object Storage。たとえば:
allow group <identity-domain>/<group-name> to manage objects in <location> allow dynamic-group <identity-domain>/<dynamic-group-name> to manage objects in <location> where target.bucket.name = '<bucket-name>' allow group <identity-domain>/<group-name> to inspect buckets in <location> -
ログ・グループにアクセスするためのOCIロギング。たとえば:
allow group <identity-domain>/<group-name> to read log-groups in <location> allow group <identity-domain>/<group-name> to read log-content in <location> -
ロード・バランサ(デプロイメント・コンソールへのパブリック・アクセスを有効にした場合):
allow group <identity-domain>/<group-name> to manage load-balancers in <location> allow group <identity-domain>/<group-name> to manage public-ips in <location> allow group <identity-domain>/<group-name> to manage network-security-groups in <location> allow group <identity-domain>/<group-name> to manage vcns in <location> where ANY {request.operation = 'CreateNetworkSecurityGroup', request.operation = 'DeleteNetworkSecurityGroup'} -
作業リクエスト:
allow group <identity-domain>/<group-name> to inspect work-requests in <location> -
Zero Trust Packet Routing (ZPR)。接続およびパブリック・デプロイメントへのアクセスを制御するためにVCNまたはロード・バランサ(あるいはその両方)にセキュリティ属性を追加した場合にのみ必要です。ロード・バランサとプライベート・エンドポイント間のロード・バランサおよびトラフィック・フローへのパブリック・インターネット・トラフィックを許可するには、次のポリシーを追加します:
-
VCNとロード・バランサの両方にセキュリティ属性が追加された場合:
in <vcn-sa-key>:<vcn-sa-value> VCN allow <lb-sa-key>:<lb-sa-value> endpoints to connect to <pe-sa-key>:<pe-sa-value> endpoints in <vcn-sa-key>:<vcn-sa-value> VCN allow all-endpoints to connect to <lb-sa-key>:<lb-sa-value> endpoints -
ロード・バランサではなくVCNに対してのみセキュリティ属性が追加され、ロード・バランサがCIDR 10.0.1.0/24を持つパブリック・サブネットにある場合:
in <vcn-sa-key>:<vcn-sa-value> VCN allow '10.0.1.0/24' to connect to <pe-sa-key>:<pe-sa-value> endpointsノート:専用接続やプライベート・デプロイメントなどの他のリソースの場合、セキュリティ属性は作成されたプライベート・エンドポイントに追加されます。ロード・バランサはプライベート・デプロイメントではデフォルトで作成されないため、前述のZPRの例は適用されません。この場合、ZPRはプライベート・エンドポイントを保護するため、ZPRポリシーが必要になる場合があります。正確なポリシーはユースケースによって異なります。
ZPRポリシー構文についてさらに学習します。
-
次のステートメントは、ワークスペースのタグ・ネームスペースおよびタグを管理するためのグループ権限を付与します:
allow group <identity-domain>/<group-name> to manage tag-namespaces in <location>
定義済のタグを追加するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。
ネットワーク・リソースのポリシー例
ポリシーを使用して、コンパートメント内のネットワーク・リソースへのユーザー・アクセスを簡単に許可できます:
allow group <group-name> to use virtual-network-family in compartment <compartment-name>
または、次のポリシーを使用して、より詳細なレベルでネットワーク・リソースを保護することもできます:
| 操作 | 基礎となるリソースへの必要なアクセス |
|---|---|
| プライベート・エンドポイントの作成 | プライベート・エンドポイント・コンパートメントの場合:
サブネット・コンパートメントの場合:
|
| プライベート・エンドポイントの更新 | プライベート・エンドポイント・コンパートメントの場合:
|
| プライベート・エンドポイントの削除 | プライベート・エンドポイント・コンパートメントの場合:
サブネット・コンパートメントの場合:
|
| プライベート・エンドポイント・コンパートメントの変更 | あるコンパートメントから別のコンパートメントに移動する場合、元のコンパートメントのすべての権限が新しいコンパートメントにも存在する必要があります。 |
リソース・タイプ
Oracle Cloud Infrastructure GoldenGateには、ポリシーを記述するための集約リソース・タイプと個別リソース・タイプの両方が用意されています。
| 集約リソース・タイプ | 個々のリソース・タイプ |
|---|---|
goldengate-family |
|
集約リソース・タイプgoldengate-familyでカバーされるAPIは、個別リソース・タイプのそれぞれのAPIもカバーします。例
allow group gg-admins to manage goldengate-family in compartment <compartment-name>
は、次のポリシーを記述することと同じです:
allow group gg-admins to manage goldengate-deployments in compartment <compartment-name>
allow group gg-admins to manage goldengate-connections in compartment <compartment-name>
allow group gg-admins to manage goldengate-connection-assignments in compartment <compartment-name>
allow group gg-admins to manage goldengate-deployment-upgrades in compartment <compartment-name>
allow group gg-admins to manage goldengate-deployment-backups in compartment <compartment-name>
allow group gg-admins to manage goldengate-pipelines in compartment <compartment-name>
サポートされる変数
ポリシーに条件を追加する場合、Oracle Cloud Infrastructureの一般変数またはサービス固有変数を使用できます。
Oracle Cloud Infrastructure GoldenGateは、すべての一般的な変数をサポートしています。詳細は、すべてのリクエストの一般的な変数を参照してください。
動詞+リソース・タイプの組合せの詳細
ポリシーの作成時に使用できる様々なOracle Cloud Infrastructure動詞とリソース・タイプがあります。
次の表に、Oracle Cloud Infrastructure GoldenGateの各動詞でカバーされる権限およびAPI操作を示します。アクセスのレベルは、inspectからread、use、manageの順に累積します。
goldengate-deployments
| 権限 | 全部カバーされるAPI |
|---|---|
| INSPECT | |
| GOLDENGATE_DEPLOYMENT_INSPECT | ListDeployments |
| ListWorkRequests | |
| READ | |
| INSPECT + | INSPECT+ |
| GOLDENGATE_DEPLOYMENT_READ | GetDeployment |
| ワークリクエストリストを取得 | |
| 作業リクエストエラーリスト | |
| 作業リクエスト・ログ | |
| USE | |
| READ + | READ + |
| GOLDENGATE_DEPLOYMENT_UPDATE | UpdateDeployment |
| StartDeployment | |
| StopDeployment | |
| RestoreDeployment | |
| MANAGE | |
| USE + | USE + |
| GOLDENGATE_DEPLOYMENT_CREATE | CreateDeployment |
| GOLDENGATE_DEPLOYMENT_DELETE | DeleteDeployment |
| GOLDENGATE_DEPLOYMENT_MOVE | ChangeDeploymentCompartment |
goldengate-connections
| 権限 | 全部カバーされるAPI |
|---|---|
| INSPECT | |
| GOLDENGATE_CONNECTION_INSPECT | ListConnections |
| READ | |
| INSPECT + | INSPECT+ |
| GOLDENGATE_CONNECTION_READ | GetConnection |
| USE | |
| READ + | READ + |
| GOLDENGATE_CONNECTION_UPDATE | UpdateConnection |
| MANAGE | |
| USE + | USE + |
| GOLDENGATE_CONNECTION_CREATE | CreateConnection |
| GOLDENGATE_CONNECTION_DELETE | DeleteConnection |
| GOLDENGATE_CONNECTION_MOVE | ChangeConnectionCompartment |
goldengate-connection-assignments
| 権限 | 全部カバーされるAPI |
|---|---|
| INSPECT | |
| GOLDENGATE_CONNECTION_ASSIGNMENT_INSPECT | ListConnection割当て |
| READ | |
| INSPECT + | INSPECT+ |
| GOLDENGATE_CONNECTION_ASSIGNMENT_READ | 接続割当ての取得 |
| USE | |
| READ + | READ + |
| なし | なし |
| MANAGE | |
| USE + | USE + |
| GOLDENGATE_CONNECTION_ASSIGNMENT_CREATE | 接続割当ての作成 |
| GOLDENGATE_CONNECTION_ASSIGNMENT_DELETE | 接続割当ての削除 |
goldengate-deployment-backups
| 権限 | 全部カバーされるAPI |
|---|---|
| INSPECT | |
| GOLDENGATE_DEPLOYMENT_BACKUP_INSPECT | ListDeploymentBackups |
| READ | |
| INSPECT + | INSPECT+ |
| GOLDENGATE_DEPLOYMENT_BACKUP_READ | GetDeploymentBackup |
| RestoreDeployment | |
| USE | |
| READ + | READ + |
| GOLDENGATE_DEPLOYMENT_BACKUP_UPDATE | UpdateDeploymentBackup |
| MANAGE | |
| USE + | USE + |
| GOLDENGATE_DEPLOYMENT_BACKUP_CREATE | CreateDeploymentBackup |
| GOLDENGATE_DEPLOYMENT_BACKUP_DELETE | DeleteDeploymentBackup |
| GOLDENGATE_DEPLOYMENT_BACKUP_MOVE | ChangeDeploymentBackupCompartment |
API操作ごとに必要な権限
Oracle Cloud Infrastructure GoldenGateのAPI操作を論理的な順序でリソース・タイプ別にグループ化したリストを次に示します。
リソース・タイプは、goldengate-deployments、goldengate-connectionsおよびgoldengate-deployment-backupsです。
| API操作 | 権限 |
|---|---|
ListDeployments |
GOLDENGATE_DEPLOYMENT_INSPECT |
CreateDeployment |
GOLDENGATE_DEPLOYMENT_CREATE |
GetDeployment |
GOLDENGATE_DEPLOYMENT_READ |
UpdateDeployment |
GOLDENGATE_DEPLOYMENT_UPDATE |
DeleteDeployment |
GOLDENGATE_DEPLOYMENT_DELETE |
StartDeployment |
GOLDENGATE_DEPLOYMENT_UPDATE |
StopDeployment |
GOLDENGATE_DEPLOYMENT_UPDATE |
RestoreDeployment |
GOLDENGATE_DEPLOYMENT_BACKUP_READおよびGOLDENGATE_DEPLOYMENT_UPDATE |
ChangeDeploymentCompartment |
GOLDENGATE_DEPLOYMENT_MOVE |
UpgradeDeployment |
GOLDENGATE_DEPLOYMENT_UPDATE |
ListConnections |
GOLDENGATE_CONNECTION_INSPECT |
CreateConnection |
GOLDENGATE_CONNECTION_CREATE |
GetConnection |
GOLDENGATE_CONNECTION_READ |
UpdateConnection |
GOLDENGATE_CONNECTION_UPDATE |
DeleteConnection |
GOLDENGATE_CONNECTION_DELETE |
ChangeConnectionCompartment |
GOLDENGATE_CONNECTION_MOVE |
ListConnectionAssignments |
GOLDENGATE_CONNECTION_ASSIGNMENT_INSPECT |
CreateConnectionAssignment |
GOLDENGATE_CONNECTION_ASSIGNMENT_CREATE、GOLDENGATE_DEPLOYMENT_UPDATE、GOLDENGATE_CONNECTION_UPDATE |
GetConnectionAssignment |
GOLDENGATE_CONNECTION_ASSIGNMENT_READ |
DeleteConnectionAssignment |
GOLDENGATE_CONNECTION_ASSIGNMENT_DELETE、GOLDENGATE_DEPLOYMENT_UPDATE、GOLDENGATE_CONNECTION_UPDATE |
ListDeploymentBackups |
GOLDENGATE_DEPLOYMENT_BACKUP_INSPECT |
GetDeploymentBackup |
GOLDENGATE_DEPLOYMENT_BACKUP_READ |
CreateDeploymentBackup |
GOLDENGATE_DEPLOYMENT_BACKUP_CREATE、GOLDENGATE_DEPLOYMENT_READ |
UpdateDeploymentBackup |
GOLDENGATE_DEPLOYMENT_BACKUP_UPDATE |
CancelDeploymentBackup |
GOLDENGATE_DEPLOYMENT_BACKUP_UPDATE |
DeleteDeploymentBackup |
GOLDENGATE_DEPLOYMENT_BACKUP_DELETE |
ChangeDeploymentBackupCompartment |
GOLDENGATE_DEPLOYMENT_BACKUP_MOVE |
GetDeploymentUpgrade |
GOLDENGATE_DEPLOYMENT_UPGRADE_READ |
ListDeploymentUpgrades |
GOLDENGATE_DEPLOYMENT_UPGRADE_INSPECT |
GetWorkRequest |
GOLDENGATE_DEPLOYMENT_READ |
ListWorkRequests |
GOLDENGATE_DEPLOYMENT_INSPECT |
ListWorkRequestErrors |
GOLDENGATE_DEPLOYMENT_READ |
ListWorkRequestLogs |
GOLDENGATE_DEPLOYMENT_READ |