翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWSワークロード認証情報プロバイダー
AWSワークロード認証情報プロバイダーは、ACM からエクスポートされたパブリックおよびプライベート TLS 証明書の使用を自動化します。プロバイダーは定期的に証明書とそのプライベートキーを取得し、設定されたパスに書き込み、オプションでウェブサーバーなどの依存サービスを再ロードするコマンドを実行します。
ワークロード認証情報プロバイダーは、次のコンピューティング環境で使用できます。
-
Amazon Elastic Compute Cloud (Amazon EC2)
-
AWS認証情報を持つオンプレミスサーバー
ワークロード認証情報プロバイダーは、IAM ロールの引き受けを使用して証明書を取得します。Linux と Windows の両方で、専用の低特権ユーザーの下でシステムサービスとしてネイティブに実行され、アクセス許可が制限された証明書ファイルを書き込みます。
重要
このプロバイダーで使用できるのは、エクスポート可能な証明書のみです。詳細については、AWS Certificate Manager エクスポート可能なパブリック証明書「」および「プライベート証明書のエクスポート」を参照してください。
AWSワークロード認証情報プロバイダーはオープンソースです。ソースコードと貢献については、GitHub リポジトリ
証明書自動化の仕組み
プロバイダーは、設定された各証明書を一定の間隔で更新するスケジューラを使用します。
-
更新間隔は 24 時間です。
-
各サイクルで、プロバイダーは証明書をエクスポートし、ディスク上のファイルと比較し、コンテンツが変更された場合にのみ新しいファイルを書き込みます。
-
証明書ファイルが更新されると、設定された が
refresh_command実行されます (NGINX や Apache の再ロードなど)。 -
証明書の内容が変更されていない場合、更新コマンドはスキップされます。
プロバイダーは、すべてのシステム起動時とサービス起動直後に、小さなランダムジッターで初期更新を実行し、複数のプロバイダーがフリート間で同時に起動するときに同期された API コールを回避します。
プロバイダーは動的設定の再ロードもサポートしているため、再インストールすることなく証明書を追加、削除、または変更できます。詳細については、「動的設定の再ロード」を参照してください。
前提条件
プロバイダーをインストールする前に、以下があることを確認してください。
-
systemd を使用する Linux インスタンス (Amazon Linux 2023、Ubuntu 20.04+、または RHEL 8+)
-
または、PowerShell 5.1 以降で Windows Server 2016 以降を実行している Windows インスタンス
-
インストーラを実行する管理者アクセス
-
ACM でエクスポート可能な証明書
-
ACM エクスポート権限を持つ IAM ロール (「」を参照必要なアクセス許可)
-
AWSインスタンスで使用できる認証情報 (インスタンスプロファイル、環境変数、または認証情報ファイル)
プロバイダーをインストールする
プロバイダーを設定する
証明書の詳細を使用して TOML 設定ファイルを作成します。--config オプションを使用すると/etc/aws-workload-credentials-provider/config.toml、インストーラはこのファイルを にコピーします。
注記
chain_path を省略すると、証明書チェーンが の ファイルに追加されcertificate_path、フルチェーンファイルが生成されます。これは、証明書とそのチェーンを含む単一のファイルを想定するウェブサーバーと互換性があります。
動的設定の再ロード
acm reload コマンドを実行して、再インストールすることなくプロバイダーの設定を更新できます。これにより、新しい設定が検証され、新しい証明書パスと一致するようにアクセス許可が更新され、サービスが再起動されます。
設定から削除された証明書の更新が停止します。新しい証明書は、すぐに最初のエクスポートを開始します。各証明書は独立したタスクとして実行されるため、ある で障害が発生しても他の には影響しません。
必要なアクセス許可
基本認証情報
プロバイダーの基本認証情報 (インスタンスプロファイルまたは環境) は、各証明書の で指定されたロールを引き受けることができる必要がありますrole_arn。
{ "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::123456789012:role/ACMExportRole" }
証明書のエクスポートロール
で指定されたロールには、次のアクセス許可role_arnが必要です。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "acm:ExportCertificate", "Resource": "arn:aws:acm:us-west-2:123456789012:certificate/*" } ] }
ロールの信頼ポリシーは、プロバイダーのベース ID がそれを引き受けることを許可する必要があります。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/EC2InstanceRole" }, "Action": "sts:AssumeRole" } ] }
コマンドのアクセス許可を更新する (Linux)
Linux では、プロバイダーは refresh_commandを介して設定された を実行しますsudo。インストーラは で sudoers エントリを生成/etc/sudoers.d/aws-workload-credentials-providerし、プロバイダーユーザーがパスワードプロンプトなしで正確に設定されたコマンドを実行できるようにします。
重要
に /etc/sudoers.d ディレクトリ/etc/sudoersが含まれていることを確認します。このインクルードディレクティブが存在しない場合、インストーラは警告します。これがないと、生成された sudoers ファイルは効果がなく、更新コマンドは失敗します。
Windows では、プロバイダーは SYSTEM スケジュールされたタスクrefresh_commandとして をトリガーします。
インストールの検証
インストール後、プロバイダーが実行中であり、証明書が書き込まれていることを確認します。
設定リファレンス
| フィールド | [Required] (必須) | デフォルト | 説明 |
|---|---|---|---|
logging.log_level |
いいえ | info |
詳細のログ記録: debug、info、warn、error、 none |
logging.log_to_file |
いいえ | true |
ファイル (true) または stdout/stderr (false) にログを書き込む |
capabilities.acm.enabled |
いいえ | false |
ACM 機能を有効または無効にする |
certificates[].certificate_arn |
はい | — | エクスポートする ACM 証明書の ARN |
certificates[].role_arn |
はい | — | ExportCertificate 呼び出しのために引き受ける IAM ロール ARN |
certificates[].certificate_path |
はい | — | 証明書ファイルを書き込む絶対パス |
certificates[].private_key_path |
はい | — | プライベートキーファイルを書き込む絶対パス |
certificates[].chain_path |
いいえ | — | 証明書チェーンを書き込む絶対パス。省略すると、チェーンが に追加されます。 certificate_path |
certificates[].refresh_command |
いいえ | — | 証明書ファイルの更新後に実行するコマンド。絶対パスである必要があります |
certificates[].certificate_and_chain_permission |
いいえ | 0600 |
証明書ファイルとチェーンファイルのファイルアクセス許可 (Linux mode形式) |
certificates[].key_permission |
いいえ | 0600 |
プライベートキーファイルのファイルアクセス許可 (Linux mode形式) |
ログ記録
Linux では、プロバイダーは にログ記録します/opt/aws/workload-credentials-provider/logs/acm_provider.log。
Windows では、プロバイダーは にログ記録しますC:\ProgramData\AWS\WorkloadCredentialsProvider\logs\acm_provider.log。サービスの開始イベントと停止イベントは、ソース の Windows アプリケーションイベントログにも記録されますAWSWorkloadCredentialsProvider-ACM。
ログのローテーション — プロバイダーは、現在のファイルが 10 MB に達すると新しいログファイルを作成し、アーカイブされたログファイルを最大 5 つ保存します。
AWSサービスログ記録 — プロバイダーが を呼び出すとExportCertificate、その呼び出しは を含むユーザーエージェント文字列を使用して AWSCloudTrail に記録されますaws-workload-credentials-provider。プロバイダーの内部オペレーション (スケジューラサイクル、ファイル書き込み) は、ローカルログにのみ表示されます。
ログ記録は、 log_levelおよび log_to_file設定で設定できます。詳細については、「設定リファレンス」を参照してください。