Criando um nome de usuário e EDB Postgres senha personalizados
Você pode criar credenciais personalizadas para usuários de aplicativos e superusuários se conectarem às suas EDB Postgres instâncias de banco de dados no IBM Cloud Pak for Data.
Sobre esta tarefa
Por padrão, EDB Postgres as credenciais são geradas automaticamente. Quaisquer nomes de usuário e senhas personalizados que você criar serão armazenados como um segredo para cada instância de banco de dados e tipo de usuário.
Procedimento
- Crie um segredo para armazenar suas credenciais personalizadas. Os comandos que você usa dependem se você está criando credenciais personalizadas para usuários do aplicativo, superusuários ou ambos.
- Usuários do aplicativo
- Opção 1:
- Defina as variáveis de
EDB_USERNAMEambienteEDB_PASSWORDe com seu base64-encoded nome de usuário e senha.export EDB_USERNAME=$(echo -n "<username>" | base64) export EDB_PASSWORD=$(echo -n "<password>" | base64) - Crie um segredo para armazenar suas credenciais executando o seguinte comando. Insira a senha e o nome de usuário de sua escolha nos campos respectivos.
cat <<EOF | oc apply -n ${PROJECT_CPD_INST_OPERANDS} -f - apiVersion: v1 data: username: ${EDB_USERNAME} password: ${EDB_PASSWORD} kind: Secret metadata: name: edb-advanced-app-user type: kubernetes.io/basic-auth EOF - Verifique seu novo segredo executando o seguinte comando:
oc get secret edb-advanced-app-user -o jsonpath="{.data.username}" | base64 --decode oc get secret edb-advanced-app-user -o jsonpath="{.data.password}" | base64 --decode
- Defina as variáveis de
- Opção 2:
- Crie um segredo para armazenar suas credenciais executando o seguinte comando. Insira a senha e o nome de usuário de sua escolha nos campos respectivos.
oc create secret generic edb-advanced-app-user --from-literal='username=<username>' --from-literal='password=<password>' -n ${PROJECT_CPD_INST_OPERANDS} - Verifique seu novo segredo executando o seguinte comando:
oc get secret edb-advanced-app-user -o jsonpath="{.data.username}" | base64 --decode oc get secret edb-advanced-app-user -o jsonpath="{.data.password}" | base64 --decode
- Crie um segredo para armazenar suas credenciais executando o seguinte comando. Insira a senha e o nome de usuário de sua escolha nos campos respectivos.
- Superusuários
- Opção 1:
- Defina as variáveis de
EDB_USERNAMEambienteEDB_PASSWORDe para o seu base64-encoded nome de usuário.export EDB_USERNAME=$(echo -n "<username>" | base64) export EDB_PASSWORD=$(echo -n "<password>" | base64) - Crie um segredo para armazenar suas credenciais executando o seguinte comando. Insira a senha e o nome de usuário de sua escolha nos campos respectivos.
cat <<EOF | oc apply -n ${PROJECT_CPD_INST_OPERANDS} -f - apiVersion: v1 data: username: ${EDB_USERNAME} password: ${EDB_PASSWORD} kind: Secret metadata: name: edb-advanced-app-superuser type: kubernetes.io/basic-auth EOF - Verifique seu novo segredo executando o seguinte comando:
oc get secret edb-advanced-app-superuser -o jsonpath="{.data.username}" | base64 --decode oc get secret edb-advanced-app-superuser -o jsonpath="{.data.password}" | base64 --decode
- Defina as variáveis de
- Opção 2:
- Crie um segredo para armazenar suas credenciais executando o seguinte comando. Insira a senha e o nome de usuário de sua escolha nos campos respectivos.
oc create secret generic edb-advanced-app-superuser --from-literal='username=<username>' --from-literal='password=<password>' -n ${PROJECT_CPD_INST_OPERANDS} - Verifique seu novo segredo executando o seguinte comando:
oc get secret edb-advanced-app-superuser -o jsonpath="{.data.username}" | base64 --decode oc get secret edb-advanced-app-superuser -o jsonpath="{.data.password}" | base64 --decode
- Crie um segredo para armazenar suas credenciais executando o seguinte comando. Insira a senha e o nome de usuário de sua escolha nos campos respectivos.
- Aplique o segredo à sua instância EDB Postgres de banco de dados usando o console da web ou recurso personalizado.
- Usando o console da web:
- No console da web, clique em Adicionar credenciais personalizadas (opcional).
- Insira sua senha personalizada. Por exemplo, edb-advanced-superuser para um superusuário de aplicativo.
- Usando um recurso personalizado:
- Defina a variável de ambiente EDB_INSTANCE_NAME com o nome da instância do banco de dados para a qual você deseja definir as credenciais personalizadas:
export EDB_INSTANCE_NAME=<name> - Defina a variável de ambiente EDB_INSTANCE_TYPE para o tipo EDB Postgres de banco de dados. Os valores válidos são
EnterpriseouStandard.export EDB_INSTANCE_TYPE=<EDBInstanceType> - Para aplicar credenciais personalizadas para usuários do aplicativo ou superusuários, ou ambos, para sua instância de banco de dados, modifique seu arquivo YAML de recursos personalizados e aplique-o ao seu projeto.
apiVersion: edb.cpd.ibm.com/v1 kind: CPDEdbInstance metadata: name: ${EDB_INSTANCE_NAME} spec: type: ${EDB_INSTANCE_TYPE} imageRepository: "cp.stg.icr.io/cp/cpd" # Travis pipeline will insert here members: 3 version: "12.9" storageClass: nfs-client storageSize: 100Gi resources: requests: cpu: 1 memory: 4Gi limits: cpu: 1 memory: 4Gi # # Use custom secret userSecret: edb-advanced-app-user # # Use custom superuserSecret superuserSecret: edb-advanced-superuser
- Defina a variável de ambiente EDB_INSTANCE_NAME com o nome da instância do banco de dados para a qual você deseja definir as credenciais personalizadas:
- Decodifique o segredo com o seguinte comando:
echo '<password>' | base64 -dA saída exibida deve ser semelhante ao seguinte exemplo:
uN3i1Hh0bYbCc4TyVAacBhmSzgqtzqxmOVjAn0QIChsJrSmu9PY2fw2q8EKKLpZ9Você decodificou o nome de usuário e a senha.
- Verifique se as novas credenciais foram aplicadas com o seguinte comando:
- Usuários do aplicativo:
oc exec -it ${EDB_INSTANCE_NAME}-user-edb-db-1 -n ${PROJECT_CPD_INST_OPERANDS} bashA saída exibida deve ser semelhante ao seguinte exemplo:
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl kubectl exec [POD] -- [COMMAND] instead. bash-4.4$ psql -p 5432 -h 127.0.0.1 -U app Password for user app: password psql (12.9) SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off) Type "help" for help. app=>- Superusuários:
oc exec -it ${EDB_INSTANCE_NAME}-superuser-edb-db-1 -n ${PROJECT_CPD_INST_OPERANDS} bashA saída exibida deve ser semelhante ao seguinte exemplo:
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl kubectl exec [POD] -- [COMMAND] instead. bash-4.4$ psql -p 5432 -h 127.0.0.1 -U postgres Password for user postgres: uN3i1Hh0bYbCc4TyVAacBhmSzgqtzqxmOVjAn0QIChsJrSmu9PY2fw2q8EKKLpZ9 psql (12.9) SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off) Type "help" for help. postgres=#