第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 にログインします。

    構文

    Copy to Clipboard Toggle word wrap
    oc login --token=TOKEN --server=SERVER_URL_AND_PORT

    Copy to Clipboard Toggle word wrap
    oc login --token=sha256~ZvFDBvoIYAbVECixS4-WmkN4RfnNd8Neh3y1WuiFPXC --server=https://example.com:6443

    注記

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

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

    構文

    Copy to Clipboard Toggle word wrap
    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 Toggle word wrap
    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

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

    Copy to Clipboard Toggle word wrap
    aws iam create-user --user-name $USER

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

    Copy to Clipboard Toggle word wrap
    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

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

    Copy to Clipboard Toggle word wrap
    aws iam put-user-policy \
    --user-name $USER \
    --policy-name velero \
    --policy-document file://velero-policy.json

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

    Copy to Clipboard Toggle word wrap
    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")'

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

    構文

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

  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 のシークレットリソースを作成します。

    Copy to Clipboard Toggle word wrap
    oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=credentials-velero

  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 にログインします。

    構文

    Copy to Clipboard Toggle word wrap
    oc login --token=TOKEN --server=SERVER_URL_AND_PORT

    Copy to Clipboard Toggle word wrap
    oc login --token=sha256~ZvFDBvoIYAbVECixS4-WmkN4RfnNd8Neh3y1WuiFPXC --server=https://example.com:6443

    注記

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

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

    Copy to Clipboard Toggle word wrap
    oc get VolumeSnapshotClass -n openshift-adp
    oc edit VolumeSnapshotClass csi-aws-vsc -n openshift-adp

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

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

    Copy to Clipboard Toggle word wrap
    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

    このバックアップを実行するための 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 を無効にします。

    Copy to Clipboard Toggle word wrap
    oc scale deploy rhtas-operator-controller-manager --replicas=0 -n openshift-operators

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

    Copy to Clipboard Toggle word wrap
    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

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

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

      Copy to Clipboard Toggle word wrap
      oc delete secret securesign-sample-trillian-db-tls
      oc delete pod trillian-db-xxx

      注記

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

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

    Copy to Clipboard Toggle word wrap
    oc scale deploy rhtas-operator-controller-manager --replicas=1 -n openshift-operators

    重要

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

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat, Inc.