Oracle Cloudリソースの作成

Oracle Cloud Infrastructure GoldenGateを開始する前に、コンパートメント、VCN、サブネット、ユーザーおよびユーザー・グループを作成する方法について学習します。

コンパートメントの作成

コンパートメントにより、クラウド・リソースへのアクセス権を整理および制御できます。これは、関連するクラウド・リソースをグループ化し、特定のユーザー・グループによるアクセスを許可するために使用できる論理コンテナです。

Oracle Cloud Infrastructureにサインアップすると、Oracleによってテナンシ(すべてのクラウド・リソースを保持するルート・コンパートメント)が作成されます。次に、テナンシ内に追加のコンパートメントを作成し、対応するポリシーを作成して各コンパートメント内のリソースへのアクセスを制御します。

コンパートメントを作成するには:
  1. Oracle Cloudコンソールのナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。
  2. 「アイデンティティ」で、「コンパートメント」をクリックします。アクセス権を持つコンパートメントのリストが表示されます。
  3. 新しいコンパートメントを作成するコンパートメントに移動します。
    • テナンシ(ルート・コンパートメント)にコンパートメントを作成するには、「コンパートメントの作成」をクリックします。
    • テナンシ(ルート・コンパートメント)以外のコンパートメント内にコンパートメントを作成するには、コンパートメントを作成するコンパートメントの詳細ページに達するまで、コンパートメントの階層をクリックします。「コンパートメントの詳細」ページで、「コンパートメントの作成」をクリックします。
  4. 「コンパートメントの作成」ダイアログで、次のようにフィールドに入力します:
    1. 「名前」に、コンパートメントの一意の名前を100文字以下(文字、数字、期間、ハイフンおよびアンダースコアを含む)で入力します。名前は、テナンシ内のすべてのコンパートメントで一意である必要があります。機密情報を入力しないでください。
    2. 「説明」に、コンパートメントと他のコンパートメントの区別に役立つ説明を入力します。
    3. 「親コンパートメント」で、これがコンパートメントの作成先であることを確認します。別のコンパートメントを選択するには、ドロップダウンからコンパートメントを選択します。
    4. (オプション)「タグ・ネームスペース」に、フリーフォーム・タグを追加して、Oracle Cloudコンソールでリソースを検索できます。タグを追加するには、「+別のタグ」をクリックします。
    5. 「コンパートメントの作成」をクリックします。
コンパートメントは、作成後に「コンパートメント」リストに表示されます。これで、ポリシーを作成して、リソースをコンパートメントに追加できます。

仮想クラウド・ネットワークおよびサブネットの作成

仮想クラウド・ネットワーク(VCN)は、特定のリージョンのOracle Cloud Infrastructureデータ・センターで設定するネットワークです。サブネットは、VCNの下位区分です。

OCI GoldenGateには、VCNと、NAT Gatewayを持つ少なくとも1つのプライベート・サブネットが必要です。プライベート・サブネットのNAT Gatewayにトラフィックをリダイレクトするルート・ルールを含むルート表が使用可能である必要があります。パブリック・エンドポイントを使用した接続を有効にする場合は、パブリック・サブネットも必要であり、VCNにインターネット・ゲートウェイが含まれている必要があります。パブリック・サブネットのインターネット・ゲートウェイにトラフィックをリダイレクトするルート・ルールを含むルート表が使用可能である必要があります。
VCNおよびサブネットを作成するには:
  1. Oracle Cloudコンソールのナビゲーション・メニューを開き、「ネットワーキング」「仮想クラウド・ネットワーク」の順に選択します。
  2. 「Virtual Cloud Networks」ページで、コンパートメントの選択を確認するか、別のコンパートメントを選択します。
  3. 「アクション」メニューから、「VCNウィザードの起動」を選択します。
  4. 「VCNウィザードの起動」パネルで、「インターネット接続性を持つVCNの作成」を選択し、「VCNウィザードの起動」をクリックします。
  5. 「構成」ページの「基本情報」で、VCN名に名前を入力します。
  6. 「コンパートメント」で、このVCNを作成するコンパートメントを選択します。
  7. 「次へ」をクリックしてください。
  8. 「確認および作成」ページで、構成の詳細を確認し、「作成」をクリックします。

パブリック・サブネットとプライベート・サブネットの作成を確認するには、「VCN詳細の表示」をクリックします。

ユーザーの作成

OCI GoldenGateリソースにアクセスできるグループに追加するユーザーを作成します。

ユーザーを作成する前に、次を理解してください:

  • OCI GoldenGateデプロイメント・ユーザー管理は、テナンシがアイデンティティ・ドメインでOCI IAMを使用するかどうかによって異なります。デプロイメント・ユーザーの管理を参照してください。
  • ユーザー名は、テナンシ内のすべてのユーザーで一意である必要があります
  • ユーザー名は変更できません
  • ユーザーは、グループに配置されるまで権限を持ちません
ユーザーを作成するには:
  1. Oracle Cloudコンソールのナビゲーション・メニューを開き、「アイデンティティおよびセキュリティ」をクリックし、「アイデンティティ」「ドメイン」をクリックします。
  2. 「ドメイン」ページで、「コンパートメント」の選択を確認するか、別のコンパートメントに変更します。
  3. 「ドメイン」リストで、「デフォルト」をクリックしてデフォルト・ドメインにアクセスするか、「ドメインの作成」をクリックして新しいドメインを作成します。
  4. ドメインをリストから選択します。
  5. ドメインの詳細ページで、「ユーザー管理」をクリックします。
  6. 「ユーザー」ページで、「ユーザーの作成」をクリックします。
  7. 「ユーザーの作成」ページで、次のようにフィールドに入力します:
    1. ユーザーの「名」「姓」および「電子メール・アドレス」を入力します。これは、「ユーザー名」としても使用できます。

      ノート:

      名前は、テナント内のすべてのユーザーで一意である必要があります。この値は後で変更できません。ユーザー名にはスペースを使用できず、基本的なラテン文字(ASCII)、数字、ハイフン、ピリオド、アンダースコア、+、および@のみで構成します。
    2. 「グループ」で、ユーザーを割り当てるグループを選択してください。
  8. 「作成」をクリックします。
その後、ユーザーをグループに追加し、リソースへのアクセス権をグループに付与するポリシーを作成できます。ユーザーの詳細は、ユーザーの管理を参照してください。

グループの作成

グループは、リソースまたはコンパートメントのセットに対して同じアクセス・タイプを必要とするユーザーのコレクションです。

グループを作成する前に、次を理解してください:
  • グループ名は、テナンシ内で一意である必要があります。
  • グループ名は作成後に変更できません。
  • グループは、テナンシまたはコンパートメントに対する権限をグループに付与する1つ以上の権限を記述しないかぎり、権限を持ちません。
グループを作成するには:
  1. Oracle Cloudコンソールのナビゲーション・メニューを開き、「アイデンティティおよびセキュリティ」をクリックし、「アイデンティティ」「ドメイン」をクリックします。
  2. 「ドメイン」ページで、「コンパートメント」の選択を確認するか、コンパートメントを変更します。
  3. リストからドメインを選択してください。
  4. ドメインの詳細ページで、「ユーザー管理」をクリックします。
  5. 「グループ」で、「グループの作成」をクリックします。
  6. 「グループの作成」ページで、次の操作を行います。
    1. 「名前」に、グループの一意の名前を入力します。

      ノート:

      グループの作成後は名前を変更できません。グループ名は、テナンシ内で一意である必要があります。グループ名は、1から100文字の長さの英数字で、大文字または小文字にでき、ピリオド、ダッシュ、ハイフンを含めることができますが、スペースは使用できません
    2. 「説明」に、簡単な説明を入力します。
  7. このグループに対するユーザーがアクセスをリクエストできるかどうかを選択します。
  8. 「ユーザー」リストから、このグループに割り当てるユーザーを選択します。
  9. 「作成」をクリックします。
グループは、コンパートメントまたはテナンシに対する権限をグループに付与するポリシーを記述するまで、権限を持ちません。グループの詳細は、グループの管理を参照してください。

ポリシーの作成

ポリシーでは、グループのメンバーが実行できるアクションとそのコンパートメントを定義します。

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>: リソース・タイプへの特定のレベルのアクセス権をグループに付与します。動詞がinspectreadusemanageと進むにつれて、アクセス権のレベルが高くなり、付与された権限は累積します。

    .権限と動詞の関係についてさらに学習します。

  • <resource-type>: 付与するグループ権限で作業できるリソースのタイプ。goldengate-deploymentsgoldengate-pipelinesgoldengate-connectionsなどの個別のリソースがあり、前述した個々のリソースを含むgoldengate-familyなどのリソース・ファミリがあります。

    詳細は、リソース・タイプを参照してください。

  • <location>: ポリシーをコンパートメントまたはテナンシにアタッチします。名前またはOCIDで単一のコンパートメントまたはコンパートメント・パスを指定するか、tenancyを指定してテナンシ全体を対象とします。
  • <condition>: オプション。このポリシーが適用される1つ以上の条件。

ポリシー構文の詳細を参照してください。

ポリシーの作成方法

ポリシーを作成するには:
  1. Oracle Cloudのナビゲーション・メニューで、「アイデンティティとセキュリティ」を選択し、「識別」で「ポリシー」をクリックします。
  2. ポリシー・ページで、「ポリシーの作成」をクリックします。
  3. ポリシーの作成ページで、ポリシーの名前および説明を入力します。
  4. このポリシーを作成するコンパートメントを選択します。
  5. 「ポリシー・ビルダー」セクションで、次のいずれかを実行できます。
    • 「ポリシー・ユース・ケース」ドロップダウンから「GoldenGateサービス」を選択し、共通ポリシー・テンプレート(ユーザーがGoldenGateリソースを管理できるようにするために必要なポリシーなど)を選択します。
    • 「手動エディタの表示」をクリックして、ポリシー・ルールを次の形式で入力します:
      allow <subject> to <verb> <resource-type> in <location> where <condition>

      条件はオプションです。動詞+リソース・タイプの組合せの詳細を参照してください。

    ヒント :

    詳細は、最小推奨ポリシーを参照してください。
  6. 「作成」をクリックします。

ポリシーの詳細は、ポリシーの仕組みポリシー構文およびポリシー・リファレンスを参照してください。

最小限の推奨ポリシー

ヒント :

共通ポリシー・テンプレートを使用して必要なすべてのポリシーを追加するには:
  1. 「ポリシー・ユース・ケース」で、ドロップダウンからGoldenGateサービスを選択します。
  2. 「一般的なテンプレートの使用」で、ドロップダウンから「ユーザーがGoldenGateリソースを管理できるようにするために必要なポリシー」を選択します。

少なくとも、次のポリシーが必要です:

  • GoldenGateリソースの使用または管理をユーザーに許可し、ユーザーがデプロイメントおよび接続を操作できるようにします。たとえば次のようにします。
    allow group <identity-domain>/<group-name> to manage goldengate-family in <location>
  • ユーザーにネットワーク・リソースの管理を許可し、ユーザーがGoldenGateリソースの作成時にコンパートメントとサブネットを表示および選択し、プライベート・エンドポイントを作成および削除できるようにする。たとえば次のようにします。
    allow group <identity-domain>/<group-name> to manage virtual-network-family in <location>

    オプションで、粒度の細かいポリシーの組合せを使用して、ネットワーク・リソースをさらに保護できます。ネットワーク・リソースを保護するためのポリシーの例を参照してください。

  • 動的グループの作成: 定義されたルールに基づいてリソースに権限を付与し、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 Database。たとえば次のようにします。
    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>
    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>

次のステートメントは、ワークスペースのタグ・ネームスペースおよびタグを管理するためのグループ権限を付与します:

allow group <identity-domain>/<group-name> to manage tag-namespaces in <location>

定義済のタグを追加するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。

詳細および追加のポリシーの例は、OCI GoldenGateポリシーを参照してください。