

# 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
```パラメータ

`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>

シークレット形式  
シークレットは、AWS Secrets Manager で JSON 形式のキーと値のペアとして保存する必要があります。

クロスリージョンアクセス  
AWS Secrets Manager が使用可能な任意のリージョンからシークレットにアクセスできます。

更新間隔の制限  
最小更新間隔は 5 分 (PT5M)、最大は 24 時間 (PT24H) です。

最大シークレット数  
パイプラインは最大 10 個の異なるシークレットを参照できます。

**重要**  
シークレットを使用する場合は、次の点を考慮してください。  
IAM ロールにシークレットにアクセスするための適切なアクセス許可があることを確認します。
AWS CloudTrail を使用してシークレットアクセスをモニタリングします。
異なる環境 (開発、本番) ごとに別々のシークレットを使用します。