

# CloudWatch 管道扩展
<a name="pipeline-extensions"></a>

CloudWatch 管道扩展可为管道提供其他功能。您可以使用 AWS Secrets Manager 集成进行凭证管理。

## AWS Secrets Manager 扩展
<a name="aws-secrets-manager-extension"></a>

配置对 AWS Secrets Manager 的访问权限，以检索凭证和敏感配置值。只有需要身份验证凭证的第三方来源才支持此扩展。

**配置**  
使用以下参数配置 AWS Secrets Manager 扩展：

```
extension:
  aws:
    secrets:
      <secret-name>:
        secret_id: "<secret arn>"
        region: "<secret region>"
        sts_role_arn: "arn:aws:iam::123456789012:role/Example-Role"
        refresh_interval: PT1H
        disable_refresh: false
```Parameters

`aws.secrets.<secret-name>.secret_id`（必需）  
包含凭证的 AWS Secrets Manager 密钥的 ARN。

`aws.secrets.<secret-name>.region`（必需）  
在其中存储密钥的 AWS 区域。

`aws.secrets.<secret-name>.sts_role_arn`（必需）  
访问 AWS Secrets Manager 密钥时需担任的 IAM 角色的 ARN。

`aws.secrets.<secret-name>.refresh_interval`（可选）  
刷新 AWS Secrets Manager 中密钥的频率。使用 ISO 8601 持续时间格式。默认为 PT1H（1 小时）。

`aws.secrets.<secret-name>.disable_refresh`（可选）  
是否禁用自动密钥刷新。默认值为 false。

### 密钥引用语法
<a name="secret-reference-syntax"></a>

使用以下语法引用管道配置中的密钥：

```
${{aws_secrets:<secret-name>:<key>}}
```

例如，要引用客户端 ID 和密钥，请执行以下操作：

```
source:
  microsoft_office365:
    authentication:
      oauth2:
        client_id: "${{aws_secrets:office365-creds:client_id}}"
        client_secret: "${{aws_secrets:office365-creds:client_secret}}"
```

### 要求和限制
<a name="secret-requirements"></a>

密钥格式  
密钥必须作为 JSON 键值对存储在 AWS Secrets Manager 中。

跨区域访问  
可以从任何可使用 AWS Secrets Manager 的区域访问密钥。

刷新间隔限制  
最长刷新间隔为 5 分钟（PT5M）。最长为 24 小时（PT24H）。

最大密钥数量  
一个管道最多可以引用 10 个不同的密钥。

**重要**  
使用密钥时，请考虑以下事项：  
确保 IAM 角色具有访问密钥的相应权限
使用 AWS CloudTrail 监控密钥访问
为不同环境（开发、生产）使用单独的密钥