ターゲット タイプを制限する

状況によっては、ジョブのターゲット タイプを制限することが好ましい場合があります。これを行うには、組織ポリシー管理者のロールを持つ管理者がポリシーを構成し、どの種類のジョブ ターゲット(HTTP、Pub/Sub、App Engine HTTP など)を組織内で作成できるかを制御します。

コンソール

  1. [IAM と管理] セクションの [組織のポリシー] ページに移動します。

    IAM と管理

  2. 左上のプルダウンから、制約を適用するリソース(組織またはプロジェクト)を選択します。

  3. [組織のポリシー] リストから [ジョブに対して許可されるターゲット タイプ] を選択します。

  4. ポリシーページで、[編集] ボタンをクリックします。

  5. [ルール] で [ルールを追加] を開きます。

    1. [ポリシーの値] で [カスタム] を選択します。

    2. [ポリシータイプ] で [許可] を選択します。

    3. タイプ(PUBSUB、HTTP、または APPENGINE)を許可リストに登録します。

    4. 複数のジョブタイプを追加するには、[新しいポリシーの値] をクリックします。

    5. [保存] をクリックしてポリシーを適用します。

gcloud

  • 既存のポリシーの制約の値を表示するには:

      gcloud resource-manager org-policies describe cloudscheduler.allowedTargetTypes --RESOURCE_TYPE=RESOURCE_ID
      

    ここで、RESOURCE_TYPE は、ポリシーが接続されている階層に応じて projectfolder または organization のいずれかとなります。

    次のような結果が返されます。

      constraint: constraints/cloudscheduler.allowedTargetTypes
      etag: ETAG_VALUE
      listPolicy:
        allowedValues:
        - PUBSUB
      updateTime: '2021-09-04T15:30:45.313018Z'
    次の手順で使用できるように、ETAG_VALUE をメモしておきます。

  • 制約付きの policy.yaml ファイルを作成するには:

      cat >policy.yaml
      constraint: constraints/cloudscheduler.allowedTargetTypes --RESOURCE_TYPE=RESOURCE_ID
      etag: ETAG_VALUE
      listPolicy:
        allowedValues:
        - PUBSUB

  • ポリシーを設定するには:

      gcloud resource-manager org-policies set-policy --RESOURCE_TYPE=RESOURCE_ID policy.yaml

  • 制約を削除するには:

      gcloud resource-manager org-policies delete --RESOURCE_TYPE=RESOURCE_ID
      constraints/cloudscheduler.allowedTargetTypes