Skip to main content

Amazon Simple Storage Service (S3) について

Amazon S3 コネクタは、オブジェクトのペイロードを読み取ることなく、バケットの設定(ポリシー、暗号化、バージョニング、ログ記録、通知、パブリックアクセスブロック、および関連する設定)のインベントリを作成します。Iru は、お客様がご自身のアカウントで作成した IAM ロールを引き受けます(外部 ID を使用した sts:AssumeRole)。これにより、エビデンスは保存されたファイルの内容ではなく、バケットがどのように設定されているかに焦点を当てたものになります。

仕組み

Iru は独自の AWS アカウントで稼働しています。S3 バケットの設定(デフォルトではオブジェクトのペイロードは対象外)のインベントリを作成するには、IAM ロールを作成します。このロールの信頼ポリシーでは Iru の AWS プリンシパルを参照し、ウィザードに表示される External ID を必須とし、権限ポリシーではチームが承認したメタデータの読み取りのみを許可します。AmazonS3ReadOnlyAccess 単体ではなく、以下のインラインポリシーの使用を推奨します。マネージドポリシーには s3:GetObject が含まれており、多くのチームはメタデータのみの連携でこれを許可していません。そのロールの ARN を Iru に貼り付けます。 参考資料: S3 ユーザーガイド、アクセス管理。

前提条件

  • ロールの作成とインラインポリシーのアタッチができる IAM 権限。
  • ご自身のコネクタに表示される最新のプリンシパルと外部 ID の組み合わせ(古いスクリーンショットに記載されたサンプル ID とは異なる場合があります)。

Amazon S3 を Iru に接続する

まずここから始めます。ソースウィザードを開き、信頼ポリシーをコピーします(外部 ID も控えておきます)。AWS でロールを作成する準備ができたら、AWS タブに切り替えて AWS で IAM ロールを作成するの手順に従います。Role ARN を取得したら、Iru Compliance タブに戻り、以下の Iru でロール ARN を送信するを完了します。

Iru から信頼ポリシーを取得する

1

ソースを開く

Iru Compliance の左側のナビゲーションバーで コンプライアンス を展開し、ソース を選択します。
左側のナビゲーション: Compliance を展開し、Sources を選択した状態
2

AWS S3 をオンにする

AWS S3 を探します(カテゴリ または 名前または説明で検索 を使用します)。そのカードのトグルをオンにします。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 S3 カードが 有効 になっていることを確認します。

トラブルシューティング

Iru サイトのポップアップブロッカーの設定を確認してから、もう一度お試しください。
外部 ID が一致していません。余分なスペースが入らないように、Iru からもう一度コピーしてください。
IAM で許可されていても、バケットのリソースポリシーによってクロスアカウントの読み取りが拒否される場合があります。
s3:GetEncryptionConfiguration がインラインポリシーに残っていることを確認してください。

考慮事項

バケットはリージョン単位ですが、ListAllMyBuckets は…

バケットはリージョン単位ですが、ListAllMyBuckets はグローバルです。インベントリ作成時には、複数のリージョンへの追加の呼び出しが発生することを想定してください。

バケットポリシー内の明示的な Deny ステートメントは…

バケットポリシー内の明示的な 拒否 ステートメントは、IAM での許可に関係なく読み取りをブロックします。想定される動作を監査人向けに文書化しておいてください。

関連記事

Sources の管理

すべての Compliance ソースを参照・管理します。

Compliance の利用を開始する

フレームワーク、アクション、アーティファクト。

Iru の概要

Endpoint、Compliance、Identity がどのように連携するか。

Artifacts の管理

ソースやアクションから得たエビデンスをアップロード、確認、整理します。