

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

# SonarQube トークン
<a name="mes-partner-SonarQubeToken"></a>

## シークレット値フィールド
<a name="w2aac27c11c39b3"></a>

以下は、Secrets Manager シークレットに含める必要があるフィールドです。

```
{
  "token": "{{token value}}",
  "tokenName": "{{token name}}",
  "login": "{{user that owns the token}}",
  "sonarqubeUrl": "https://sonarqube.example.com",
  "tokenType": "USER_TOKEN",
  "projectKey": "{{project key}}"
}
```

トークン  
SonarQube トークン値 (`squ_`、、`sqa_`または で始まります`sqp_`)。ローテーションプロセスはこのフィールドを更新します。

tokenName  
トークン名 (ユーザーごとに一意）。ローテーションは、この名前を使用して古いトークンを取り消します。

login (ログイン)  
トークンを所有するSonarQubeユーザー。

sonarqubeUrl  
SonarQube インスタンス URL (例: `https://sonarqube.example.com`)。URL は HTTPS を使用する必要があり、末尾にスラッシュを付けることはできません。

tokenType  
(オプション) トークンのタイプ: `USER_TOKEN` (デフォルト)`GLOBAL_ANALYSIS_TOKEN`、、または `PROJECT_ANALYSIS_TOKEN`。

projectKey  
(オプション) SonarQubeプロジェクトキー。`tokenType` が の場合にのみ必要です`PROJECT_ANALYSIS_TOKEN`。

## シークレットメタデータフィールド
<a name="w2aac27c11c39b5"></a>

SonarQube トークンのメタデータフィールドは次のとおりです。

```
{
  "adminSecretArn": "arn:aws:secretsmanager:us-east-1:111122223333:secret:{{SonarQubeAdmin}}"
}
```

adminSecretArn  
(オプション) 管理者トークンを含む SonarQubeToken タイプのシークレットの Amazon リソースネーム (ARN)。このフィールドは、グローバル分析トークンとプロジェクト分析トークンに必要です。ユーザートークンではオプションです。これを省略してセルフローテーションを有効にします。この場合、現在のトークンは独自の置換を生成して取り消します。

## 使用フロー
<a name="w2aac27c11c39b7"></a>

このローテーションは、ユーザートークンの単一シークレット (セルフローテーション) と、グローバル分析トークンとプロジェクト分析トークンの 2 シークレット (管理者アシスト) ローテーションをサポートします。`tokenType` 値はトークンの範囲を決定します。

シークレットを作成するには、[CreateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html) API コールを使用します。シークレット値を上記のフィールドに設定し、シークレットタイプを SonarQubeToken に設定します。ローテーションを設定するには、[RotateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_RotateSecret.html) API コールを使用します。RotateSecret 呼び出しで、シークレットをローテーションするアクセス許可をサービスに付与するロール ARN を指定します。アクセス許可ポリシーの例については、[「セキュリティとアクセス許可](mes-security.md)」を参照してください。管理者支援ローテーションを使用する場合は、ローテーションロールに管理者シークレット ARN へのアクセス権を明示的に付与します。

ローテーション中、ドライバーは新しいトークンを生成し、保留中のバージョンとして保存し、SonarQubeAPI に対して検証し、最新に昇格してから、古いトークンを によって取り消します`tokenName`。Secrets Manager キャッシュライブラリを使用するアプリケーションは、次の更新時に新しいトークンを取得します。

SonarQube サーバーはカスタマーホストであるため、Secrets Manager ローテーションサービスから HTTPS 経由でSonarQubeインスタンスにアクセスできる必要があります。ローテーション呼び出しは、 AWSマネージドプレフィックスリスト から発信されます`com.amazonaws.{{region}}.secretsmanager-managed-external-secrets`。インスタンスのセキュリティグループまたはファイアウォールでこのプレフィックスリストからのインバウンドアクセスを許可し、インスタンスがパブリックに信頼された TLS 証明書を提示していることを確認します。詳細については、「*Amazon VPC ユーザーガイド*」の「[AWSマネージドプレフィックスリスト](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-aws-managed-prefix-lists.html)」を参照してください。パブリックインターネット経由で到達できないインスタンスはサポートされていません。