Los secretos se pueden usar en CodeCatalyst para almacenar datos confidenciales a los que se puede hacer referencia en los flujos de trabajo. Puede añadir un secreto a su esquema personalizado y hacer referencia a él en su flujo de trabajo. Para obtener más información, consulte Enmascaramiento de datos mediante secretos.
Importación del tipo de región de los esquemas de Amazon CodeCatalyst
Añada lo siguiente al archivo blueprint.ts
:
import { Secret, SecretDefinition } from '@amazon-codecatalyst/blueprint-component.secrets'
Creación de un secreto
El siguiente ejemplo crea un componente de IU que solicita al usuario que introduzca un valor de secreto y una descripción opcional:
export interface Options extends ParentOptions { ... mySecret: SecretDefinition; } export class Blueprint extends ParentBlueprint { constructor(options_: Options) { new Secret(this, options.secret); }
El componente secreto requiere un name
. El siguiente código es la forma predeterminada mínima requerida:
{ ... "secret": { "name": "secretName" }, }
Referencia a un secreto en un flujo de trabajo
En el siguiente esquema de ejemplo, se crea un secreto y un flujo de trabajo que hace referencia al valor del secreto. Para obtener más información, consulte Referencia a un secreto en un flujo de trabajo.
export interface Options extends ParentOptions { ... /** * * @validationRegex /^\w+$/ */ username: string; password: SecretDefinition; } export class Blueprint extends ParentBlueprint { constructor(options_: Options) { const password = new Secret(this, options_.password); const workflowBuilder = new WorkflowBuilder(this, { Name: 'my_workflow', }); workflowBuilder.addBuildAction({ actionName: 'download_files', input: { Sources: ['WorkflowSource'], }, output: { Artifacts: [{ Name: 'download', Files: ['file1'] }], }, steps: [ `curl -u ${options_.username}:${password.reference} https://example.com`, ], }); new Workflow( this, repo, workflowBuilder.getDefinition(), ); }
Para obtener más información sobre el uso de secretos en CodeCatalyst, consulte Enmascaramiento de datos mediante secretos.