AWS CodeArtifact - プライベートパッケージ
AWS CodeArtifact 上でプライベートパッケージをホストしているレジストリに、Aikido の AutoFix を接続できるようにします。
Aikido での構成
Aikido は、AWS アカウント内に新しいロールを作成する CloudFormation テンプレートを提供します。このロールの権限は読み取り専用の CodeArtifact アクセスに限定されています。これは、Aikido の AWS アカウントに、あなたのアカウントで新たに作成されたロールとの信頼関係を付与することで実現されます。
ロール作成後、Aikido が開始に必要なのは特定の ARN だけで、アクセスキーやシークレットは不要です。
次の Aikido UI、AutoFix > Settings > Connect Registry に移動し、

モーダル内の手順に従ってください:
- IAM ロールとポリシーを作成
- CloudFormation の出力からロール ARN を貼り付けます
- AWS コンソールで表示される CodeArtifact リポジトリのドメインを入力します(例: mydomain)
- CodeArtifact ドメインがホストされている AWS リージョンを選択します(例: us-east-1)

Aikido AutoFix は CODEARTIFACT_AUTH_TOKEN 環境変数を処理中に設定します。この環境変数は、その後パッケージマネージャーが CodeArtifact レジストリで認証するために使用できます。必要なレジストリ固有の設定は以下を参照してください。
NPM と PNPM
基本的な .npmrc 設定が、プライベートパッケージをインストールするリポジトリ(または Aikido の設定)に存在している必要があります。以下の情報を含め、プレースホルダーをあなたの情報に置き換えてください:
@pied-piper:registry=https://mydomain-123456789.d.codeartifact.us-east-1.amazonaws.com/npm/pied-piper
//mydomain-123456789.d.codeartifact.us-east-1.amazonaws.com/npm/pied-piper/:_authToken=${CODEARTIFACT_AUTH_TOKEN}AutoFix 中に、 ${CODEARTIFACT_AUTH_TOKEN} は実際の認証トークンに置き換えられます。
Poetry
Poetry に CodeArtifact の認証トークンを使わせるには、追加の環境変数を設定する必要があります。次を設定してください POETRY_HTTP_BASIC_[SOURCE]_USERNAME を aws 。次の [SOURCE] を、あなたの pyproject.toml にあるソース名(大文字)に置き換えてください。例:
[[tool.poetry.source]]
name = "artifact"
url = "https://repo-1234567890.d.codeartifact.eu-west-1.amazonaws.com/pypi/poetry/simple/"この例におけるソース名は artifactです。したがって、 POETRY_HTTP_BASIC_ARTIFACT_USERNAME 環境変数を aws.
に設定する必要があります。 POETRY_HTTP_BASIC_[SOURCE]_USERNAME を aws を設定することで、AutoFix は自動的に POETRY_HTTP_BASIC_[SOURCE]_PASSWORD を入力し、Poetry が AWS CodeArtifact リポジトリにアクセスできるようにします。
UV
UV に CodeArtifact の認証トークンを使わせるには、追加の環境変数を設定する必要があります。次を設定してください UV_INDEX_[INDEX]_USERNAME を aws 。次の [INDEX] を、あなたの pyproject.toml にあるソース名(大文字)に置き換えてください。例:
[[tool.uv.index]]
name = "artifact"
url = "https://repo-1234567890.d.codeartifact.eu-west-1.amazonaws.com/pypi/uv-example/simple/"この例におけるインデックス名は artifactです。したがって、 UV_INDEX_ARTIFACT_USERNAME 環境変数を aws.
に設定する必要があります。 UV_INDEX_[INDEX]_USERNAME を aws を設定することで、AutoFix は自動的に UV_INDEX_[INDEX]_PASSWORD です。これにより、UV が AWS CodeArtifact リポジトリにアクセスできるようになります。
Maven
AWS CodeArtifact 接続を設定した後は、 CODEARTIFACT_AUTH_TOKEN 環境変数を settings.xml で使用できます。settings.xml ファイルは Maven のプライベートレジストリ設定で、たとえば次のように設定できます:
<servers>
<server>
<id>codeartifact</id>
<username>aws</username>
<password>${env.CODEARTIFACT_AUTH_TOKEN}</password>
</server>
</servers>設定を確認する方法
依存関係の AutoFix を作成すると、進行状況モーダルに次のメッセージが表示されるはずです:
- 3 個(またはそれ以上)の環境変数を設定しました
- AWS CodeArtifact 認証トークンが正常に設定されました

AWS の認証情報が正しくない、または権限が不足している場合は、'Failed to authenticate to AWS CodeArtifact' という警告メッセージが表示されます:

AWS CodeArtifact に関するメッセージがない場合、設定が完了していないことを意味します。
AWS アクセスキーを使用する場合(非推奨)
AWS CodeArtifact との接続を有効にするには、次の 4 つの環境変数を指定する必要があります:
AWS_CODE_ARTIFACT_ACCESS_KEY:次の権限を持つユーザーまたはロールのアクセスキーAWSCodeArtifactReadOnlyAccess権限AWS_CODE_ARTIFACT_SECRET_KEY:次の権限を持つユーザーまたはロールのシークレットキーAWSCodeArtifactReadOnlyAccess権限AWS_CODE_ARTIFACT_DOMAIN:AWS コンソールで表示される CodeArtifact リポジトリのドメイン(例: mydomain)AWS_CODE_ARTIFACT_REGION:CodeArtifact ドメインがホストされている AWS リージョン(例: us-east-1)
これら 4 つの環境変数が設定されると、Aikido AutoFix は CODEARTIFACT_AUTH_TOKEN 環境変数を処理中に設定します。この環境変数は、その後パッケージマネージャーが CodeArtifact レジストリで認証するために使用できます。必要なレジストリ固有の設定は以下を参照してください。
これらの環境変数は、Autofix > Settings > Connect Registry > 環境変数を設定 で設定できます.