Skip to content

Commit fadff7b

Browse files
committed
Draft of changes
1 parent bf0e9f6 commit fadff7b

File tree

1 file changed

+85
-9
lines changed

1 file changed

+85
-9
lines changed

articles/openshift/confidential-containers-deploy.md

Lines changed: 85 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ms.author: johnmarc
66
ms.service: azure-redhat-openshift
77
keywords: confidential containers, aro, deploy, openshift, red hat
88
ms.topic: how-to
9-
ms.date: 11/04/2024
9+
ms.date: 11/20/2024
1010
ms.custom: template-how-to
1111
---
1212

@@ -624,25 +624,25 @@ Create a secure route with edge TLS termination for Trustee. External ingress tr
624624
625625
You can configure the following attestation policy settings:
626626
627-
**Reference values**
627+
**Reference values** (Optional)
628628
629629
You can configure reference values for the Reference Value Provider Service (RVPS) by specifying the trusted digests of your hardware platform.
630630
631631
The client collects measurements from the running software, the Trusted Execution Environment (TEE) hardware and firmware and it submits a quote with the claims to the Attestation Server. These measurements must match the trusted digests registered to the Trustee. This process ensures that the confidential VM (CVM) is running the expected software stack and hasn't been tampered with.
632632
633-
**Secrets for clients**
633+
**Secret with custom keys for clients** (Optional)
634634
635-
You must create one or more secrets to share with attested clients.
635+
You can create a secret that contains one or more custom keys for Trustee clients.
636636
637-
**Resource access policy**
637+
**Resource access policy** (Optional)
638638
639639
You must configure a policy for the Trustee policy engine to determine which resources to access.
640640
641641
Don't confuse the Trustee policy engine with the Attestation Service policy engine, which determines the validity of TEE evidence.
642642
643-
**Attestation policy**
643+
**Attestation policy** (Optional)
644644
645-
Optional: You can overwrite the default attestation policy by creating your own attestation policy.
645+
You can overwrite the default attestation policy by creating your own attestation policy.
646646
647647
**Provisioning Certificate Caching Service for TDX**
648648
@@ -786,9 +786,83 @@ If your TEE is Intel Trust Domain Extensions (TDX), you must configure the Provi
786786
`$ oc apply -f tdx-config.yaml`
787787
788788
789+
**Create a secret for container image signature verification**
790+
791+
If you use container image signature verification, you must create a secret that contains the public container image signing key. The Key Broker Service on the Trustee cluster uses the secret to verify the signature, ensuring that only trusted and authenticated container images are deployed in your environment.
792+
793+
1. Create a secret for container image signature verification by running the following command:
794+
795+
```
796+
$ oc apply secret generic <type>
797+
--from-file=<tag>=./<public_key_file>
798+
-n trustee-operator-system
799+
```
800+
801+
- Specify the KBS secret type, for example, `img-sig`.
802+
- Specify the secret tag, for example, `pub-key`, and the public container image signing key.
803+
804+
1. Record the `<type>` value. You must add this value to the spec.kbsSecretResources key when you create the KbsConfig custom resource.
805+
806+
**Create the container image signature verification policy**
807+
808+
You create the container image signature verification policy because signature verification is always enabled. **If this policy is missing, the pods will not start.** If you are not using container image signature verification, you create the policy without signature verification.
809+
810+
1. Create a security-policy-config.json file according to the following examples:
811+
812+
Without signature verification:
813+
814+
```
815+
{
816+
"default": [
817+
{
818+
"type": "insecureAcceptAnything"
819+
}],
820+
"transports": {}
821+
}
822+
```
823+
824+
With signature verification:
825+
826+
```
827+
{
828+
"default": [
829+
{
830+
"type": "insecureAcceptAnything"
831+
],
832+
"transports": {
833+
"<transport>": {
834+
"<registry>/<image>":
835+
[
836+
{
837+
"type": "sigstoreSigned",
838+
"keyPath": "kbs:///default/<type>/<tag>"
839+
}
840+
]
841+
}
842+
}
843+
}
844+
```
845+
846+
- Specify the image repository for transport, for example, "docker":. For more information, see containers-transports 5.
847+
- Specify the container registry and image, for example, "quay.io/my-image".
848+
- Specify the type and tag of the container image signature verification secret that you created, for example, img-sig/pub-key.
849+
850+
1. Create the security policy by running the following command:
851+
852+
```
853+
$ oc apply secret generic security-policy \
854+
--from-file=osc=./<security-policy-config.json> \
855+
-n trustee-operator-system
856+
```
857+
858+
Do not alter the secret type, security-policy, or the key, osc.
859+
860+
The security-policy secret is specified in the `spec.kbsSecretResources` key of the KbsConfig custom resource.
861+
862+
789863
### Create the KbsConfig custom resource
790864
791-
You must create the KbsConfig custom resource to launch Trustee. Then, you check the Trustee pods and pod logs to verify the configuration.
865+
You must create the KbsConfig custom resource to launch Trustee.
792866
793867
1. Create a `kbsconfig-cr.yaml` manifest file:
794868
@@ -817,7 +891,9 @@ You must create the KbsConfig custom resource to launch Trustee. Then, you check
817891
818892
`$ oc apply -f kbsconfig-cr.yaml`
819893
820-
#### Verification
894+
#### Verify the Trustee configuration
895+
896+
Verity the Trustee configuration by checking the Trustee pods and logs
821897
822898
1. Set the default project by running the following command:
823899

0 commit comments

Comments
 (0)