AWS IAMユーザのキーを変更する(キーローテーション)

目次

キーローテーションとは

IAMユーザーに発行されるアクセスキー(Access Key ID (公開側)+ Secret Access Key(秘密鍵))を定期的に新しいものに差し替える運用のことです(以下の1-3)。

1.新しいキーを作成
2.アプリ設定を切り替え
3.古いキーを削除

 

アクセスキーとは

IAMユーザーがAWS API・CLI・SDKを使う際に使用する認証情報です。

 

ローテーションが必要な理由

アクセスキーは認証情報であり時間とともに漏洩リスクが高まります。

  • コードやファイルに埋め込まれたキーが流出するリスク
  • 退職者・異動者のキーが残存するリスク
  • 長期間同じキーを使い続けると、漏洩に気づきにくい

 

AWSのローテーションの推奨頻度

AWSの推奨は、90日以内に1回です。

 

以下は、アクティブなキーがある例です。

 

以下は、キーが設定されていない例です。棒線(-)が表示されます。

 

アクセスキーの代わりにIAMロールを使う

キーローテーションが必要になるのはIAMユーザーのアクセスキーを使っている場合です。

EC2・Lambda・ECSなどのAWSサービスからAPIを呼ぶ場合は、IAMロールを使えばアクセスキー自体が不要になり、ローテーションの手間もなくなります。

新規構築ではIAMロールの利用が強く推奨されています。

現在設定されているアクセスキーを確認する

1.検索入力欄で「IAM」と入力し、表示された「IAM」をクリックします。

 

2.左の画面で「ユーザー」をクリックします。

 

3.ユーザの一覧で確認するユーザーのリンクをクリックします。

 

4.「セキュリティ認証情報」をクリックします。

 

5.下にスクロールしたところにアクセスキーがあります。
アクセスキーは最大2つまでです。
すでにキーが2つある場合はどちらかを削除しないと新しいキーは作成できません。

削除は、「アクション」をクリックして「削除」をクリックします。

IAMユーザーのキーを新規作成する

1.検索入力欄で「IAM」と入力し、表示された「IAM」をクリックします。

 

2.左の画面で「ユーザー」をクリックし、ユーザの一覧で対象のユーザのリンクをクリックします。

 

3.「セキュリティ認証情報」をクリックします。

 

4.アクセスキーの箇所で「アクセスキーを作成」をクリックします。

 

5.使用しているキーの種類をチェックします。ここではCLIにチェックを入れました。

 

6.説明タグ値に任意の値を入力し「アクセスキーを作成」をクリックします。

 

7「.csvファイルをダウンロード」ボタンをクリックしてファイルを保存しておきます。
ファイルの中にアクセスキーとシークレットキーが記載されています。
完了ボタンを押して終了します。

EC2でキーを設定してS3にアクセスする

上記で作成したキーをEC2に設定してS3にアクセスします。
ユーザにS3アクセスの権限は設定済みです。

aws configure listで現在のキーの設定を確認できます。

 

1.コンソールでaws configureで設定を行います。

[ec2-user@ip-10-0-10-4 ~]$ aws configure
AWS Access Key ID [None]: アクセスキー
AWS Secret Access Key [None]: シークレットキー
Default region name [None]: ap-northeast-1
Default output format [None]:

2行目にダウンロードしたファイルからアクセスキーをコピペします。
3行目にダウンロードしたファイルからシークレットキーをコピペします。
4行目は、デフォルトにするリージョンを入力します。
5行目は、何も入力せずエンターキーを押します。

 

2.aws s3 lsでバケットを参照できました。

[ec2-user@ip-10-0-10-4 ~]$ aws s3 ls
2022-07-12 15:35:34 test-s3-data-2022
[ec2-user@ip-10-0-10-4 ~]$

既存のキーを無効化した場合

1.既存のキーのアクションで「無効化」をクリックします。

※無効化にしても再度有効化することができます。

 

2.ユーザ一覧にあるアクティブなキーの経過期間がリセットされます。

使用しなくなったキーの削除はアプリ側の設定完了後に行います。

関連の記事

AWS EC2からS3へアクセスキーでアクセスする

△上に戻る