

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Lambda 関数によるローテーション
<a name="rotate-secrets_lambda"></a>

多くのタイプのシークレットの場合、Secrets Manager は AWS Lambda 関数を使用してシークレットとデータベースまたはサービスを更新します。Lambda 関数を使用する場合のコストについては、「[料金](intro.md#asm_pricing)」を参照してください。

[他のサービスによって管理されるシークレット](service-linked-secrets.md) の場合、マネージドローテーションを使用します。[マネージドローテーション](rotate-secrets_managed.md) を使用するには、最初に管理サービスを通じてシークレットを作成します。

ローテーション中、Secrets Manager はローテーションの状態を示すイベントをログに記録します。詳細については、「[で AWS Secrets Manager イベントをログに記録する AWS CloudTrail](monitoring-cloudtrail.md)」を参照してください。

シークレットをローテーションするために、Secrets Manager は、設定したスケジュールに従って [Lambda 関数](rotate-secrets_lambda-functions.md)を呼び出します。自動ローテーションの設定中にシークレット値も手動で更新した場合、Secrets Manager は次のローテーション日を計算するときにそれを有効なローテーションと見なします。

ローテーション中、Secrets Manager は毎回異なるパラメータを使用して、同じ関数を複数回呼び出します。Secrets Manager は、次の JSON リクエスト構造のパラメータを使用して 関数を呼び出します。

```
{
    "Step" : "request.type",
    "SecretId" : "string",
    "ClientRequestToken" : "string",
    "RotationToken" : "string"
}
```

**パラメータ :**
+ **ステップ** – ローテーションステップ: `create_secret`、`set_secret`、`test_secret`、または `finish_secret`。詳細については、「[ローテーション関数の 4 つのステップ](rotate-secrets_lambda-functions.md#rotate-secrets_lambda-functions-code)」を参照してください。
+ **SecretId** – ローテーションするシークレットの ARN。
+ **ClientRequestToken** – シークレットの新しいバージョンの一意の ID。この値は、べき等性を確保するのに役立ちます。詳細については、「*AWS Secrets Manager API Reference*」の「[PutSecretValue: ClientRequestToken](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_PutSecretValue.html#SecretsManager-PutSecretValue-request-ClientRequestToken)」を参照してください。
+ **RotationToken** – リクエストのソースを示す一意の ID。引き受けたロールまたはクロスアカウントローテーションを使用したシークレットローテーションに必要です。このローテーションでは、あるアカウントのシークレットを、別のアカウントの Lambda ローテーション関数を使用してローテーションします。いずれの場合も、ローテーション関数は Secrets Manager を呼び出す IAM ロールを引き受け、Secrets Manager はローテーショントークンを使用して IAM ロール ID を検証します。

ローテーションの失敗は、Lambda 関数または Secrets Manager の問題が原因で発生する可能性があります。ローテーションステップが失敗した場合、Secrets Manager はシークレットの開いているローテーションウィンドウ中にローテーションプロセス全体を複数回再試行します。

**Topics**
+ [データベースシークレットの自動ローテーション (コンソール)](rotate-secrets_turn-on-for-db.md)
+ [非データベースシークレットの自動ローテーション (コンソール)](rotate-secrets_turn-on-for-other.md)
+ [自動ローテーション (AWS CLI)](rotate-secrets_turn-on-cli.md)
+ [Lambda 関数のローテーション戦略](rotation-strategy.md)
+ [Lambda ローテーション関数](rotate-secrets_lambda-functions.md)
+ [ローテーション関数のテンプレート](reference_available-rotation-templates.md)
+ [ローテーションへのアクセス許可](rotating-secrets-required-permissions-function.md)
+ [AWS Lambda ローテーション関数のネットワークアクセス](rotation-function-network-access.md)
+ [ローテーションのトラブルシューティング](troubleshoot_rotation.md)