AWS Identity and Access Management (IAM) について
IAM コネクタは、ユーザー、ロール、グループ、ポリシー、アクセスキー、MFA デバイス、認証情報レポートのインベントリを作成します。これらはアクセスレビューのエビデンスに使用される機密性の高いデータです。この連携ではsts:AssumeRole を使用します。最も簡単なのは IAMReadOnlyAccess ですが、以下のインライン JSON では Get* / List* と GenerateCredentialReport / GenerateServiceLastAccessedDetails に範囲を限定しています。
クロスアカウントロールの ARN はインフラストラクチャのシークレットと同様に扱い、信頼関係を編集できるユーザーを制限してください。
仕組み
Iru は独自の AWS アカウントで稼働しています。お客様のアカウントの IAM データを読み取るには、ウィザードの External ID で保護された状態で Iru のプリンシパルがsts:AssumeRole を呼び出すことを許可する信頼ポリシーと、IAM リソースへの読み取り専用アクセスを付与する権限ポリシー(例: IAMReadOnlyAccess または AWS タブの範囲を限定したインライン JSON)を持つ IAM ロールを作成します。その後、そのロールの ARN を Iru に貼り付けます。IAMReadOnlyAccess は設計上、ID、ポリシードキュメント、アクセスキーのメタデータを公開するため、ロールとその ARN は機密情報として扱ってください。
前提条件
- エビデンスを取得する IAM プレーンと同じアカウントにおける IAM 管理者権限。
AWS IAM を Iru に接続する
- Iru Compliance
- AWS
まずここから始めます。ソースウィザードを開き、信頼ポリシーをコピーします(外部 ID も控えておきます)。AWS でロールを作成する準備ができたら、AWS タブに切り替えて AWS で IAM ロールを作成するの手順に従います。Role ARN を取得したら、Iru Compliance タブに戻り、以下の Iru でロール ARN を送信するを完了します。
Iru から信頼ポリシーを取得する
1
ソースを開く
Iru Compliance の左側のナビゲーションバーで コンプライアンス を展開し、ソース を選択します。

2
AWS IAM をオンにする
AWS IAM を探します(カテゴリ または 名前または説明で検索 を使用します)。そのカードのトグルをオンにします。Iru が外部サービスへのアクセスをリクエストしています ウィザードのタブは開いたままにしておきます。
3
信頼ポリシーの JSON をコピーする
ウィザードには、IAM ロールで使用する必要がある信頼ポリシーの JSON(Principal と sts:ExternalId)が表示されます。以下は構造の例です。アカウント、プリンシパル ARN、外部 ID が正確に一致するように、ウィザードに表示される最新の JSON をコピーしてください。
copy=false
4
AWS に切り替えてロールを作成する
参照用に Iru ウィザードのタブを開いたまま、AWS タブに切り替えて AWS で IAM ロールを作成するの手順に従います。
Iru でロール ARN を送信する
新しいロールの Role ARN を取得するため、先に AWS タブ(AWS で IAM ロールを作成するまで)を完了してください。
1
IAM Role ARN を貼り付ける
Iru ウィザードのタブに戻ります。ウィザードに表示されるフィールドに Role ARN を貼り付けます。
2
接続を完了する
Submit Role を選択します。接続に成功すると、ウィザードに 接続が構成されました と表示されます。
3
ソースが有効であることを確認する
Iru が外部サービスへのアクセスをリクエストしています のブラウザタブを閉じてから コンプライアンス → ソース に戻り、AWS IAM カードが 有効 になっていることを確認します。
トラブルシューティング
ソースをオンにしても何も開かない
ソースをオンにしても何も開かない
Iru サイトのポップアップブロッカーの設定を確認してから、もう一度お試しください。
認証情報レポートが空になる
認証情報レポートが空になる
コンソールまたは CLI から
GenerateCredentialReport を一度手動で実行してください。ID が表示されない
ID が表示されない
ワイルドカードが、想定する各リソースタイプの
Get* / List* をカバーしている必要があります。考慮事項
IAM はアカウント内でグローバルなため、1 回のスキャンで…
IAM はアカウント内でグローバルです。1 回のスキャンで、すべてのリージョンの IAM API がカバーされます。
関連記事
Sources の管理
すべての Compliance ソースを参照・管理します。
Compliance の利用を開始する
フレームワーク、アクション、アーティファクト。
Iru の概要
Endpoint、Compliance、Identity がどのように連携するか。
Artifacts の管理
ソースやアクションから得たエビデンスをアップロード、確認、整理します。