> For the complete documentation index, see [llms.txt](https://docs.keeper.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.keeper.io/keeperpam/jp/privileged-access-manager/universal-secrets-sync/advanced.md).

# 詳細

本ページでは、AWS、Azure、Google Cloud全体におけるUSSの高度な動作について取り扱います。既存のクラウドシークレットを先にKeeperへ移行する場合は、[移行](/keeperpam/jp/privileged-access-manager/universal-secrets-sync/migration.md)をご参照ください。[セットアップ](/keeperpam/jp/privileged-access-manager/universal-secrets-sync/setup.md)もあわせてご参照ください。

### シークレット名の形式: レコードタイトル <a href="#secret-naming-rules" id="secret-naming-rules"></a>

クラウドシークレット名はKeeperのレコードタイトルに基づき、各プロバイダの命名要件に従って検証・変換されます。レコードタイトルを変更すると、対応する名前の新しいシークレットが作成されます。

### シークレットの命名規則 <a href="#secret-naming-rules" id="secret-naming-rules"></a>

#### AWS Secrets Manager <a href="#aws-secrets-manager-1" id="aws-secrets-manager-1"></a>

* **長さ:** 1〜512文字
* **使用可能:** 英数字および `/_+=.@-`
* **変換:** スペース → ハイフン
* **例:** "My Secret" → "My-Secret"

#### Azure Key Vault <a href="#azure-key-vault-1" id="azure-key-vault-1"></a>

* **長さ:** 1〜127文字
* **使用可能:** 英数字およびハイフン
* **開始:** 英字で始まること
* **終了:** 英字または数字で終わること
* **変換:** スペース → ハイフン
* **例:** "My Secret" → "My-Secret"

#### GCP Secret Manager <a href="#gcp-secret-manager" id="gcp-secret-manager"></a>

* **長さ:** 1〜255文字
* **使用可能:** 英数字、ハイフン、アンダースコア
* **開始:** 英字で始まること
* **終了:** 英字、数字、またはアンダースコアで終わること
* **変換:** スペース → ハイフン
* **例:** "My Secret" → "My-Secret"

***

### シークレット値の形式 <a href="#secret-value-format" id="secret-value-format"></a>

#### JSON形式 (デフォルト) <a href="#json-format-default" id="json-format-default"></a>

デフォルトでは、同期されたシークレットの値はフラットなJSONドキュメントです。各キーはKeeperレコードのフィールドラベルから導出され、ラベルがない場合はフィールドタイプが使用されます。

例: `login` レコードをAWSへ同期した場合

```json
{"login":"admin","password":"s3cr3t","url":"https://example.com"}
```

#### プレーンテキスト形式 <a href="#plain-text-format" id="plain-text-format"></a>

Keeperレコードをフラット化したときに、名前が `value` のフィールドが**ちょうど1つだけ**含まれる場合、ゲートウェイはJSONへの変換を行わず、フィールド値をそのままプレーン文字列として格納します。クラウドシークレットのContentType (または相当するラベル) は `application/json` ではなく `text/plain` に設定されます。

これは3つのプロバイダすべてに自動適用され、追加の構成は不要です。

以下は、プレーンテキストシークレットとして格納されるレコードの、Keeperボルトでの表示例です。\
\
![](/files/nK1mz8vqrSDxEDNqDp7U) ![](/files/CGvUnnG8NbRSsxuYL6sG)

上記のボルトUIでこのシークレットの値を更新すると、ラベルを変更せず追加フィールドも付けない限り、新しい値がプレーンテキストシークレットとしてクラウドへ同期されます。

**例:** `value: "my-api-key"` フィールドが1つだけのレコードは、以下のように格納されます。

```
my-api-key
```

以下のような形式にはなりません。

```json
{"value":"my-api-key"}
```

| 条件                                             | 格納値                 | ContentType        |
| ---------------------------------------------- | ------------------- | ------------------ |
| レコードに2つ以上のフィールドがある、または単一フィールドの名前が `value` ではない | フラットなJSONドキュメント     | `application/json` |
| レコードに `value` という名前のフィールドがちょうど1つある             | フィールドの生の値 (プレーン文字列) | `text/plain`       |

***

### メタデータとタグ <a href="#metadata-and-tags" id="metadata-and-tags"></a>

同期されたすべてのシークレットには、由来とレコード詳細を識別するメタデータタグが付与されます。タグはシークレットの初回作成時に適用され、以降の各同期実行 (更新) でも更新されるため、常にKeeperレコードの現在の状態を反映します。

#### タグ/ラベルリファレンス <a href="#tag--label-reference" id="tag--label-reference"></a>

<table><thead><tr><th width="121.07421875">用途</th><th>AWSタグキー</th><th>Azureタグキー</th><th>GCPラベルキー</th></tr></thead><tbody><tr><td>コンテンツタイプ</td><td><code>ContentType</code></td><td><em>(content_typeフィールド)</em></td><td><code>content_type</code></td></tr><tr><td>由来</td><td><code>Source</code></td><td><code>Source</code></td><td><code>source</code></td></tr><tr><td>Keeperレコードタイトル</td><td><code>keeper_RecordTitle</code></td><td><code>keeper_RecordTitle</code></td><td><code>keeper_recordtitle</code></td></tr><tr><td>Keeperレコードタイプ</td><td><code>keeper_RecordType</code></td><td><code>keeper_RecordType</code></td><td><code>keeper_recordtype</code></td></tr><tr><td>KeeperレコードUID</td><td><code>keeper_RecordUID</code></td><td><code>keeper_RecordUID</code></td><td><code>keeper_recorduid</code></td></tr></tbody></table>

**ContentTypeの値:**

| シークレット形式                    | AWS / Azureの値      | GCPラベルの値           |
| --------------------------- | ------------------ | ------------------ |
| JSON (デフォルト)                | `application/json` | `application_json` |
| プレーンテキスト (`value` フィールドが1つ) | `text/plain`       | `text_plain`       |

{% hint style="info" icon="pencil-line" %}
GCPのラベルキーと値は小文字である必要があります。`keeper_recordtitle` の値は小文字とハイフンに正規化されます (例: "My Secret" → `my-secret`)。`keeper_recordtype` の値も同様に小文字化されます (例: `login`、`custom_myorgtype`)。`keeper_recorduid` の値も同じ方法で正規化されます。ContentTypeの値も同様で、`application/json` → `application_json`、`text/plain` → `text_plain` となります。
{% endhint %}

**`keeper_RecordType` の値**

組み込みのKeeperレコードタイプ (例: `login`、`bankAccount`、`pamMachine`、`pamAwsConfiguration`) はそのまま格納されます。ユーザー定義のカスタムレコードタイプには `custom_` 接頭辞が付き、利用者が区別できるようになります。

| レコードタイプ            | タグ値                |
| ------------------ | ------------------ |
| `login`            | `login`            |
| `pamUser`          | `pamUser`          |
| `myOrgType` (カスタム) | `custom_myOrgType` |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.keeper.io/keeperpam/jp/privileged-access-manager/universal-secrets-sync/advanced.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
