

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

# でシークレットを管理する AWS Secrets Manager
<a name="managing-secrets"></a>

**Topics**
+ [シークレット値の更新](manage_update-secret-value.md)
+ [Secrets Manager でパスワードを生成する](generate-password.md)
+ [シークレットを以前のバージョンにロールバックする](roll-back-secret.md)
+ [シークレットの暗号化キーを変更する](manage_update-encryption-key.md)
+ [シークレットの変更](manage_update-secret.md)
+ [シークレットを検索する](manage_search-secret.md)
+ [シークレットの削除](manage_delete-secret.md)
+ [シークレットを復元する](manage_restore-secret.md)
+ [シークレットにタグ付けする](managing-secrets_tagging.md)

# AWS Secrets Manager シークレットの値を更新する
<a name="manage_update-secret-value"></a>



シークレットの値を更新するには、コンソール、CLI、または SDK を使用できます。シークレット値を更新すると、Secrets Manager は、ステージングラベル `AWSCURRENT` 付きのシークレットの新しいバージョンを作成します。ラベル `AWSPREVIOUS` の付いた古いバージョンには引き続きアクセスできます。独自のラベルを追加することもできます。詳細については、「[Secrets Manager のバージョニング](whats-in-a-secret.md#term_version)」を参照してください。

**シークレット値を更新するには (コンソール)**

1. Secrets Manager のコンソール ([https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/)) を開きます。

1. シークレットのリストから、自分のシークレットを選択します。

1. シークレットの詳細ページの **[概要]** タブの **[シークレットの値]** セクションで、**[シークレットの値を取得する]** を選択し、**[編集]** を選択します。

## AWS CLI
<a name="manage_update-secret-value_CLI"></a>

**シークレット値を更新するには (AWS CLI)**
+ コマンドシェルにコマンドを入力すると、コマンド履歴がアクセスされたり、ユーティリティからコマンドパラメータにアクセスされたりするリスクがあります。「[を使用して AWS Secrets Manager シークレット AWS CLI を保存するリスクを軽減する](security_cli-exposure-risks.md)」を参照してください。

  次の [https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/put-secret-value.html](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/put-secret-value.html) は、キーと値のペア 2 つを含むシークレットの新しいバージョンを作成します。

  ```
  aws secretsmanager put-secret-value \
        --secret-id MyTestSecret \
        --secret-string "{\"user\":\"diegor\",\"password\":\"EXAMPLE-PASSWORD\"}"
  ```

  次の [https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/put-secret-value.html](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/put-secret-value.html) は、カスタムステージングラベル付きの新しいバージョンを作成します。新しいバージョンには、`MyLabel` と `AWSCURRENT` のラベルが付けられます。

  ```
  aws secretsmanager put-secret-value \
        --secret-id MyTestSecret \
        --secret-string "{\"user\":\"diegor\",\"password\":\"EXAMPLE-PASSWORD\"}"
        --version-stages "MyLabel"
  ```

## AWS SDK
<a name="manage_update-secret-value_SDK"></a>

10 分に 1 回以上の持続頻度で `PutSecretValue` または `UpdateSecret` を呼び出すことは避けることが推奨されます。`PutSecretValue` または `UpdateSecret` を呼び出してシークレット値を更新すると、Secrets Manager はシークレットの新しいバージョンを作成します。Secrets Manager は、ラベルのないバージョンが 100 を超えると削除しますが、24 時間以内に作成されたバージョンは削除しません。10 分に 1 回以上の頻度でシークレット値を更新すると、Secrets Manager が削除した数よりも多くバージョンが作成され、シークレットバージョンのクォータに達します。

シークレット値を更新するには、[https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_UpdateSecret.html](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_UpdateSecret.html) アクションまたは [https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_PutSecretValue.html](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_PutSecretValue.html) アクションを使用します。詳細については、「[AWS SDKs](asm_access.md#asm-sdks)」を参照してください。

# Secrets Manager でパスワードを生成する
<a name="generate-password"></a>

Secrets Manager を使用する一般的なパターンでは、Secrets Manager でパスワードを生成し、そのパスワードをデータベースまたはサービスで使用します。これを行うには、次の方法を使用します。
+ CloudFormation – 「」を参照してください[で AWS Secrets Manager シークレットを作成する AWS CloudFormation](cloudformation.md)。
+ AWS CLI – 「」を参照してください[https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/get-random-password.html](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/get-random-password.html)。
+ AWS SDKs「」を参照してください[https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetRandomPassword.html](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetRandomPassword.html)。

# シークレットを以前のバージョンにロールバックする
<a name="roll-back-secret"></a>

 AWS CLIを使用してシークレットバージョンにアタッチされたラベルを移動することで、シークレットを以前のバージョンに戻すことができます。Secrets Manager がシークレットのバージョンを保存する方法については、「[シークレットバージョン](whats-in-a-secret.md#term_version)」を参照してください。

次の [https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/update-secret-version-stage.html](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/update-secret-version-stage.html) の例では、AWSCURRENT ステージングラベルを以前のバージョンのシークレットに移動し、シークレットを以前のバージョンに戻します。以前のバージョンの ID を検索するには、[https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/list-secret-version-ids.html](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/list-secret-version-ids.html) を使用するか、Secrets Manager コンソールでバージョンを表示します。

この例では、AWSCURRENT ラベルのバージョンは a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 で、AWSPREVIOUS ラベルのバージョンは a1b2c3d4-5678-90ab-cdef-EXAMPLE22222 です。この例では、AWSCURRENT ラベルをバージョン 11111 から 22222 に移動します。AWSCURRENT ラベルはバージョンから削除されるため、`update-secret-version-stage` は AWSPREVIOUS ラベルをそのバージョン (11111) に自動的に移動します。その結果、AWSCURRENT と AWSPREVIOUS のバージョンが交換されます。

```
aws secretsmanager update-secret-version-stage \
  --secret-id MyTestSecret \
  --version-stage AWSCURRENT \
  --move-to-version-id a1b2c3d4-5678-90ab-cdef-EXAMPLE22222 \
  --remove-from-version-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
```

# AWS Secrets Manager シークレットの暗号化キーを変更する
<a name="manage_update-encryption-key"></a>

Secrets Manager は AWS KMS 、キーとデータキーによる[エンベロープ暗号化](security-encryption.md)を使用して各シークレット値を保護します。シークレットごとに使用する KMS キーを選択できます。を使用するか AWS マネージドキー **aws/secretsmanager**、カスタマーマネージドキーを使用できます。ほとんどのケースでは、**aws/secretsmanager** の使用をお勧めします。利用料金は発生しません。別の からシークレットにアクセスする必要がある場合 AWS アカウント、または独自の KMS キーを使用してローテーションしたり、キーポリシーを適用したりする場合は、 を使用します カスタマー管理キー。必要なもの: [KMS キーのアクセス許可](security-encryption.md#security-encryption-authz) カスタマーマネージドキーの使用料金の詳細については、「[料金](intro.md#asm_pricing)」を参照してください。

シークレットの暗号化キーを変更できます。たとえば、[別のアカウントからシークレットにアクセスし](auth-and-access_examples_cross.md)、そのシークレットが現在 AWS マネージドキー を使用して暗号化されている場合は`aws/secretsmanager`、 に切り替えることができます カスタマー管理キー。

**ヒント**  
をローテーションする場合は カスタマー管理キー、 AWS KMS 自動キーローテーションを使用することをお勧めします。詳細については、[「キーのローテーション」を参照してください AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html)。

暗号化キーを変更すると、Secrets Manager は新しいキーを使用して、`AWSCURRENT`、`AWSPENDING`、`AWSPREVIOUS` バージョンを再暗号化します。シークレットからロックアウトされないように、Secrets Manager は既存のすべてのバージョンを以前のキーで暗号化したままの状態にします。つまり、`AWSCURRENT`、`AWSPENDING`、`AWSPREVIOUS` のバージョンを以前のキーまたは新しいキーで復号化できます。以前のキーに対する `kms:Decrypt` アクセス許可がない場合、暗号化キーを変更すると、Secrets Manager はシークレットバージョンを復号して再暗号化することはできません。この場合、既存のバージョンは再暗号化されません。

`AWSCURRENT` を新しい暗号化キーでのみ復号できるようにするには、新しいキーを使用してシークレットの新しいバージョンを作成します。次に、`AWSCURRENT` シークレットのバージョンを復号するには、新しいキーに対するアクセス許可が必要です。

以前の暗号化キーを非アクティブ化すると、`AWSCURRENT`、`AWSPENDING`、`AWSPREVIOUS` 以外のシークレットバージョンを復号できなくなります。アクセスを保持する必要のある他のラベル付きシークレットバージョンがある場合、[AWS CLI](#manage_update-encryption-key_CLI) を使用して新しい暗号化キーでそのバージョンを再作成する必要があります。

**シークレットの暗号化キーを変更するには (コンソール)**

1. Secrets Manager のコンソール ([https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/)) を開きます。

1. シークレットのリストから、自分のシークレットを選択します。

1. シークレットの詳細ページの **[シークレットの詳細]** セクションで、**[アクション]** を選択して **[暗号化キーの編集]** を選択します。

## AWS CLI
<a name="manage_update-encryption-key_CLI"></a>

シークレットの暗号化キーを変更した後で以前の暗号化キーを非アクティブ化すると、`AWSCURRENT`、`AWSPENDING`、`AWSPREVIOUS` 以外のシークレットバージョンを復号できなくなります。アクセスを保持する必要のある他のラベル付きシークレットバージョンがある場合、[AWS CLI](#manage_update-encryption-key_CLI) を使用して新しい暗号化キーでそのバージョンを再作成する必要があります。

**シークレットの暗号化キーを変更するには (AWS CLI)**

1. 次の [https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/update-secret.html](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/update-secret.html) の例は、シークレット値の暗号化に使用される KMS キーを更新します。KMS キーは、シークレットと同じリージョンに存在する必要があります。

   ```
   aws secretsmanager update-secret \
         --secret-id MyTestSecret \
         --kms-key-id arn:aws:kms:us-west-2:123456789012:key/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE
   ```

1. (オプション) カスタムラベルの付いたシークレットバージョンがある場合、新しいキーを使用してそれらを再暗号化するには、そのバージョンを再作成する必要があります。

   コマンドシェルにコマンドを入力すると、コマンド履歴がアクセスされたり、ユーティリティからコマンドパラメータにアクセスされたりするリスクがあります。「[を使用して AWS Secrets Manager シークレット AWS CLI を保存するリスクを軽減する](security_cli-exposure-risks.md)」を参照してください。

   1. シークレットバージョンの値を取得します。

      ```
      aws secretsmanager get-secret-value \
            --secret-id MyTestSecret \
            --version-stage MyCustomLabel
      ```

      シークレット値を書き留めておきます。

   1. その値で新しいバージョンを作成します。

      ```
      aws secretsmanager put-secret-value \
          --secret-id testDescriptionUpdate \
          --secret-string "SecretValue" \
          --version-stages "MyCustomLabel"
      ```

# AWS Secrets Manager シークレットを変更する
<a name="manage_update-secret"></a>

シークレットの作成者に応じて、そのシークレットの作成後にそのメタデータを変更できます。他のサービスによって作成されたシークレットについては、他のサービスを使用して更新またはローテーションする必要がある場合があります。

シークレットを管理しているユーザーを特定するには、シークレット名を確認します。他のサービスによって管理されるシークレットには、そのサービスの ID がプレフィックスとして付けられます。または、 で [describe-secret](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/describe-secret.html) を AWS CLI呼び出し、フィールド を確認します`OwningService`。詳細については、「[AWS Secrets Manager 他の AWS サービスによって管理されるシークレット](service-linked-secrets.md)」を参照してください。

管理するシークレットについては、説明、リソースベースのポリシー、暗号化キー、およびタグを変更できます。また、暗号化されたシークレット値を変更することもできますが、ローテーションを使用して認証情報を含むシークレット値を更新することが推奨されます。ローテーションによって、Secrets Manager のシークレットと、データベースまたはサービスの認証情報の両方が更新されます。これによりシークレットが自動的に同期されるため、クライアントがシークレット値をリクエストしたとき、常に有効な認証情報を取得できます。詳細については、「[AWS Secrets Manager シークレットのローテーション](rotating-secrets.md)」を参照してください。

Secrets Manager では、シークレットを編集すると CloudTrail ログエントリが生成されます。詳細については、「[で AWS Secrets Manager イベントをログに記録する AWS CloudTrail](monitoring-cloudtrail.md)」を参照してください。

**管理するシークレットを更新するには (コンソール)**

1. Secrets Manager のコンソール ([https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/)) を開きます。

1. シークレットのリストから、自分のシークレットを選択します。

1. シークレットの詳細ページで、次のいずれかの操作を実行します。

   シークレットの名前や ARN は変更できないことに**注意**してください。
   + 説明を更新するには、[**Secrets details**] (シークレットの詳細) セクションで [**Actions**] (アクション) を選択し、[**Edit description**] (説明の編集) を選択します。
   + 暗号化キーを更新するには、「[AWS Secrets Manager シークレットの暗号化キーを変更する](manage_update-encryption-key.md)」を参照してください。
   + タグを更新するには、**[タグ]** タブで **[タグを編集]** を選択します。「[でのシークレットのタグ付け AWS Secrets Manager](managing-secrets_tagging.md)」を参照してください。
   + シークレット値を更新するには、「[AWS Secrets Manager シークレットの値を更新する](manage_update-secret-value.md)」を参照してください。
   + シークレットの許可を更新するには、**[概要]** タブで、**[許可を編集]** を選択します。「[リソースベースのポリシー](auth-and-access_resource-policies.md)」を参照してください。
   + シークレットのローテーションを更新するには、**[ローテーション]** タブで **[ローテーションを編集]** を選択します。「[AWS Secrets Manager シークレットのローテーション](rotating-secrets.md)」を参照してください。
   + シークレットを他のリージョンにレプリケーションするには、「[マルチリージョンレプリケーション](replicate-secrets.md)」を参照してください。
   + シークレットにレプリカがある場合は、レプリカの暗号化キーを変更できます。**[レプリケーション]** タブで、レプリカのラジオボタンを選択し、**[アクション]** メニューで、**[暗号化キーを編集]** を選択します。「[でのシークレットの暗号化と復号 AWS Secrets Manager](security-encryption.md)」を参照してください。
   + シークレットを別のサービスによって管理されるように変更するには、そのサービスでシークレットを再作成する必要があります。「[他のサービスによって管理されるシークレット](service-linked-secrets.md)」を参照してください。

## AWS CLI
<a name="manage_update-secret_CLI"></a>

**Example シークレットの説明を更新する**  
次の [https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/update-secret.html](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/update-secret.html) の例では、シークレットの説明が更新されます。  

```
aws secretsmanager update-secret \
    --secret-id MyTestSecret \
    --description "This is a new description for the secret."
```

## AWS SDK
<a name="manage_update-secret_SDK"></a>

10 分に 1 回以上の持続頻度で `PutSecretValue` または `UpdateSecret` を呼び出すことは避けることが推奨されます。`PutSecretValue` または `UpdateSecret` を呼び出してシークレット値を更新すると、Secrets Manager はシークレットの新しいバージョンを作成します。Secrets Manager は、ラベルのないバージョンが 100 を超えると削除しますが、24 時間以内に作成されたバージョンは削除しません。10 分に 1 回以上の頻度でシークレット値を更新すると、Secrets Manager が削除した数よりも多くバージョンが作成され、シークレットバージョンのクォータに達します。

シークレットを更新するには、[https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_UpdateSecret.html](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_UpdateSecret.html) アクションまたは [https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_ReplicateSecretToRegions.html](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_ReplicateSecretToRegions.html) アクションを使用します。詳細については、「[AWS SDKs](asm_access.md#asm-sdks)」を参照してください。

# でシークレットを検索する AWS Secrets Manager
<a name="manage_search-secret"></a>

フィルタなしでシークレットを検索すると、Secrets Manager はシークレット名、説明、タグキー、およびタグ値のキーワードを照合します。フィルタなしで検索すると、大文字と小文字は区別されず、スペース、/、\$1、=、\$1 などの特殊文字は無視され、数字と文字のみが使用されます。フィルタなしで検索すると、Secrets Manager は検索文字列を分析して個別の単語に変換します。単語は、大文字から小文字、文字から数字、または数字/文字から句読点への変更によって区切られます。たとえば、名前、説明、およびタグのキーと値で、`creds`、`Database`、および `892` を検索する検索語 `credsDatabase#892` を入力するとします。

Secrets Manager では、シークレットをリストアップする際に CloudTrail のログエントリーが生成されます。詳細については、「[で AWS Secrets Manager イベントをログに記録する AWS CloudTrail](monitoring-cloudtrail.md)」を参照してください。

Secrets Manager はリージョンのサービスであり、検索は、選択されたリージョンのシークレットのみを返します。

## 検索フィルター
<a name="manage_search-secret-filters"></a>

フィルターを使用しない場合、Secrets Manager は検索文字列を単語に分割し、すべての属性で一致するものを検索します。この検索では、大文字と小文字は区別されません。例えば、**My\$1Secret** を検索すると、名前、説明、またはタグの **my** または **secret** という単語が含まれるシークレットが一致します。

検索に次のフィルタを適用できます。

**名前**  
シークレット名の先頭に一致します。大文字と小文字は区別されます。たとえば、**名前:** **Data** は、`databaseSecret` でも `MyData` でもない `DatabaseSecret` という名前のシークレットを返します。

**説明**  
シークレットの説明内の単語に一致します。大文字と小文字は区別されません。たとえば、**説明**: **My Description** は、シークレットを次の説明で照合します。  
+ `My Description`
+ `my description`
+ `My basic description`
+ `Description of my secret`

**管理者**  
外部のサービスによって管理されるシークレットを検索します AWS。次に例を示します。  
+ 1Password
+ Akeyless
+ CyberArk
+ HashiCorp

**所有しているサービス**  
管理サービスの ID プレフィックスの先頭に一致します。大文字と小文字は区別されません。例えば、**my-ser** は、プレフィックス `my-serv` および `my-service` を持つサービスが管理するシークレットと一致します。詳細については、「[他のサービスによって管理されるシークレット](service-linked-secrets.md)」を参照してください。

**レプリケート:**  
プライマリシークレット、レプリカシークレット、またはレプリケートされないシークレットをフィルタリングできます。

**タグキー**  
タグキーの先頭に一致します。大文字と小文字は区別されます。たとえば、**タグキー:** **Prod** は、タグ `Production` そして `Prod1` 付きのシークレットを返しますが、タグ `prod` または `1 Prod` 付きのシークレットは返しません。

**タグ 値**  
タグ値の先頭に一致します。大文字と小文字は区別されます。たとえば、**タグ値:** **Prod** はタグ `Production` そして `Prod1` 付きのシークレットを返しますが、タグ値 `prod` または `1 Prod` を持つシークレットは返しません。

## AWS CLI
<a name="manage_search-secret_cli"></a>

**Example アカウントにあるシークレットを一覧表示する**  
以下の [https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/list-secrets.html](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/list-secrets.html) 例は、 アカウント内にあるシークレットの一覧を取得します。  

```
aws secretsmanager list-secrets
```

**Example アカウントにあるシークレットの一覧をフィルタリングする**  
次の [https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/list-secrets.html](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/list-secrets.html) の例は、アカウント内にあり、名前に **Test** が含まれているシークレットの一覧を取得します。名前によるフィルタリングでは、大文字と小文字が区別されます。  

```
aws secretsmanager list-secrets \
    --filters Key="name",Values="Test"
```

**Example 他の AWS サービスによって管理されているシークレットを検索する**  
次の [https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/list-secrets.html](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/list-secrets.html) の例では、サービスによって管理されているシークレットの一覧を取得します。サービスは ID で指定します。詳細については、「[他のサービスによって管理されるシークレット](service-linked-secrets.md)」を参照してください。  

```
aws secretsmanager list-secrets \
    --filters Key="owning-service",Values="<service ID prefix>"
```

## AWS SDK
<a name="manage_search-secret_sdk"></a>

 AWS SDKs のいずれかを使用してシークレットを検索するには、 を使用します[https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_ListSecrets.html](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_ListSecrets.html)。詳細については、「[AWS SDKs](asm_access.md#asm-sdks)」を参照してください。



# AWS Secrets Manager シークレットを削除する
<a name="manage_delete-secret"></a>

シークレットは重要な性質があるため、 AWS Secrets Manager は意図的にシークレットの削除を困難にします。Secrets Manager は、シークレットをすぐには削除しません。Secrets Manager は、シークレットをすぐにアクセス不能にし、最短で 7 日間の復旧期間が経過した後に削除されるようスケジュールを設定します。ウインドウの復旧期間が終了するまで、以前に削除したシークレットを復旧することができます。削除対象としてマークしたシークレットに対しては料金は発生しません。

プライマリシークレットが他のリージョンにレプリケートされている場合、プライマリシークレットを削除することはできません。最初にレプリカを削除してから、プライマリシークレットを削除します。レプリカを削除すると、すぐに削除されます。

シークレットのバージョンを直接削除することはできません。代わりに、 AWS CLI または AWS SDK を使用して、 バージョンからすべてのステージングラベルを削除します。これにより、そのバージョンは非推奨とマークされ、Secrets Manager はバックグラウンドでバージョンを自動的に削除できるようになります。

アプリケーションでシークレットがまだ使用されているかどうかがわからない場合は、復旧期間中にシークレットにアクセスしようとしたときに警告する Amazon CloudWatch アラームを作成します。詳しくは、「[削除が予定されている AWS Secrets Manager シークレットがいつアクセスされるかをモニタリングする](monitoring_cloudwatch_deleted-secrets.md)」を参照してください。

シークレットを削除するには、`secretsmanager:ListSecrets` と `secretsmanager:DeleteSecret` のアクセス許可が必要です。

Secrets Manager では、シークレットを削除すると CloudTrail ログエントリが生成されます。詳細については、「[で AWS Secrets Manager イベントをログに記録する AWS CloudTrail](monitoring-cloudtrail.md)」を参照してください。

**シークレットを削除するには (コンソール)**

1. Secrets Manager のコンソール ([https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/)) を開きます。

1. シークレットのリストで、削除するシークレットを選択します。

1. **[Secrets details]** (シークレットの詳細) セクションで、**[Actions]** (アクション) を選択し、**[Delete secret]** (シークレットの削除) を選択します。

1. **[Disable secret and schedule deletion]** (シークレットの無効化と削除のスケジュール) ダイアログボックスの、**[Waiting period]** (待機期間) に、永続的に削除するまでの待機日数を入力します。Secrets Manager は `DeletionDate` というフィールドをアタッチし、現在の日付と時刻に､復旧期間として指定した日数を加えたものを設定します。

1. **[Schedule deletion]** (削除をスケジュールする) を選択します。

**削除済みのシークレットを表示するには**

1. [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/) から Secrets Manager コンソールを開きます。

1. **[Secrets]** (シークレット) ページで、**[Preferences]** (設定) (![\[Gear icon representing settings or configuration options.\]](http://docs.aws.amazon.com/ja_jp/secretsmanager/latest/userguide/images/preferences-gear.png)) を選択します。

1. [設定] ダイアログボックスで、**[削除予定のシークレットを表示]** を選択し、**[保存]** を選択します。

**レプリカシークレットを削除する**

1. Secrets Manager コンソール ([https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/)を開く。

1. プライマリシークレットを選択します。

1. **[Replicate Secret]** (シークレットのレプリケーション) セクションで、レプリカのシークレットを選択します。

1. **[Actions]** (アクション) メニューから **[Delete Replica]** (レプリカの削除) を選択します。

## AWS CLI
<a name="manage_delete-secret_cli"></a>

**Example シークレットの削除**  
次の [https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/delete-secret.html](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/delete-secret.html) の例では、シークレットの削除を行います。DeletionDate レスポンスフィールドで示される日時までは、[https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/restore-secret.html](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/restore-secret.html) により、このシークレットを回復できます。他のリージョンにレプリカが作成されているシークレットを削除する場合は、まずそのレプリカを [https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/remove-regions-from-replication.html](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/remove-regions-from-replication.html) で削除してから、[https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/delete-secret.html](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/delete-secret.html) を呼び出します。  

```
aws secretsmanager delete-secret \
    --secret-id MyTestSecret \
    --recovery-window-in-days 7
```

**Example シークレットを直ちに削除する**  
次の [https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/delete-secret.html](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/delete-secret.html) の例では、復旧期間なしでシークレットを直ちに削除します。この場合のシークレットは復元できません。  

```
aws secretsmanager delete-secret \
    --secret-id MyTestSecret \
    --force-delete-without-recovery
```

**Example レプリカシークレットを削除する**  
次の [https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/remove-regions-from-replication.html](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/remove-regions-from-replication.html) の例では、eu-west-3 にあるレプリカシークレットを削除しています。他のリージョンにレプリカが作成されているプライマリシークレットを削除するには、まずそのレプリカを削除してから [https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/delete-secret.html](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/delete-secret.html) を呼び出します。  

```
aws secretsmanager remove-regions-from-replication \
    --secret-id MyTestSecret \
    --remove-replica-regions eu-west-3
```

## AWS SDK
<a name="manage_delete-secret_sdk"></a>

シークレットを削除するには、[https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_DeleteSecret.html](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_DeleteSecret.html) コマンドを使用します。シークレットのバージョンを削除するには、[https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_UpdateSecretVersionStage.html](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_UpdateSecretVersionStage.html) コマンドを使用します。レプリカを削除するには、[https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_StopReplicationToReplica.html](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_StopReplicationToReplica.html) コマンドを使用します。詳しくは、「[AWS SDKs](asm_access.md#asm-sdks)」を参照してください。

# AWS Secrets Manager シークレットを復元する
<a name="manage_restore-secret"></a>

Secrets Manager は、削除が予定されているシークレットを*非推奨*とみなし、ユーザーはこれに直接アクセスすることはできなくなります。復旧期間が過ぎると、Secrets Manager はシークレットを完全に削除します。Secrets Manager がシークレットを削除すると、復元することはできません。復旧期間が終了する前に、シークレットを復元して再度アクセス可能にすることができます。これにより、スケジュールされた完全削除をキャンセルする `DeletionDate` フィールドが削除されます。

コンソールでシークレットとそのメタデータを復元するには、`secretsmanager:ListSecrets` と `secretsmanager:RestoreSecret` のアクセス許可が必要です。

Secrets Manager では、シークレットを復元すると CloudTrail ログエントリを生成します。詳細については、「[で AWS Secrets Manager イベントをログに記録する AWS CloudTrail](monitoring-cloudtrail.md)」を参照してください。

**シークレットを復元するには (コンソール)**

1. Secrets Manager のコンソール ([https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/)) を開きます。

1. シークレットのリストで、復元するシークレットを選択します。

   削除したシークレットがシークレットのリストに表示されないときは、[**Preferences**] (設定) (![\[Gear icon representing settings or configuration options.\]](http://docs.aws.amazon.com/ja_jp/secretsmanager/latest/userguide/images/preferences-gear.png)) を選択します。[設定] ダイアログボックスで、**[削除予定のシークレットを表示]** を選択し、**[保存]** を選択します。

1. [**Secret details**] (シークレットの詳細) ページで、[**Cancel deletion**] (削除のキャンセル) を選択します。

1. [**Cancel secret deletion**] (シークレットの削除のキャンセル) ダイアログボックスで、[**Cancel deletion**] (削除のキャンセル) を選択します。

## AWS CLI
<a name="manage_restore-secret_CLI"></a>

**Example 以前に削除したシークレットを復元する**  
次の [https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/restore-secret.html](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/restore-secret.html) の例では、スケジュールにより以前に削除されたシークレットを復元します。  

```
aws secretsmanager restore-secret \
    --secret-id MyTestSecret
```

## AWS SDK
<a name="manage_restore-secret_SDK"></a>

削除対象としてマークされたシークレットを復元するには、[https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_RestoreSecret.html](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_RestoreSecret.html) コマンドを実行します。詳細については、「[AWS SDKs](asm_access.md#asm-sdks)」を参照してください。

# でのシークレットのタグ付け AWS Secrets Manager
<a name="managing-secrets_tagging"></a>

では AWS Secrets Manager、タグを使用してシークレットにメタデータを割り当てることができます。タグは、シークレットに対して定義するキーと値のペアです。タグは、 AWS リソースを管理し、請求情報を含むデータを整理するのに役立ちます。

タグを使用すると、次を行えます。
+ 自分の AWS アカウントでシークレットとその他のリソースを管理、検索、フィルタリングする
+ アタッチされたタグに基づいてシークレットへのアクセスを制御する
+ 特定のシークレットまたはプロジェクトに関連する経費を追跡および分類する

タグを使用してアクセスをコントロールする方法については、「[属性ベースのアクセス制御 (ABAC) を使用してシークレットへのアクセスを制御する](auth-and-access-abac.md)」を参照してください。

コスト配分タグの詳細については、「 AWS Billing ユーザーガイド」の[AWS 「コスト配分タグの使用](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)」を参照してください。

タグクォータと名前付けの制限については、「*AWS の全般的なリファレンスガイド*」の「[タグ付けのサービスクォータ](https://docs.aws.amazon.com/general/latest/gr/arg.html#taged-reference-quotas)」を参照してください。タグは、大文字と小文字が区別します。

Secrets Manager では、シークレットのタグ付けやタグ解除を行うと、CloudTrail のログエントリーが生成されます。詳細については、「[で AWS Secrets Manager イベントをログに記録する AWS CloudTrail](monitoring-cloudtrail.md)」を参照してください。

**ヒント**  
すべての AWS リソースで一貫したタグ付けスキームを使用します。ベストプラクティスについては、「[タグ付けのベストプラクティス](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html)」ホワイトペーパーを参照してください。

## タグの基本を確認する
<a name="tagging-basics"></a>

コンソール、、および SDKs でシークレットを見つけることができます。 には AWS CLI、タグに基づいてリソースを統合して整理するカスタムコンソールを作成するための [Resource Groups](https://docs.aws.amazon.com/ARG/latest/userguide/resource-groups.html) ツール AWS も用意されています。特定のタグを持つシークレットを検索するには、「[でシークレットを検索する AWS Secrets Manager](manage_search-secret.md)」を参照してください。

Secrets Manager コンソール AWS CLI、または Secrets Manager API を使用して、次のことができます。
+ タグ付きのシークレットを作成する
+ シークレットにタグを追加する
+ シークレットのタグを一覧表示する
+ シークレットからタグを削除する

タグを使用すると、シークレットを分類できます。たとえば、目的、所有者、環境などに基づいてシークレットを分類できます。タグごとにキーと値を定義するため、特定のニーズに合わせてカテゴリのカスタムセットを作成できます。次にいくつかのタグの例を示します。
+ `Project: Project name`
+ `Owner: Name`
+ `Purpose: Load testing`
+ `Application: Application name`
+ `Environment: Production`

## タグ付けを使用したコストを追跡する
<a name="tagging-billing"></a>

タグを使用して、 AWS コストを分類および追跡できます。シークレットを含む AWS リソースにタグを適用すると、 AWS コスト配分レポートにはタグ別に集計された使用量とコストが含まれます。自社のカテゴリ、たとえばコストセンター、アプリケーション名、所有者を表すタグを適用すると、複数のサービスにわたってコストを分類することができます。詳細については、*AWS Billing ユーザーガイド*の[コスト配分タグを使用したカスタム請求レポート](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)を参照してください。

## タグの制限を理解する
<a name="tagging-restrictions"></a>

タグには次の制限があります。

**基本制限**
+ リソース (シークレット) あたりのタグの最大数は 50 です。
+ タグキーと値は大文字と小文字が区別されます。
+ 削除されたシークレットのタグを変更または編集することはできません。

**タグキーの制限**
+ 各タグキーは一意である必要があります。既に使用されているキーを持つタグを追加すると、新しいタグによって既存のキーと値のペアが上書きされます。
+ このプレフィックスはユーザーに代わってこのプレフィックスで始まるタグ AWS AWS を作成する`aws:`ため、 でタグキーを開始することはできませんが、編集または削除することはできません。
+ タグキーの長さは 1～128 文字 (Unicode) にする必要があります。
+ タグキーは、次の文字で構成する必要があります。Unicode 文字、数字、空白、特殊文字 (`_ . / = + - @`)。

**タグ値の制限**
+ タグ値の長さは 0～255 文字 (Unicode) にする必要があります。
+ タグ値は空白にすることができます。空白にしない場合は、次の文字で構成する必要があります。Unicode 文字、数字、空白、特殊文字 (`_ . / = + - @`)。

## Secrets Manager コンソールを使用してシークレットにタグ付けする
<a name="tagging-console"></a>

[Secrets Manager コンソール](https://console.aws.amazon.com/secretsmanager)を使用して、シークレットのタグを管理できます。

タグ付け機能にアクセスするには、以下を実行します。

1. Secrets Manager コンソールを開きます。

1. ナビゲーションバーで、任意のリージョンを選択します。

1. **[シークレット]** ページで、シークレットを選択します。

**シークレットのタグを表示するには**
+ **[シークレットの詳細]** ページで、**[タグ]** タブを選択します。

**タグを使用してシークレットを作成するには**
+ 「[シークレットを作成する](create_secret.md)」のステップを実行してください。

**シークレットのタグを追加または編集するには**

1. **[シークレットの詳細]** ページで、**[タグ]** タブ、**[タグの編集]** の順に選択します。

1. **[キー]** フィールドにタグキーを入力します。**[値]** フィールドに、必要に応じてタグ値を入力します。

1. **[保存]** を選択します。新規または更新されたタグがタグのリストに表示されます。
**注記**  
**[保存]** ボタンが有効でない場合は、タグキーまたはタグ値のいずれかがタグの制限を満たしていない可能性があります。詳細については、「[タグの制限を理解する](#tagging-restrictions)」を参照してください。

**シークレットからタグを削除するには**

1. **[シークレットの詳細]** ページで、**[タグ]** タブを選択し、削除するタグの横にある **[削除]** アイコンを選択します。

1. **[保存]** を選択して削除を確定するか、**[元に戻す]** を選択してキャンセルします。

## を使用してシークレットにタグを付ける AWS CLI
<a name="managing-secrets_tagging-cli"></a>

### AWS CLI 例
<a name="managing-secrets_taggging-cli-examples"></a>

**Example シークレットにタグを追加する**  
次の [https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/tag-resource.html](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/tag-resource.html) の例は、短縮構文を使用してタグをアタッチする方法を示しています。  

```
aws secretsmanager tag-resource \
            --secret-id MyTestSecret \
            --tags Key=FirstTag,Value=FirstValue
```

**Example シークレットに複数のタグを追加する**  
次の [https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/tag-resource.html](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/tag-resource.html) の例では、キーと値のタグ 2 個がシークレットにアタッチされます。  

```
aws secretsmanager tag-resource \
            --secret-id MyTestSecret \
            --tags '[{"Key": "FirstTag", "Value": "FirstValue"}, {"Key": "SecondTag", "Value": "SecondValue"}]'
```

**Example シークレットからタグを削除する**  
次の [https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/untag-resource.html](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/untag-resource.html) の例では、シークレットから 2 個のタグが削除されます。タグごとに、キーと値の両方が削除されます。  

```
aws secretsmanager untag-resource \
            --secret-id MyTestSecret \
            --tag-keys '[ "FirstTag", "SecondTag"]'
```

## Secrets Manager API を使用してシークレットにタグ付けする
<a name="managing-secrets_tagging-api"></a>

Secrets Manager API を使用してタグの追加、一覧表示、および削除を行うことができます。例については、次のドキュメントを参照してください。
+ [ListSecrets](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_ListSecrets.html): `ListSecrets` を使用して、シークレットに適用されたタグを表示します
+ [TagResource](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_TagResource.html): シークレットにタグを追加します
+ [Untag](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_UntagResource.html): シークレットからタグを削除します

## Secrets Manager AWS SDK を使用してシークレットにタグを付ける
<a name="managing-secrets_tagging-sdk"></a>

シークレットのタグを変更するには、次の API オペレーションを使用します:
+ [ListSecrets](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_ListSecrets.html): `ListSecrets` を使用して、シークレットに適用されたタグを表示します
+ [https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_TagResource.html](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_TagResource.html): シークレットにタグを追加します
+ [https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_UntagResource.html](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_UntagResource.html): シークレットからタグを削除します

SDK の使用の詳細については、「[AWS SDKs](asm_access.md#asm-sdks)」を参照してください。