説明
不要な長期アクセスキーが有効なままだと、必要な認証情報が漏えいした際、そのユーザーの権限でAWSリクエストに使われる可能性があります。実際の所有者、状態、利用履歴を確認し、可能であればロールと一時的な認証情報に移行してください。
IAMユーザーとAWSアカウントのルートユーザーは別の主体です。IAMユーザー名にrootが含まれていても、アカウントのルートユーザーになるわけではありません。実際のルートユーザーの認証情報は別途確認し、長期アクセスキーを作成しないというAWSの推奨に従ってください。
想定される影響
- 有効なキーと必要なシークレットが漏えいすると、そのユーザーに許可された権限が悪用される可能性があります。実際の影響は関連付けたポリシーやほかの制御によって異なります。
- 利用する処理を確認せずにキーを無効化すると、自動化やサービスが中断する場合があります。
対処方法
- 実際のIAMユーザーとキーIDを特定し、現在の状態と利用履歴を確認してください。認証情報レポートの生成時刻を確認し、必要なら最新の状態も別途取得してください。
- 必要な自動化の代替認証を準備してから、対象キーを明示して無効化してください。正常動作を確認し、不要なキーを削除してください。キー管理に使う認証情報と、管理対象のキーを混同しないでください。
- ルートユーザーのアクセスキーとサインイン保護は別途確認してください。日常の作業には、適切に制限されたロールと一時的な認証情報を使用してください。
例
iam_user_nameとaccess_key_idには、実際のIAMユーザーと、そのユーザーが所有する対象キーのIDを指定してください。amazon.aws.iam_access_keyはIAMユーザーのキーを管理するモジュールであり、以下はルートユーザーのキーを管理する例ではありません。実行環境には別途、適切なAWS認証を構成してください。
変更前
yaml
- name: Enable a selected IAM user access key
amazon.aws.iam_access_key:
user_name: "{{ iam_user_name }}"
id: "{{ access_key_id }}"
state: present
active: true
指定したIAMユーザーのキーを有効にします。必要な用途があるキーにだけ適用してください。
変更後
yaml
- name: Disable a selected IAM user access key
amazon.aws.iam_access_key:
user_name: "{{ iam_user_name }}"
id: "{{ access_key_id }}"
state: present
active: false
同じキーを削除せずに無効化します。依存する処理の正常動作と実際のキーの状態を確認し、不要になったキーを削除してください。