

• O AWS Systems Manager CloudWatch Dashboard não estará mais disponível a partir de 30 de abril de 2026. Os clientes podem continuar usando o console do Amazon CloudWatch para visualizar, criar e gerenciar os painéis do Amazon CloudWatch exatamente como fazem hoje. Para obter mais informações, consulte a [documentação do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

# Exemplos de código do provedor de configuração e do AWS Secrets
<a name="ascp-examples"></a>

## Exemplos de autenticação do ASCP e controle de acesso
<a name="ascp-auth-access-examples"></a>

### Exemplo: política do IAM que permite que o serviço da Identidade de Pods do Amazon EKS (pods.eks.amazonaws.com) assuma o perfil e marque a sessão:
<a name="ascp-auth-access-example-1"></a>

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "pods.eks.amazonaws.com"
      },
      "Action": [
        "sts:AssumeRole",
        "sts:TagSession"
      ]
    }
  ]
}
```

------

## SecretProviderClass
<a name="ascp-examples-secretproviderclass"></a>

Você usa o YAML para descrever quais parâmetros devem ser montados no Amazon EKS usando o ASCP. Para obter exemplos, consulte [Uso do SecretProviderClass](#ascp-scenarios-secretproviderclass).

### Estrutura SecretProviderClass do YAML
<a name="ascp-examples-secretproviderclass-1"></a>

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
   name: name
spec:
  provider: aws
  parameters:
    region:
    failoverRegion:
    pathTranslation:
    usePodIdentity:
    preferredAddressType:
    objects:
```

O campo de parâmetros contém os detalhes da solicitação de montagem:

**region**  
(Opcional) A Região da AWS do parâmetro. Se você não usar esse campo, o ASCP procurará a Região a partir da anotação no nó. Essa pesquisa adiciona sobrecarga às solicitações de montagem, portanto, recomendamos que você forneça a região para clusters que usam um grande número de pods.  
Se você também especificar `failoverRegion`, o ASCP tentará recuperar o parâmetro de ambas as regiões. Se qualquer uma das regiões retornar um erro `4xx`, por exemplo, para um problema de autenticação, o ASCP não montará nenhum parâmetro. Se o parâmetro for recuperado com êxito de `region```, o ASCP montará o valor desse parâmetro. Se o parâmetro não for recuperado com êxito de `region`, mas for recuperado com êxito de `failoverRegion`, o ASCP montará o valor desse parâmetro.

**`failoverRegion`**  
(Opcional) Se você incluir este campo, o ASCP tentará recuperar o parâmetro das regiões definidas em `region` e neste campo. Se qualquer uma das regiões retornar um erro `4xx`, por exemplo, para um problema de autenticação, o ASCP não montará nenhum parâmetro. Se o parâmetro for recuperado com êxito de `region`, o ASCP montará o valor desse parâmetro. Se o parâmetro não for recuperado com êxito de `region`, mas for recuperado com êxito de `failoverRegion`, o ASCP montará o valor desse parâmetro. Para obter um exemplo de como usar esse campo, consulte [Failover de parâmetros multirregionais](#multi-region-failover).

**pathTranslation**  
(Opcional) Um só caractere de substituição para usar se o nome de arquivo no Amazon EKS vá conter o caractere separador de caminho, como barra (/) no Linux. O ASCP não poderá criar um arquivo montado que contenha um caractere separador de caminho. Em vez disso, o ASCP substituirá o caractere separador de caminho por outro caractere. Se você não usar esse campo, o caractere substituto será um sublinhado (\$1), portanto, por exemplo,`My/Path/Parameter` será montado como `My_Path_Parameter`.   
Para impedir a substituição de caracteres, digite a string `False`.

***usePodIdentity***  
(Opcional) Determina a abordagem de autenticação. Quando não especificado, o padrão é Perfis do IAM para contas de serviço (IRSA).  
+ Para usar a Identidade de Pods do EKS, use qualquer um destes valores: `"true"`, `"True"`, `"TRUE"`, `"t"` ou `"T"`.
+ Para usar explicitamente o IRSA, defina qualquer um destes valores: `"false"`, `"False"`, `"FALSE"`, `"f"` ou `"F"`"=.

***preferredAddressType***  
(Opcional) Especifica o tipo de endereço IP preferencial para comunicação de endpoints do atendente da Identidade de Pods. O campo só será aplicável ao usar o recurso de Identidade de Pods do EKS, e será ignorado ao usar perfis do IAM para contas de serviço. Os valores não diferenciam maiúsculas de minúsculas. Os valores válidos são:  
+ `"ipv4"`, `"IPv4"` ou `"IPV4"`: force o uso do endpoint IPv4 do atendente da Identidade de Pods
+ `"ipv6"`, `"IPv6"` ou `"IPV6"`: force o uso do endpoint IPv6 do atendente da Identidade de Pods
+ não especificado: use a seleção automática de endpoints, testando primeiro o endpoint IPv4 e voltando para o endpoint IPv6, se o IPv4 falhar

**objects**  
Uma string contendo uma declaração do YAML dos segredos a serem montados. Recomendamos o uso de uma string com várias linhas ou um caractere pipe (\$1) no YAML.    
**objectName**  
Obrigatório. Especifica o nome do parâmetro ou segredo a ser buscado. Para Parameter Store, este é o [https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html#API_GetParameter_RequestParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html#API_GetParameter_RequestParameters) do parâmetro e pode ser o nome ou o ARN completo do parâmetro. Para o Secrets Manager, este é o parâmetro [https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html#API_GetSecretValue_RequestParameters](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html#API_GetSecretValue_RequestParameters) e pode ser o nome amigável ou o ARN completo do segredo.   
**objectType**  
Necessário se você não usar um ARN do Secrets Manager para `objectName`. Para Parameter Store, use `ssmparameter`. Para o Secrets Manager, use `secretsmanager`.   
**objectAlias**  
(Opcional) O nome do arquivo do segredo no pod do Amazon EKS. Se você não especificar esse campo, o `objectName` aparece como o nome do arquivo.  
**objectVersion**  
(Opcional) O ID da versão do parâmetro. Não recomendado porque você deverá atualizar o ID da versão sempre que atualizar o parâmetro. Por padrão, a versão mais recente é usada. Se você incluir um `failoverRegion`, esse campo representará o `objectVersion` primário.  
**objectVersionLabel**  
(Opcional) O alias da versão. O padrão é a versão mais recente `AWSCURRENT`. Se você incluir um `failoverRegion`, esse campo representará o `objectVersionLabel` primário.  
**jmesPath**  
(Opcional) Um mapa das chaves no parâmetro para os arquivos a serem montados no Amazon EKS. Para usar esse campo, o valor do parâmetro deve estar no formato JSON.   
O exemplo a seguir mostra a aparência de um parâmetro codificado em JSON.  

```
{
    "username" : "myusername",
    "password" : "mypassword"
}
```
As chaves são`username`e`password`. O valor associado a`username`é`myusername`, e o valor associado a`password`é`mypassword`.  
Se você usar esse campo, deverá incluir os subcampos `path` e `objectAlias`.    
**caminho**  
Uma chave de um par de chave/valor no JSON do valor do parâmetro. Se o campo contiver um hífen, use aspas simples para delimitá-lo, por exemplo: `path: '"hyphenated-path"'`  
**objectAlias**  
O nome do arquivo a ser montado no pod Amazon EKS. Se o campo contiver um hífen, use aspas simples para delimitá-lo, por exemplo: `objectAlias: '"hyphenated-alias"'`  
**`failoverObject`**  
(Opcional) Se você especificar este campo, o ASCP tentará recuperar o parâmetro especificado no `objectName` primário e o parâmetro especificado no subcampo `objectName` de `failoverObject`. Se qualquer um retornar um erro `4xx`, por exemplo, para um problema de autenticação, o ASCP não montará nenhum parâmetro. Se o parâmetro for recuperado com êxito do `objectName` primário, o ASCP montará o valor desse parâmetro. Se o parâmetro não for recuperado com êxito do `objectName` primário, mas for recuperado com êxito do `objectName` do failover, o ASCP montará o valor desse parâmetro. Se incluir esse campo, será necessário incluir o campo `objectAlias`. Para obter um exemplo de como usar esse campo, consulte [Failover para um parâmetro diferente](#failover-parameter).  
Normalmente, você usa esse campo quando o parâmetro de failover não é uma réplica. Para obter um exemplo de como especificar uma réplica, consulte [Failover de parâmetros multirregionais](#multi-region-failover).    
**objectName**  
O nome ou o ARN completo do parâmetro de failover. Se você usar um ARN, a região no ARN deverá corresponder ao campo `failoverRegion`.  
**objectVersion**  
(Opcional) O ID da versão do parâmetro. Deve corresponder ao `objectVersion` primário. Não recomendado porque você deverá atualizar o ID da versão sempre que atualizar o parâmetro. Por padrão, a versão mais recente é usada.   
**objectVersionLabel**  
(Opcional) O alias da versão. O padrão é a versão mais recente `AWSCURRENT`.

### Crie uma configuração básica de SecretProviderClass para montar parâmetros nos pods do Amazon EKS.
<a name="create-SecretProviderClass-config"></a>

------
#### [ Pod Identity ]

SecretProviderClass para usar um parâmetro no mesmo cluster do Amazon EKS:

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: aws-parameter-store
spec:
  provider: aws
  parameters:
    objects: |
      - objectName: "MyParameter"
        objectType: "ssmparameter"
    usePodIdentity: "true"
```

------
#### [ IRSA ]

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: deployment-aws-parameter
spec:
  provider: aws
  parameters:
    objects: |
        - objectName: "MyParameter"
          objectType: "ssmparameter"
```

------

### Uso do SecretProviderClass
<a name="ascp-scenarios-secretproviderclass"></a>

Use estes exemplos para criar configurações de `SecretProviderClass` para diferentes cenários.

#### Exemplo: montar parâmetros por nome ou ARN
<a name="mount-by-name-arn"></a>

Este exemplo mostra como montar três tipos diferentes de parâmetros:
+ Um parâmetro especificado por ARN completo
+ Um parâmetro especificado por nome
+ Uma versão de parâmetro de um segredo

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: aws-parameters
spec:
  provider: aws
  parameters:
    objects: |
      - objectName: "arn:aws:ssm:us-east-2:777788889999:parameter:MyParameter2-d4e5f6"
      - objectName: "MyParameter3"
        objectType: "ssmparameter"
      - objectName: "MyParameter4"
        objectType: "ssmparameter"
        objectVersionLabel: "AWSCURRENT"
```

#### Exemplo: montar pares de chave/valor de um parâmetro
<a name="mount-key-value-pairs"></a>

Este exemplo mostra como montar pares de chave-valor específicos de um parâmetro formatado em JSON:

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: aws-parameters
spec:
  provider: aws
  parameters:
    objects: |
      - objectName: "arn:aws:ssm:us-east-2:777788889999:parameter:MyParameter-a1b2c3"
        jmesPath: 
            - path: username
              objectAlias: dbusername
            - path: password
              objectAlias: dbpassword
```

#### Exemplo: exemplos de configuração de failover
<a name="failover-examples"></a>

Estes exemplos mostram como configurar o failover para parâmetros.

##### Failover de parâmetros multirregionais
<a name="multi-region-failover"></a>

Este exemplo mostra como configurar o failover automático para um parâmetro replicado em várias regiões:

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: aws-parameters
spec:
  provider: aws
  parameters:
    region: us-east-1
    failoverRegion: us-east-2
    objects: |
      - objectName: "MyParameter"
```

##### Failover para um parâmetro diferente
<a name="failover-parameter"></a>

Este exemplo mostra como configurar o failover para um parâmetro diferente (não uma réplica):

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: aws-parameters
spec:
  provider: aws
  parameters:
    region: us-east-1
    failoverRegion: us-east-2
    objects: |
      - objectName: "arn:aws:ssm:us-east-1:777788889999:parameter:MyParameter-a1b2c3"
        objectAlias: "MyMountedParameter"
        failoverObject: 
          - objectName: "arn:aws:ssm:us-east-2:777788889999:parameter:MyFailoverParameter-d4e5f6"
```

## Recursos adicionais
<a name="additional-resources"></a>

Para obter mais informações sobre o uso do ASCP com o Amazon EKS, consulte os seguintes recursos:
+ [Uso da Identidade de Pods com o Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html)
+ [Driver CSI do AWS Secrets Store no GitHub](https://github.com/aws/secrets-store-csi-driver-provider-aws)