第1章 Red Hat OpenShift Container Platform


1.1. 署名データの保護

システム管理者にとって、ハードウェア障害や誤ったデータ削除によるデータ損失が発生した場合、ソフトウェアサプライチェーンの署名データを保護することは非常に重要です。

OpenShift API Data Protection (OADP) 製品は、Red Hat OpenShift Container Platform 上で実行されるアプリケーションにデータ保護を提供します。OADP 製品を使用することで、ソフトウェア開発者はできるだけ早くコードの署名と検証を再開できるようになります。OADP Operator をインストールして設定したら、Red Hat Trusted Artifact Signer (RHTAS) データのバックアップと復元を開始できます。

1.1.1. OADP Operator のインストールと設定

OpenShift API Data Protection (OADP) Operator を使用すると、OpenShift アプリケーションリソースと内部コンテナーイメージをバックアップできるようになります。OADP Operator を使用して、Trusted Artifact Signer データをバックアップおよび復元できます。

重要

この手順では、Amazon Web Services (AWS) Simple Storage Service (S3) を使用してバケットを作成し、OADP Operator を設定する方法を説明します。AWS の代わりに、Red Hat OpenShift Data Foundation など、サポートされている別の S3 互換オブジェクトストレージプラットフォーム を使用することもできます。

前提条件

  • Red Hat OpenShift Container Platform 4.15 以降。
  • cluster-admin ロールでの OpenShift Web コンソールへのアクセス。
  • S3 互換のバケットを作成する機能。
  • oc および aws バイナリーがインストールされたワークステーション。

手順

  1. ワークステーションでターミナルを開き、OpenShift にログインします。

    構文

    oc login --token=TOKEN --server=SERVER_URL_AND_PORT
    Copy to clipboard

    oc login --token=sha256~ZvFDBvoIYAbVECixS4-WmkN4RfnNd8Neh3y1WuiFPXC --server=https://example.com:6443
    Copy to clipboard

    注記

    OpenShift Web コンソールからコマンドラインで使用するログイントークンと URL を確認できます。OpenShift Web コンソールにログインします。ユーザー名をクリックし、Copy login command をクリックします。入力を求められた場合はユーザー名とパスワードをもう一度入力し、Display Token をクリックしてコマンドを表示します。

  2. 新しいバケットを作成します。

    構文

    export BUCKET=NEW_BUCKET_NAME
    export REGION=AWS_REGION_ID
    export USER=OADP_USER_NAME
    
    aws s3api create-bucket \
    --bucket $BUCKET \
    --region $REGION \
    --create-bucket-configuration LocationConstraint=$REGION
    Copy to clipboard

    export BUCKET=example-bucket-name
    export REGION=us-east-1
    export USER=velero
    
    aws s3api create-bucket \
    --bucket $BUCKET \
    --region $REGION \
    --create-bucket-configuration LocationConstraint=$REGION
    Copy to clipboard

  3. 新しいユーザーを作成します。

    aws iam create-user --user-name $USER
    Copy to clipboard

  4. 新しいポリシーを作成します。

    cat > velero-policy.json <<EOF
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "ec2:DescribeVolumes",
                    "ec2:DescribeSnapshots",
                    "ec2:CreateTags",
                    "ec2:CreateVolume",
                    "ec2:CreateSnapshot",
                    "ec2:DeleteSnapshot"
                ],
                "Resource": "*"
            },
            {
                "Effect": "Allow",
                "Action": [
                    "s3:GetObject",
                    "s3:DeleteObject",
                    "s3:PutObject",
                    "s3:AbortMultipartUpload",
                    "s3:ListMultipartUploadParts"
                ],
                "Resource": [
                    "arn:aws:s3:::${BUCKET}/*"
                ]
            },
            {
                "Effect": "Allow",
                "Action": [
                    "s3:ListBucket",
                    "s3:GetBucketLocation",
                    "s3:ListBucketMultipartUploads"
                ],
                "Resource": [
                    "arn:aws:s3:::${BUCKET}"
                ]
            }
        ]
    }
    EOF
    Copy to clipboard

  5. このポリシーを新しいユーザーに関連付けます。

    aws iam put-user-policy \
    --user-name $USER \
    --policy-name velero \
    --policy-document file://velero-policy.json
    Copy to clipboard

  6. アクセスキーを作成します。

    aws iam create-access-key --user-name $USER --output=json | jq -r '.AccessKey | [ "export AWS_ACCESS_KEY_ID=" + .AccessKeyId, "export AWS_SECRET_ACCESS_KEY=" + .SecretAccessKey ] | join("\n")'
    Copy to clipboard

  7. AWS 秘密鍵情報を含む認証情報ファイルを作成します。

    構文

    cat << EOF > ./credentials-velero
    [default]
    aws_access_key_id=$AWS_ACCESS_KEY_ID
    aws_secret_access_key=$AWS_SECRET_ACCESS_KEY
    EOF
    Copy to clipboard

  8. cluster-admin ロールを持つユーザーで OpenShift Web コンソールにログインします。
  9. Administrator パースペクティブで、Operators ナビゲーションメニューを展開し、OperatorHub をクリックします。
  10. 検索フィールドに oadp と入力し、Red Hat が提供する OADP Operator タイルをクリックします。
  11. Install ボタンをクリックして、Operator の詳細を表示します。
  12. デフォルト値を受け入れ、Install Operator ページで Install をクリックし、インストールが完了するまで待ちます。
  13. Operator のインストールが完了したら、ワークステーションのターミナルから、AWS 認証情報を使用して OpenShift のシークレットリソースを作成します。

    oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=credentials-velero
    Copy to clipboard

  14. OpenShift Web コンソールから、View Operator ボタンをクリックします。
  15. DataProtectionApplication (DPA) タイルで Create instance をクリックします。
  16. Create DataProtectionApplication ページで、YAML view を選択します。
  17. リソースファイルで次の値を編集します。

    1. metadata セクションで、velero-samplevelero に置き換えます。
    2. spec.configuration.nodeAgent セクションで、restickopia に置き換えます。
    3. spec.configuration.velero セクションの下に、resourceTimeout: 10m を追加します。
    4. spec.configuration.velero.defaultPlugins セクションの下に -csi を追加します。
    5. spec.snapshotLocations セクションで、us-west-2 の値を AWS リージョンの値に置き換えます。
    6. spec.backupLocations セクションで、us-east-1 の値を AWS リージョンの値に置き換えます。
    7. spec.backupLocations.objectStorage セクションで、my-bucket-name をバケット名に置き換えます。別の接頭辞を使用する場合は、velero をバケット接頭辞名に置き換えます。
  18. Create ボタンをクリックします。

1.1.2. Trusted Artifact Signer データのバックアップ

OpenShift API Data Protection (OADP) Operator をインストールし、インスタンスをデプロイすると、ボリュームスナップショットリソースと、Red Hat Trusted Artifact Signer データをバックアップするためのバックアップリソースを作成できます。

前提条件

  • Red Hat OpenShift Container Platform 4.15 以降。
  • cluster-admin ロールでの OpenShift Web コンソールへのアクセス。
  • OADP Operator のインストール
  • oc バイナリーがインストールされているワークステーション。

手順

  1. ワークステーションでターミナルを開き、OpenShift にログインします。

    構文

    oc login --token=TOKEN --server=SERVER_URL_AND_PORT
    Copy to clipboard

    oc login --token=sha256~ZvFDBvoIYAbVECixS4-WmkN4RfnNd8Neh3y1WuiFPXC --server=https://example.com:6443
    Copy to clipboard

    注記

    OpenShift Web コンソールからコマンドラインで使用するログイントークンと URL を確認できます。OpenShift Web コンソールにログインします。ユーザー名をクリックし、Copy login command をクリックします。入力を求められた場合はユーザー名とパスワードをもう一度入力し、Display Token をクリックしてコマンドを表示します。

  2. VolumeSnapshotClass リソースを見つけて編集します。

    oc get VolumeSnapshotClass -n openshift-adp
    oc edit VolumeSnapshotClass csi-aws-vsc -n openshift-adp
    Copy to clipboard

  3. リソースファイル内の次の値を更新します。

    1. metadata.labels セクションの下に、velero.io/csi-volumesnapshot-class: "true" ラベルを追加します。
    2. 変更を保存し、エディターを終了します。
  4. Backup リソースを作成します。

    cat <<EOF | oc apply -f -
    apiVersion: velero.io/v1
    kind: Backup
    metadata:
      name: rhtas-backup
      labels:
        velero.io/storage-location: velero-1
      namespace: openshift-adp
    spec:
      schedule: 0 7 * * *
      hooks: {}
      includedNamespaces:
      - trusted-artifact-signer
      includedResources: []
      excludedResources: []
      snapshotMoveData: true
      storageLocation: velero-1
      ttl: 720h0m0s
    EOF
    Copy to clipboard

    このバックアップを実行するための Cron スケジュールを有効にするには、スケジュールプロパティーを追加します。この例では、このバックアップリソースは毎日午前 7 時に実行されます。

    デフォルトでは、すべてのリソースは、trusted-artifact-signer 名前空間内でバックアップされます。includeResources プロパティーまたは excludedResources プロパティーを使用して、含めるリソースまたは除外するリソースを指定できます。

    重要

    バックアップターゲットのストレージクラスによっては、バックアップを成功させるために永続ボリュームを継続的に使用することはできません。

1.1.3. Trusted Artifact Signer データの復元

Red Hat Trusted Artifact Signer (RHTAS) および OpenShift API Data Protection (OADP) Operator がインストールされ、RHTAS 名前空間のバックアップリソースがあれば、データを OpenShift クラスターに復元できます。

前提条件

  • Red Hat OpenShift Container Platform バージョン 4.13 以降
  • cluster-admin ロールでの OpenShift Web コンソールへのアクセス。
  • RHTAS Operator のインストール
  • OADP Operator のインストール
  • trusted-artifact-signer 名前空間構造のバックアップリソース。
  • oc バイナリーがインストールされているワークステーション。

手順

  1. RHTAS Operator を無効にします。

    oc scale deploy rhtas-operator-controller-manager --replicas=0 -n openshift-operators
    Copy to clipboard

  2. Restore リソースを作成します。

    cat <<EOF | oc apply -f -
    apiVersion: velero.io/v1
    kind: Restore
    metadata:
      name: rhtas-restore
      namespace: openshift-adp
    spec:
      backupName: rhtas-backup
      includedResources: []
      restoreStatus:
        includedResources:
          - securesign.rhtas.redhat.com
          - trillian.rhtas.redhat.com
          - ctlog.rhtas.redhat.com
          - fulcio.rhtas.redhat.com
          - rekor.rhtas.redhat.com
          - tuf.rhtas.redhat.com
          - timestampauthority.rhtas.redhat.com
      excludedResources:
      - pod
      - deployment
      - nodes
      - route
      - service
      - replicaset
      - events
      - cronjob
      - events.events.k8s.io
      - backups.velero.io
      - restores.velero.io
      - resticrepositories.velero.io
      - pods
      - deployments
      restorePVs: true
      existingResourcePolicy: update
    EOF
    Copy to clipboard

  3. RHTAS データを別の OpenShift クラスターに復元する場合は、次の手順を実行します。

    1. Trillian データベースのシークレットを削除します。

      oc delete secret securesign-sample-trillian-db-tls
      oc delete pod trillian-db-xxx
      Copy to clipboard

      注記

      RHTAS Operator はシークレットを再作成し、Pod を再起動します。

    2. restoreOwnerReferences.sh スクリプトを実行します。
  4. RHTAS Operator を有効にします。

    oc scale deploy rhtas-operator-controller-manager --replicas=1 -n openshift-operators
    Copy to clipboard

    重要

    復元を開始した後すぐに RHTAS Operator を起動すると、永続ボリュームの要求が確実に行われます。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat, Inc.