それなりに適当にやってます

なんとなくそれっぽいメモとか備忘録とか適当に。 2018年5月にブログ移転しました。 古い記事は未整理です。

AWS クロスアカウントアクセス

毎度の事だけど、聞かれたのでメモを残しとく。

概要
  • AWSアカウント間でのアクセスを許可する。
  • 最小特権の原則に従い、一部の権限のみをロールで許可できる。
クロスアカウントアクセスの使いどころ
  • 管理下のAWS/IAMアカウントから、別のAWSアカウント環境へアクセスできる(ロールの切り替え)
    • AWSアカウントの環境毎にIAMアカウントを作成する必要がない
    • 逆にほかのAWSアカウントからのアクセスを許可しつつ、ロールで権限を制限することもできる
  • 他社AWSアカウントへ権限付与
    • 自社AWS環境から、他社に対するIAMアカウント直発行はイリーガル(と聞いた)
    • なので自前のAWS環境に他社からアクセスさせたい場合は クロスアカウントアクセス を利用する
      • 最小特権の原則に従い必要最低限のポリシーだけ許可する
    • 結果ロール管理だけで他社用のアカウント管理などが不要(楽だね)
  • 統合請求アカウント配下の管理
    • 統合請求アカウントから、紐付けされている他AWSアカウントへのアクセス・リソース管理に使う

他社管理のAWSアカウントの環境に対する権限を貰う場合も、IAMアカウントではなく クロスアカウントアクセス で権限貰うのが正しい。

クロスアカウントアクセス設定手順
  • 事前確認
    • A社のAWSアカウントID: XXXXXXXXXXXX
      • クロスアカウントアクセスを設定する側(=B社からのアクセスを許可する側)
    • B社のAWSアカウントID: YYYYYYYYYYYY
      • クロスアカウントアクセスを用いて A社 にアクセスする側
    • アカウントIDは AWSコンソール > (右上の)サポート > サポートセンター でわかる。
  • (A社)クロスアカウントアクセスのロール作成
    • IAMロールの新規作成
    • AWSユーザ > B社のAWSアカウントID(上記)許可
      • オプションで 外部IDの使用 と MFAが必要 という条件を付けられる。
    • ロールの割り当て (クロスアカウントアクセスで許可したい権限)
    • b-company-cross-accounts という名前で保存(名前は任意)
  • (B社)クロスアカウントアクセス
    • AWSコンソールにログイン
    • 右上のアカウントのとこから "ロールの切り替え" を選択
      • 切り替えるロールの情報を入力(A社のAWSアカウントID、作成したロール名: b-company-cross-accounts)

一連のスクショは手抜きでクラスメソッドさん見てーみたいな。
https://dev.classmethod.jp/cloud/aws/signin-with-cross-account-access/

以上 c⌒っ゚д゚)っφ メモメモ...