Oracle Cloud Infrastructure環境の準備

環境には、特定の構造と権限セットが必要です。これにより、ブロックチェーン・イベント・システムを、テナンシ内の残りのプロジェクトから分離できます。

ユーザー・グループを作成し、そのコンパートメントのリソースに対してグループ・メンバーが実行できるアクションを指定するポリシーを割り当てることで、コンパートメントへのアクセスを制御します。

コンパートメントの作成

ブロックチェーンからのイベントに関連するアーティファクト、構成およびその他のリソースのみを含めるために使用するコンパートメントを作成します。

  1. 管理者権限を持つユーザーとしてOracle Cloud Infrastructureコンソールにログインします。
  2. コンソールのナビゲーション・メニューで、「アイデンティティ」を選択し、「コンパートメント」をクリックします。
  3. コンパートメントの作成をクリックします。
  4. 新しいコンパートメントの名前としてOBP_Eventsと入力し、適切な説明を入力し、親コンパートメントがルート・コンパートメントであることを確認します。
  5. 「コンパートメントの作成」をクリックします。
  6. コンパートメントが作成されたら、そのOCIDのレコードを作成します。後で動的グループを作成するときに、およびterraform.tfvarsファイルを変更するときにOCIDが必要になります。

グループの作成

2つのグループを作成する必要があります。1つは、ユーザーのリストを持つ通常のグループです。もう1つは動的グループ

動的グループは、他のOracle Cloud Infrastructure ComputeサービスにアクセスできるOracle Cloud Infrastructureサービスを指定するために使用されます。
  1. グループの作成
    1. コンソールのナビゲーション・メニューで、「アイデンティティ」を選択し、「グループ」をクリックします。
    2. 「グループの作成」をクリックします。
    3. グループの名前としてOBP_Events_Groupと入力し、適切な説明を入力して、「作成」をクリックします。
  2. グループにユーザーを追加します。OBP_Events_Groupをクリックし、「ユーザーをグループに追加」をクリックして、リストからユーザーを選択します。
  3. 動的グループを作成します。
    1. ナビゲーション・メニューの「動的グループ」をクリックします。
    2. 「動的グループの作成」をクリックします。
    3. グループの名前としてOBP_Events_Dynamic_Groupと入力します。
    4. 次の2つの一致ルールを追加します。COMPARTMENT_OCIDを、前に作成したコンパートメントのOCIDに置き換えてください。
      all {resource.type='fnfunc',resource.compartment.id='COMPARTMENT_OCID'}
      all {resource.type='ApiGateway',resource.compartment.id='COMPARTMENT_OCID'}

ポリシーの構成

ポリシーは、テナンシのOracle Cloud Infrastructureリソースに対するアクセス制御を指定する一連の文です。

作成するポリシーによって、以前に作成したグループおよび動的グループにアクセス権が付与されます。また、Functionsサービスがネットワークおよびリポジトリにアクセスすることもできます。

  1. コンソールのナビゲーション・メニューで、「アイデンティティ」を選択し、「ポリシー」をクリックします。
  2. 「ポリシーの作成」をクリックします。
  3. ポリシーの名前としてOBP_Events_Policiesと入力し、適切な説明を入力します。
  4. 「ポリシー・ビルダー」パネルで、「拡張」をクリックします。
  5. 次のポリシー・文をテキスト・ボックスに貼り付けます。
    Allow dynamic-group OBP_Events_Dynamic_Group to manage vaults in compartment OBP_Events
    Allow dynamic-group OBP_Events_Dynamic_Group to manage keys in compartment OBP_Events
    Allow dynamic-group OBP_Events_Dynamic_Group to manage key-delegate in compartment OBP_Events
    Allow dynamic-group OBP_Events_Dynamic_Group to use virtual-network-family in compartment OBP_Events
    Allow dynamic-group OBP_Events_Dynamic_Group to use functions-family in compartment OBP_Events
    Allow dynamic-group OBP_Events_Dynamic_Group to manage public-ips in compartment OBP_Events
    Allow service FaaS to use virtual-network-family in compartment OBP_Events
    Allow service FaaS to read repos in tenancy
    Allow group OBP_Events_Group to use cloud-shell in tenancy
    Allow group OBP_Events_Group to manage all-resources in compartment OBP_Events
    Allow group OBP_Events_Group to manage repos in tenancy
  6. 「作成」をクリックします。

認証トークンの生成

FunctionsコードをOracle Cloud Infrastructure Registryにプッシュする際に使用するトークンを生成します。

  1. コンソールのナビゲーション・メニューで「アイデンティティ」を選択し、「ユーザー」をクリックします。
  2. トークンを生成するユーザーを選択します。
  3. 「リソース」セクションで、「認証トークン」をクリックし、「トークンの生成」をクリックします。
  4. 開いたウィンドウで、適切な説明を入力し、「トークンの生成」をクリックします。
  5. トークンをコピーして保存し、後で取得できるようにします。トークンは1回のみ表示されます。
  6. 「閉じる」をクリックします。