Configurazione IBM Transformation Advisor
Quando si installa Transformation Advisor vengono applicati i valori predefiniti per le impostazioni di configurazione. La persistenza è una configurazione da impostare autonomamente, a seconda delle opzioni di persistenza disponibili nel proprio ambiente.
Per ulteriori dettagli, consultare il documento Configurazione dell'archiviazione. A seconda dell'ambiente e delle preferenze, è possibile personalizzare ulteriormente l'installazione Transformation Advisor installazione. Di seguito sono elencate tutte le opzioni di configurazione disponibili in Transformation Advisor a cui si può accedere nella risorsa personalizzata YAML.
Vedere Installazione su come accedere alla risorsa personalizzata YAML.
Molte di queste opzioni (come indicato) sono destinate alla risoluzione avanzata dei problemi e devono essere utilizzate solo da esperti.
| Parametro | Descrizione | Predefinito |
|---|---|---|
| networkPolicy.abilitato | Abilita networkPolicy nel cluster. Risoluzione dei problemi avanzata. | vero, true |
| networkPolicy.uscita | Abilitare e configurare EgressNetworkpolicy. Disabilitazione automatica quando non si utilizza OpenShift SDN CNI. | abilitato, con destinazioni in uscita predefinite consentite. |
| route.enabled | Abilita il percorso per raggiungere il servizio. Risoluzione dei problemi avanzata. | vero, true |
| route.hostname | Nome host per l'instradamento. | Rilevato e impostato dall'operatore TA |
| tls.enabled | Abilita TLS tra i contenitori. Risoluzione dei problemi avanzata. | vero, true |
| tls.caCert | Certificato CA per TLS (vedere Istruzioni per la creazione di un certificato cliente ) | impostato da icpa - installer |
| authentication.disabled.liberty | Disabilita l'autenticazione per il server Liberty. Risoluzione dei problemi avanzata. | No |
| authentication.disabled.ui | Disabilita autenticazione per UI. Risoluzione dei problemi avanzata. | No |
| authentication.ocp.authIssuerEndpoint | Endpoint emittente autenticazione. | Rilevato e impostato dall'operatore TA |
| authentication.ocp.apiEndpoint | Endpoint API di autenticazione. | Rilevato e impostato dall'operatore TA |
| authentication.ocp.secretName | Nome segreto per l'autenticazione interna. | segreto - advisor - trasformazione |
| authentication.oidc.endpointPort | Porta endpoint di autenticazione OIDC | Rilevato e impostato dall'operatore TA |
| authentication.thirdparty.identityRequestEndpoint | Endpoint di richiesta di identità di terze parti | Non impostato |
| authentication.thirdparty.identityRequestEndpointPath | Percorso dell'endpoint di richiesta di identità di terze parti | Non impostato |
| authentication.thirdparty.identityRequestEndpointScope | Ambito della richiesta di identità di terze parti | Non impostato |
| authentication.thirdparty.identityRequestEndpointStatePrefix | Prefisso di stato dell'endpoint di richiesta di identità di terze parti | Non impostato |
| authentication.thirdparty.tokenRequestEndpoint | Endpoint di richiesta token di terze parti | Non impostato |
| authentication.thirdparty.tokenRequestEndpointPath | Percorso dell'endpoint di richiesta del token di terze parti | Non impostato |
| authentication.thirdparty.tokenVerificationEndpoint | Endpoint di verifica di terze parti | Non impostato |
| authentication.thirdparty.tokenVerificationEndpointPath | Percorso dell'endpoint di verifica di terze parti | Non impostato |
| couchdb.image | CouchDB tag immagine | Rilevato e impostato dall'operatore TA |
| couchdb.imagePullSecret | Segreto di pull immagine. Utilizzato per accedere al registro intitolato. Il nome deve essere ibm - entitlement - key. Vedere Pianificazione per ulteriori dettagli. | Nessuno |
| couchdb.security.cipherSuites | Suite di cifratura che devono essere supportate (separate da spazi) | ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES128-GCM-SHA256 TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 |
| couchdb.security.tlsVersions | Elenco delle versioni del protocollo SSL/TLS consentite (separate da spazi) | tlsv1.2 |
| couchdb.resources.requests.memory | Memoria richieste (le risorse possono essere modificate in base alla disponibilità. I valori predefiniti sono minimi) | 1Gi |
| couchdb.resources.requests.cpu | Cpu richieste | 500m |
| couchdb.resources.limits.memory | Limita memoria | 8Gi |
| couchdb.resources.limits.cpu | Limita cpu | 16000m |
| couchdb.livenessProbe.initialDelaySeconds | Secondi di ritardo iniziale dell'analisi dell'attività del contenitore (le analisi potrebbero essere modificate in base alle prestazioni del cluster. Nella maggior parte dei casi, tuttavia, le impostazioni predefinite funzionano. Risoluzione dei problemi avanzata.) | 60 |
| couchdb.livenessProbe.timeoutSeconds | Secondi di timeout del probe di attività contenitore. Risoluzione dei problemi avanzata. | 3 |
| couchdb.livenessProbe.periodSeconds | Secondi del periodo di analisi dell'attività del contenitore. Risoluzione dei problemi avanzata. | 5 |
| couchdb.livenessProbe.failureThreshold | Soglia di errore del probe di attività contenitore. Risoluzione dei problemi avanzata. | 6 |
| couchdb.readinessProbe.initialDelaySeconds | Secondi di ritardo iniziale della sonda di disponibilità del contenitore. Risoluzione dei problemi avanzata. | 5 |
| couchdb.readinessProbe.timeoutSeconds | Secondi di timeout del probe di disponibilità del contenitore. Risoluzione dei problemi avanzata. | 3 |
| couchdb.readinessProbe.periodSeconds | Secondi del periodo di analisi di disponibilità del contenitore. Risoluzione dei problemi avanzata. | 5 |
| couchdb.readinessProbe.failureThreshold | Soglia di errore della sonda di disponibilità del contenitore. Risoluzione dei problemi avanzata. | 6 |
| neo4j.image | Riferimento immagine NEO4J | Rilevato e impostato dall'operatore TA |
| neo4j.imagePullSecret | Segreto di pull immagine. Utilizzato per accedere al registro intitolato. Il nome deve essere ibm - entitlement - key. Vedere Pianificazione per ulteriori dettagli. | Nessuno |
| neo4j.resources.requests.memory | Memoria richieste (le risorse possono essere modificate in base alla disponibilità. I valori predefiniti sono minimi) | 1Gi |
| neo4j.resources.requests.cpu | Cpu richieste | 500m |
| neo4j.resources.limits.memory | Limita memoria | 8Gi |
| neo4j.resources.limits.cpu | Limita cpu | 16000m |
| neo4j.livenessProbe.initialDelaySeconds | Secondi di ritardo iniziale dell'analisi dell'attività del contenitore (le analisi potrebbero essere modificate in base alle prestazioni del cluster. Nella maggior parte dei casi, tuttavia, le impostazioni predefinite funzionano. Risoluzione dei problemi avanzata.) | 60 |
| neo4j.livenessProbe.timeoutSeconds | Secondi di timeout del probe di attività contenitore. Risoluzione dei problemi avanzata. | 3 |
| neo4j.livenessProbe.periodSeconds | Secondi del periodo di analisi dell'attività del contenitore. Risoluzione dei problemi avanzata. | 5 |
| neo4j.livenessProbe.failureThreshold | Soglia di errore del probe di attività contenitore. Risoluzione dei problemi avanzata. | 6 |
| neo4j.readinessProbe.initialDelaySeconds | Secondi di ritardo iniziale della sonda di disponibilità del contenitore. Risoluzione dei problemi avanzata. | 5 |
| neo4j.readinessProbe.timeoutSeconds | Secondi di timeout del probe di disponibilità del contenitore. Risoluzione dei problemi avanzata. | 3 |
| neo4j.readinessProbe.periodSeconds | Secondi del periodo di analisi di disponibilità del contenitore. Risoluzione dei problemi avanzata. | 5 |
| neo4j.readinessProbe.failureThreshold | Soglia di errore della sonda di disponibilità del contenitore. Risoluzione dei problemi avanzata. | 6 |
| persistence.enabled | Persistenza abilitata (se disabilitata, tutti i dati andranno persi se il contenitore DB si riavvia). | vero, true |
| persistence.couchdb.accessMode | CouchDB modalità di accesso. | ReadWriteOnce |
| persistence.couchdb.size | CouchDB dimensioni di stoccaggio. | 8Gi |
| persistence.couchdb.useDynamicProvisioning | Utilizzare il provisioning dinamico. Non modificare. | vero, true |
| persistence.couchdb.existingClaim | Rivendicazione pv esistente (di solito si usa il PVC esistente per indicare i dati esistenti) | "" |
| persistence.couchdb.storageClassName | CouchDB nome della classe di archiviazione (ad esempio "rook-ceph-cephfs-internal") | "" |
| persistence.couchdb.supplementalGroups | CouchDB gruppi supplementari (di solito utilizzati per NFS ) | [] |
| persistence.neo4j.accessMode | Neo4j modalità di accesso. | ReadWriteOnce |
| persistence.neo4j.size | Neo4j dimensioni di stoccaggio. | 8Gi |
| persistence.neo4j.useDynamicProvisioning | Utilizzare il provisioning dinamico. Non modificare. | vero, true |
| persistence.neo4j.existingClaim | Rivendicazione pv esistente (di solito si usa il PVC esistente per indicare i dati esistenti) | "" |
| persistence.neo4j.storageClassName | Neo4j nome della classe di archiviazione (ad esempio "rook-ceph-cephfs-internal") | "" |
| persistence.neo4j.supplementalGroups | Neo4j gruppi supplementari (di solito utilizzati per NFS ) | [] |
| transadv.image | Tag immagine server Liberty Transadv. Risoluzione dei problemi avanzata. | |
| transadv.imagePullSecret | Segreto di pull immagine. Utilizzato per accedere al registro intitolato. Il nome deve essere ibm - entitlement - key. Vedere Pianificazione per ulteriori dettagli. | |
| transadv.security.cipherSuites | Suite di cifratura che devono essere supportate (separate da spazi) | TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 |
| transadv.publicUrl | URL pubblico del server Transadv | Rilevato e impostato da TA |
| transadv.image.logLevel | Livello di registrazione del server Transadv | informazioni |
| transadv.resources.requests.memory | Memoria richieste | 1Gi |
| transadv.resources.requests.cpu | Cpu richieste | 500m |
| transadv.resources.limits.memory | Limita memoria | 8Gi |
| transadv.resources.limits.cpu | Limita cpu | 16000m |
| transadv.livenessProbe.initialDelaySeconds | Secondi di ritardo iniziale della sonda di attività del contenitore. Risoluzione dei problemi avanzata. | 60 |
| transadv.livenessProbe.timeoutSeconds | Secondi di timeout del probe di attività contenitore. Risoluzione dei problemi avanzata. | 3 |
| transadv.livenessProbe.periodSeconds | Secondi del periodo di analisi dell'attività del contenitore. Risoluzione dei problemi avanzata. | 5 |
| transadv.livenessProbe.failureThreshold | Soglia di errore del probe di attività contenitore. Risoluzione dei problemi avanzata. | 6 |
| transadv.readinessProbe.initialDelaySeconds | Secondi di ritardo iniziale della sonda di disponibilità del contenitore. Risoluzione dei problemi avanzata. | 60 |
| transadv.readinessProbe.timeoutSeconds | Secondi di timeout del probe di disponibilità del contenitore. Risoluzione dei problemi avanzata. | 3 |
| transadv.readinessProbe.periodSeconds | Secondi del periodo di analisi di disponibilità del contenitore. Risoluzione dei problemi avanzata. | 5 |
| transadv.readinessProbe.failureThreshold | Soglia di errore della sonda di disponibilità del contenitore. Risoluzione dei problemi avanzata. | 6 |
| transadvui.image | Tag immagine UI Transadv. Risoluzione dei problemi avanzata. | |
| transadvui.imagePullSecret | Segreto di pull immagine. Utilizzato per accedere al registro intitolato. Il nome deve essere ibm - entitlement - key. Vedere Pianificazione per ulteriori dettagli. | |
| transadvui.image.logLevel | Livello di registrazione dell'interfaccia utente Transadv | informazioni |
| transadvui.useSecureCookie | Utilizzare un cookie sicuro per l'interfaccia utente Transadv | vero, true |
| transadvui.resources.requests.memory | Memoria richieste | 1Gi |
| transadvui.resources.requests.cpu | Cpu richieste | 500m |
| transadvui.resources.limits.memory | Limita memoria | 4Gi |
| transadvui.resources.limits.cpu | Limita cpu | 16000m |
| transadvui.livenessProbe.initialDelaySeconds | Secondi di ritardo iniziale della sonda di attività del contenitore. Risoluzione dei problemi avanzata. | 60 |
| transadvui.livenessProbe.timeoutSeconds | Secondi di timeout del probe di attività contenitore. Risoluzione dei problemi avanzata. | 5 |
| transadvui.livenessProbe.periodSeconds | Secondi del periodo di analisi dell'attività del contenitore. Risoluzione dei problemi avanzata. | 30 |
| transadvui.livenessProbe.failureThreshold | Soglia di errore del probe di attività contenitore. Risoluzione dei problemi avanzata. | 6 |
| transadvui.readinessProbe.initialDelaySeconds | Secondi di ritardo iniziale della sonda di disponibilità del contenitore. Risoluzione dei problemi avanzata. | 5 |
| transadvui.readinessProbe.timeoutSeconds | Secondi di timeout del probe di disponibilità del contenitore. Risoluzione dei problemi avanzata. | 5 |
| transadvui.readinessProbe.periodSeconds | Secondi del periodo di analisi di disponibilità del contenitore. Risoluzione dei problemi avanzata. | 30 |
| transadvui.readinessProbe.failureThreshold | Soglia di errore della sonda di disponibilità del contenitore. Risoluzione dei problemi avanzata. | 6 |
Configurazione del programma di installazione CASE
Opzioni per l'azione di installazione:
oc ibm-pak launch \
$CASE_NAME \
--version $CASE_VERSION \
--inventory v2InstallProduct \
--namespace $TA_PROJECT \
--action install \
--args "[OPTIONS]"
--licenseType <true|false> : REQUIRED: Must be used and set to a valid license type.
--acceptLicense <true|false> : REQUIRED: Must be used and set to true to proceed with install.
--installIbmCatalog <true|false> : OPTIONAL: If set to true, the IBM operator catalog will be installed if it is not already. Default is false.
--secret <secret> : OPTIONAL: Specify a secret to use to pull the Tranformation Advisor images from entitle registry.
--registry <registry> : OPTIONAL: Specified entitled registry, e.g. cp.icr.io.
--user <user> : OPTIONAL: Specify user to access the entitled registry.
--pass <password> : OPTIONAL: Specify password for user to access entitled registry.
--persistence <true|false> : OPTIONAL: If persistence is required for Transformation Advisor (Default is true).
--accessMode <accessMode> : OPTIONAL: storage accessMode. Default is ReadWriteOnce.
--persistenceClaimCouchDB <claim> : OPTIONAL: Use an existing persistence claim for CouchDB.
--persistenceClaimNeo4j <claim> : OPTIONAL: Use an existing persistence claim for Neo4j.
--storageClass <storage class> : OPTIONAL: Recommended way use persistence with Transformation Advisor. Specify a valid storage class to use.
--supplementalGroups [gid,...] : OPTIONAL: May be used if using file system based storage to ensure database container has read/write permission for the storage.
--hostName <hostname> : OPTIONAL: hostname to access cluster. Transformation Advisor will discover and set this value. It should not need to be changed for most environments.
--apiEndpoint <apiEndpoint> : OPTIONAL: API url for the cluster. Transformation Advisor will discover and set this value. It should not need to be changed for most environments.
--authIssuerEndpoint <aiEndpoint> : OPTIONAL: Auth issuer endpoint for the cluster. Transformation Advisor will discover and set this value. It should not need to be changed for most environments.
--publicUrlServer : OPTIONAL: See docs for more information. Transformation Advisor will discover and set this value. It should not need to be changed for most environments.
--publicUrlUI : OPTIONAL: See docs for more information. Transformation Advisor will discover and set this value. It should not need to be changed for most environments.
--customCACert <file path> : OPTIONAL: Specify file to use as custom CA cert.
--authConfigFile <file path> : OPTIONAL: Specify file to use to configure third party authentication.
--namespaceScoped <true|false> : OPTIONAL: If ommitted, defaults to false. This will make the operator to be insalled into openshift-operators namespace and manage all the namespaces, operand will go into namespace specified by --namespace attribute. If set to true, operator and operand are installed into namespace specified by --namespace attribute.
--taHelp : OPTIONAL: Display options available
Opzioni per l'azione di disinstallazione:
oc ibm-pak launch \
$CASE_NAME \
--version $CASE_VERSION \
--case ibm-transadv \
--inventory v2InstallProduct \
--namespace $TA_PROJECT \
--action uninstall \
--args "[OPTIONS]"
--uninstallIbmCatalog <true|false> : OPTIONAL: If set to true, the IBM operator catalog will be uninstalled. Default is false.
--uninstallTaCatalog <true|false> : OPTIONAL: If set to true, the IBM operator catalog will be uninstalled. Default is false.
Configurare l'autenticazione di terze parti
Per configurare l'autenticazione di terze parti, seguire le indicazioni qui riportate:Aggiornare il sito di terze parti OAuthClient o OAuthApp
È necessario configurare il reindirizzamento URL per consentire il reindirizzamento OAuthClient o OAuthApp a Transformation Advisor Percorso dell'interfaccia utente.
L'URL di reindirizzamento è " your-ta-ui-route/auth/callback
Ad esempio, https://ta.apps.ken.cp.fyre.ibm.com/auth/callback, dove https://ta.apps.ken.cp.fyre.ibm.com è la rotta dell'interfaccia utente Transformation Advisor Percorso dell'interfaccia utente.
È possibile ottenere questo percorso dall'interfaccia OCP nella navigazione: 'Networking -> Routes -> ta-ui-route -> Location
Configurazione di MFA
L'integrazione dell'autenticazione a più fattori (MFA) con Red Hat OpenShift Container Platform rafforza la sicurezza richiedendo agli utenti di verificare la propria identità attraverso più metodi, come una password, un codice di accesso unico (OTP) o altri fattori di verifica supportati. Red Hat OpenShift non applica l'MFA in modo nativo. Per ulteriori informazioni, vedere Come integrare l'autenticazione a più fattori per l'autenticazione in OpenShift 4.
ID client e segreto
Prima di Transformation Advisor 3.4.0 è necessario aggiornare l'ID e il segreto del client OAuthClient's o OAuthApp's nella configurazione dell'istanza Transformation Advisor configurazione dell'istanza utilizzando le proprietà authentication.oidc.clientId e authentication.oidc.clientSecret.
Transformation Advisor 3.4.0 o dopo, è necessario fornire l'Id del client e il segreto del client in un transformation-advisor-secret segreto prima dell'installazione Transformation Advisor. Ecco il comando:
oc create secret generic transformation-advisor-secret \
--from-literal=clientId=your-clientId-value \
--from-literal=clientSecret=your-clientSecret-value
In alternativa, è possibile aggiornare il segreto dopo l'installazione di Transformation Advisor. Ecco il comando:
oc patch secret transformation-advisor-secret \
-p '{"data":{"'"clientId"'": "'"your-clientId-value"'", "'"clientSecret"'": "'"your-clientSecret-value"'"}}' --type=merge
Quindi, potrebbe essere necessario eliminare i pod Server e UI, in modo che i nuovi valori segreti possano essere applicati ai pod.
transformation-advisor-secret è utilizzato per altre credenziali interne. Queste altre credenziali sono generate automaticamente, se non già presenti nel segreto, al momento della creazione dell'istanza Transformation Advisor viene creata l'istanza.Aggiornamento del criterio di rete in uscita
Assicurati di aggiungere gli endpoint utilizzati dalla terze parti alla politica di rete Egress. Istruzioni disponibili all'indirizzo: Egress Network Policy (ENP)Configurazione dell'autenticazione di terze parti - Installazione dell'interfaccia utente
IAM
Transformation Advisor può essere configurato per utilizzare IBM Identity and Access Management (IAM) come fonte di autenticazione.
Eseguire la registrazione di OpenID Connect (OIDC) come da istruzioni qui: https://www.ibm.com/docs/en/cpfs?topic=sign-automated-client-registration-method-3
Seguendo la procedura del punto 1, verrà creato un segreto che contiene clientId e clientSecret. Aggiungere clientId e clientSecret al file Transformation Advisor segreto (come specificato nella proprietà:
authentication.ocp.secretName).Aggiornare i valori Transformation Advisor i valori di configurazione come segue:
description: "IAM"
identityRequestEndpoint: "https://cp-console.<OCP domain>:443"
identityRequestEndpointPath: "/idprovider/v1/auth/authorize"
identityRequestEndpointScope: "openid+profile+email"
identityRequestEndpointStatePrefix: ""
tokenRequestEndpoint: "https://cp-console.<OCP domain>:443"
tokenRequestEndpointPath: "/idprovider/v1/auth/token"
tokenVerificationEndpoint: "https://cp-console.<OCP domain>:443"
tokenVerificationEndpointPath: "/idprovider/v1/auth/userInfo"
OAuth Github
Di seguito è riportato un esempio della configurazione richiesta nell'oggetto di configurazione thirdparty per utilizzare OAuth Github:
description: "github"
identityRequestEndpoint: "https://github.com"
identityRequestEndpointPath: "/login/oauth/authorize"
identityRequestEndpointScope: "openid+offline"
identityRequestEndpointStatePrefix: ""
tokenRequestEndpoint: "https://github.com"
tokenRequestEndpointPath: "/login/oauth/access_token"
tokenVerificationEndpoint: "https://api.github.com"
tokenVerificationEndpointPath: "/user"
OAuth Box
Di seguito è riportato un esempio della configurazione richiesta nell'oggetto di configurazione thirdparty per utilizzare Box OAuth:
description: "box"
identityRequestEndpoint: "https://account.box.com"
identityRequestEndpointPath: "/api/oauth2/authorize"
identityRequestEndpointScope: "root_readonly"
identityRequestEndpointStatePrefix: ""
tokenRequestEndpoint: "https://api.box.com"
tokenRequestEndpointPath: "/oauth2/token"
tokenVerificationEndpoint: "https://api.box.com"
tokenVerificationEndpointPath: "/2.0/users/me"
Configurazione dell'autenticazione di terze parti - CASE install
Specificare un file di configurazione di autenticazione di terze parti usando l'opzione --authConfigFile con l'azione CASE install .
Di seguito è riportato un esempio di file che utilizza GitHub OAuth:
Non modificare il formato del file.
# set to true to disable authentication on UI server
TA_AUTH_UI_DISABLED=false
# set to true to disable authentication on Liberty server
TA_AUTH_LIBERTY_DISABLED=false
# OAuth2 Server client id
TA_AUTH_OIDC_CLIENT_ID=xxx
# OAuth2 Server client secret
TA_AUTH_OIDC_CLIENT_SECRET=xxx
# endpoint to request identity of the OAuth2 Server, no tailing /
TA_AUTH_IDENTITY_REQUEST_ENDPOINT=https://github.com
# path of the endpoint to request identity to OAuth2 Server, with heading /
TA_AUTH_IDENTITY_REQUEST_ENDPOINT_PATH=/login/oauth/authorize
# OAuth2 scope
TA_AUTH_IDENTITY_REQUEST_ENDPOINT_SCOPE=openid+offline
# some OAuth2 state requires minimum length, default to empty
TA_AUTH_CALLBACK_STATE_PREFIX_PADDING=
# endpoint to request token of the OAuth2 Server, no tailing /
TA_AUTH_TOKEN_REQUEST_ENDPOINT=https://github.com
# path of the endpoint to request token of the OAuth2 Server, with heading /
TA_AUTH_TOKEN_REQUEST_ENDPOINT_PATH=/login/oauth/access_token
# endpoint to verify tokens of the OAuth2 Server, no tailing /
TA_AUTH_TOKEN_VERIFICATION_ENDPOINT=https://api.github.com
# path to the endpoint to verify tokens of the OAuth2 Server, with heading /
TA_AUTH_TOKEN_VERIFICATION_ENDPOINT_PATH=/user
Abilita BYOK (Bring Your Own Key)
È possibile portare il proprio certificato (denominato cert nel resto della sezione) e la chiave utilizzata per il TLS interno.
Presupponendo:
- Il certificato pubblico è
public.crte la chiave privata èprivate.pem. - Transformation Advisor è o deve essere installato nello spazio dei nomi
ta.
Ecco un esempio di come ottenere un certificato e una coppia di chiavi, e il tuo certificato e la tua chiave saranno nello stesso formato:
openssl req -newkey rsa:2048 -nodes -keyout private.pem -x509 -days 730 -out public.crt -subj "/C=IE/ST=Cork/L=Cork/O=IBM/CN=internal.ta.ibm.com" -addext "subjectAltName=DNS:ta-couchdb.<namespace>.svc,DNS:*.ta-couchdb.<namespace>.svc,DNS:*.ta-couchdb.<namespace>.svc.cluster.local,DNS:ta-couchdb.<namespace>.svc.cluster.local
Dopo aver ottenuto la tua coppia di chiavi e certificato, segui la procedura per abilitare il tuo certificato e la tua chiave:
Passare allo spazio dei nomi
tao crearne uno se non è stato installato Transformation Advisor.# switch the project oc project taoppure
# create ta ns if it's not already there oc create ns taCancellare la Transformation Advisor
transformation-advisor-secret, se esiste.oc delete secret transformation-advisor-secretSe si esegue l'installazione tramite l'utilità di installazione CASE , passare il file
--customCACert <public.crt>dove<public.crt>è il percorso completo al file public.crt .Se l'installazione avviene tramite la IU OpenShift , aggiorna la proprietà
caCertnella risorsa personalizzata YAML. Per maggiori dettagli sull'accesso alla risorsa YAML personalizzata dall'interfaccia utente, vedere Installazione.Ecco un esempio di
caCertnella risorsa personalizzata YAML:tls: enabled: true caCert: | -----BEGIN CERTIFICATE----- MIIDKjCCAhICCQCjbqTC95dw+jANBgkqhkiG9w0BAQsFADBXMQswCQYDVQQGEwJJ RTENMAsGA1UECAwEQ29yazENMAsGA1UEBwwEQ29yazEMMAoGA1UECgwDSUJNMRww GgYDVQQDDBNpbnRlcm5hbC50YS5pYm0uY29tMB4XDTIwMDEyMDEzMjkxMVoXDTIy MDExOTEzMjkxMVowVzELMAkGA1UEBhMCSUUxDTALBgNVBAgMBENvcmsxDTALBgNV BAcMBENvcmsxDDAKBgNVBAoMA0lCTTEcMBoGA1UEAwwTaW50ZXJuYWwudGEuaWJt LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMIGfSptUnimmxZ IdVK6uLscJQetel+MX7u4viIaBwdd/IGDE7GHDHEYYFmEfv+gYbVT1+EAkdiLtHG SutUMPxpbUyv1xCW+9z3nDInHKzZxHMJJwB5j4+oVq+XkdXzZu2hwuoc0aA7Ek3r L6FFPIQi9bcmayuOa7HRpH43+86JuJF8tcx1MrDxWzBJraZNuvDVLs574qr/eM2d x5N+qkJqwOy94k0eH+x7kAKRp6vBEcVR+I/HHYDZSnC4UNEX8I/NbCS3wMUXysC9 lcC2vsIKrCRSn9Fu/ixWwlGy6QV1my4H6ZPtvJV56fcS42523KTDbT628Xa9B3/p cX0WZWMCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEADIyp9A4p46DZ6brEbL0e+wWf bnnymf1QZWcz4xrrMW2CcKBmRqFIPFPBpSEbCKlsFaZex5863z7dsa5SU7fHRdHF Yk9t8mGu2B+yZF6nW4biPmezaDLPi9VUomxcd+/rxWKhZJIufWXxs22AOhNQHeeK PSjP8RPCh1Gny7kC3jUz1Q/wd4QF/OGeu+Xf5jhERpJPfjKMtPMPJPGiPYSqhYQM VA6G83nZVlPDtnFJ28AzZU2/YtvCzhU66Ua5PjbSG1w6QsXZt/lE3E9utcJ+MNQi 3JwrLp4/97cupXsGmPPmkvH50LB8ex/N/ra6QOLGLm0gU218yXu7KezOfZNkTw== -----END CERTIFICATE-----È possibile copiare e incollare manualmente nell'ubicazione. Ricordate che l'indentazione è importante. Ci sono 2 spazi aggiuntivi per ogni linea del cert rispetto alla linea di
caCert.Ricreare il Transformation Advisor segreto.
# create key.p12 openssl pkcs12 -export -inkey private.pem -in public.crt -name default -out key.p12 -passout pass:plain-text-password # base64 encode private.pem and public.crt base64 -w 0 ./private.pem > private-base64 base64 -w 0 ./public.crt > public-base64 # on Mac # base64 ./private.pem > private-base64 # base64 ./public.crt > public-base64 # create key and initial vector for AES-CBC-256 (P) # key length for aes256 is 256 bits around 32 characters TA_TEMP_KEY=`LC_CTYPE=C tr -dc A-Za-z0-9_ < /dev/urandom | head -c 32 | xargs` # key length for aes256 is 128 bits around 16 characters TA_TEMP_IV=`LC_CTYPE=C tr -dc A-Za-z0-9_ < /dev/urandom | head -c 16 | xargs` # create transformation-advisor-secret oc create secret generic transformation-advisor-secret \ --from-literal=db_username='plain-text-username' --from-literal=secret='plain-text-password' \ --from-file=ta_public_key=./public-base64 --from-file=ta_private_key=./private-base64 \ --from-literal=ta_aes_key=$TA_TEMP_KEY --from-literal=ta_aes_iv=$TA_TEMP_IV \ --from-file=key.p12=key.p12
Ora è possibile procedere con l'installazione.
transformation-advisor-secret è utilizzato per altre credenziali interne. Queste altre credenziali sono generate automaticamente, se non già presenti nel segreto, al momento della creazione dell'istanza Transformation Advisor viene creata l'istanza.Creare un segreto di estrazione dell'immagine per estrarre le immagini del registro aventi diritto
Per usufruire del supporto per Transformation Advisor è necessario fornire i permessi di accesso al Registro con titolo, creando un Image Pull Secret e puntando ad esso durante l'installazione. Il nome del segreto deve essere ibm-entitlement-key. Un segreto deve essere creato nello stesso spazio dei nomi in cui è installata l'istanza del prodotto o a livello globale.
Per maggiori dettagli, consultare il documento Accesso alle immagini del registro immagini. Ecco come puntare al segreto dalla Transformation Advisor dalla pagina di configurazione dell'istanza:
couchdb:
imagePullSecret: ibm-entitlement-key
neo4j:
imagePullSecret: ibm-entitlement-key
transadv:
imagePullSecret: ibm-entitlement-key
transadvui:
imagePullSecret: ibm-entitlement-key
Fornire le proprie credenziali per accedere al Transformation Advisor ai DB interni di
Transformation Advisor crea credenziali casuali per comunicare con i DB interni ( CouchDB e Neo4j ) alla prima installazione.
Tuttavia, è possibile fornire le proprie credenziali a questo scopo.
Le credenziali sono conservate in un oggetto Kubernetes secret (chiamato transformation-advisor-secret per impostazione predefinita), che può essere creato come segue:
TA_TEMP_KEY=`LC_CTYPE=C tr -dc A-Za-z0-9_ < /dev/urandom | head -c 32 | xargs`
TA_TEMP_IV=`LC_CTYPE=C tr -dc A-Za-z0-9_ < /dev/urandom | head -c 16 | xargs`
oc -n <YOUR_TA_INSTANCE_NAMESPACE> create secret generic <YOUR_SECRET_NAME> \
--from-literal=db_username=<YOUR_COUCHDB_USERNAME> \
--from-literal=secret=<YOUR_COUCHDB_PASSWORD> \
--from-literal=db_nonadmin_user=<YOUR_COUCHDB_NONADMIN_USERNAME> \
--from-literal=db_nonadmin_secret=<YOUR_COUCHDB_NONADMIN_PASSWORD> \
--from-literal=neo4j_username=<YOUR_NEO4J_USERNAME> \
--from-literal=neo4j_secret=<YOUR_NEO4J_PASSWORD> \
--from-literal=neo4j_auth=neo4j/<YOUR_NEO4J_PASSWORD>
Leggere la sezione Re-create the TA secret di questo documento per vedere come creare i file public-base64 e private-base64 .
È possibile fornire il proprio nome segreto al momento dell'installazione di un'istanza di Transformation Advisor in: .authentication.ocp.secretName
Modifica delle suite di cifratura e delle versioni TLS
Le suite di cifratura vengono impostate automaticamente per Neo4j e per il contenitore dell'interfaccia utente.
Per i contenitori Server e CouchDB, è possibile impostarli manualmente modificando queste variabili al momento dell'installazione: couchdb.security.cipherSuites e transadv.security.cipherSuites.
Consultate i valori predefiniti nella tabella precedente. Aggiungere il proprio come stringa separata da spazi bianchi.
Allo stesso modo, le versioni TLS possono essere impostate manualmente per il contenitore CouchDB. La variabile per questo è 'couchdb.security.tlsVersions. Per i valori predefiniti, vedere la tabella precedente.