翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
GitLab アクセストークン
シークレット値フィールド
以下は、Secrets Manager シークレットに含める必要があるフィールドです。
{
"token": "GitLab access token value",
"tokenId": "numeric token ID",
"gitlabUrl": "GitLab instance URL",
"projectId": "project ID (optional)",
"groupId": "group ID (optional)"
}
- トークン
-
GitLab アクセストークン値 ( で始まります
glpat-)。これは、ローテーションされるフィールドです。 - tokenId
-
数値トークン ID。各ローテーションを新しいトークンの ID で更新しました。
- gitlabUrl
-
GitLab インスタンス URL (例:
https://gitlab.com)。HTTPS を使用する必要があります。 - projectId
-
(オプション) 数値プロジェクト ID。プロジェクトアクセストークンにのみ を指定します。
- groupId
-
(オプション) 数値グループ ID。グループアクセストークンにのみ を指定します。
シークレットメタデータフィールド
GitLab アクセストークンのメタデータフィールドは次のとおりです。
{ "adminSecretArn": "arn:aws:secretsmanager:us-east-1:111122223333:secret:GitLabAdmin", "daysToExpiry": "30 (optional)" }
- adminSecretArn
-
(オプション) このシークレットのローテーションに使用される API スコープの GitLab アクセストークンを含む GitLabAccessToken タイプのシークレットの Amazon リソースネーム (ARN)。 GitLab 省略すると、トークン自体がローテーションされます (
apiまたはself_rotateスコープが必要)。プロジェクトトークンの場合、管理者トークンにはプロジェクトで Maintainer ロールが必要です。グループトークンには、グループの所有者ロールが必要です。 - daysToExpiry
-
(オプション) 新しいトークンの有効期限が切れるまでの日数 (1~365)。GitLab ローテーション API の
expires_atフィールドにマッピングします。省略すると、新しいトークンはインスタンスのデフォルトの有効期限を継承します。
使用フロー
このローテーションは、単一シークレット (自己ローテーション) アーキテクチャと 2 シークレット (管理支援) アーキテクチャの両方をサポートしています。トークンの範囲は、オプションの フィールドprojectIdと groupIdフィールドによって決まります。どちらのフィールドも存在しない場合、トークンは個人用アクセストークンです。projectId が存在する場合、トークンはプロジェクトアクセストークンです。groupId が存在する場合、トークンはグループアクセストークンです。
CreateSecret 呼び出しを使用してシークレットを作成します。シークレット値を上記のフィールドに設定し、シークレットタイプを GitLabAccessToken に設定します。ローテーションを設定するには、RotateSecret 呼び出しを使用します。シークレットをローテーションするために必要なアクセス許可をサービスに付与するロール ARN を指定します。アクセス許可ポリシーの例については、「セキュリティとアクセス許可」を参照してください。
管理者支援ローテーションを使用する場合、管理者シークレットもタイプ ですGitLabAccessToken。ローテーションロールに管理者シークレットへのアクセスを明示的に指定する必要があります。これを行うには、ロールポリシーで管理者シークレット ARN にスコープされたステートメントを直接追加します。
ローテーション中、ドライバーは現在のトークンがアクティブであることを検証します。次にGitLab ローテーションエンドポイントを呼び出します。これにより、新しいトークンがアトミックに作成され、古いトークンが取り消されます。Secrets Manager は、新しいトークン値と ID を AWSPENDING として保存し、GitLab API を介して検証し、AWSCURRENT に昇格します。Secrets Manager キャッシュライブラリを使用するアプリケーションは、次の更新時に新しいトークンを自動的に取得します。