タグ

awsとiamに関するkiririmodeのブックマーク (28)

  • AWS User Notificationsでマネジメントコンソールへのサインインを通知する | DevelopersIO

    AWS User Notifications サービスを利用して AWS マネジメントコンソールへのサインインをメール通知する設定を試してみました。 サインイン通知は次のブログでも紹介している通り、Amazon EventBridge ルールを作成する方法でも実現できますが、通知文を整形する必要がありました。AWS User Notifications で設定する場合は通知内容を AWS 側で見やすくしてくれるメリットがあります(裏では Amazon EventBridge ルールが作成されます)。 参考ブログの方法(Amazon EventBridge で設定し、入力トランスフォーマーで通知内容を整形)の通知例です。 ブログで設定する AWS User Notifications の通知例です。 AWS マネジメントコンソールへのサインイン通知設定 今回設定する環境は AWS Orga

    AWS User Notificationsでマネジメントコンソールへのサインインを通知する | DevelopersIO
    kiririmode
    kiririmode 2023/06/12
    User Notificationsを使って、マネコンログインをメール通知する
  • Amazon S3 Presigned URLのアクセス制御を深堀りする - Qiita

    はじめに S3へのアクセスを制御するために様々な機能がありますが、これらはIAMのアクセス制御と混同して考えられることが多く、両方の機能の関連について、質問を非常に多く受けています。 以前に S3のアクセス制御はまずシンプルに捉えて対応すべき という記事を書きましたが、この記事に書いたように、S3バケットポリシーとIAMポリシーには以下のような違いがあります。 S3バケットポリシーは、S3側で、エンティティから行われるアクセスの制御 IAMポリシーの場合、エンティティ側で、S3に対して行うアクセスの制御 このように、両者では設定箇所および制御する操作の矢印の方向が異なります。 基はこの2つでS3バケットやオブジェクトに対するアクセス制御を行いますが、この2つに加えて、全く異なるアクセス制御の要素が加わることがあります。 その代表例と言える 「Presigned URL」 を今回は取り上げ

    Amazon S3 Presigned URLのアクセス制御を深堀りする - Qiita
  • IAM ロールの信頼ポリシーで設定する外部 ID(sts:ExternalId) について | DevelopersIO

    IAM ロールの信頼ポリシーに設定する外部 ID(sts:ExternalI) について勉強しました。 こんにちは、岩城です。 3rd Party 製の SaaS と AWS アカウントを連携する際、専用の IAM ロールの作成と作成したロールに以下のような信頼ポリシーを定義して、特定の AWS アカウントから AssumeRole を許可することがあります。 { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::xxxxxxxxxxxx:iamuser" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "xxx

    IAM ロールの信頼ポリシーで設定する外部 ID(sts:ExternalId) について | DevelopersIO
    kiririmode
    kiririmode 2022/05/19
    externalIdは混乱した代理問題を解決するもの。 よくわからないのはなぜCognitoがSNSを利用するときに externalIdが必要なのか…
  • [UPDATE]フェデレーションでタグを渡せるSTSの新機能Session Tagがリリースされました #reinvent | DevelopersIO

    こんにちは、臼田です。 みなさん、ID管理していますか? 今回はIDフェデレーションでIAMを利用している際に、IdPから属性(Attribute)をAWSのタグとして受け取ることができるSession Tagの機能がリリースされたので紹介します。 New for Identity Federation – Use Employee Attributes for Access Control in AWS | AWS News Blog RBACとABAC 良さを知るにはまず背景から。 アクセス制御の方式としてRBAC(Role-based Access Control)がよく使われます。RBACでは、権限を個人ではなくRole(役割)に割り当てて管理する方法で、個人ごとポリシーをメンテナンスしなくて良くなるのでユーザが増えても管理が楽になる仕組みでした。 しかしこれも進んでくると、今度は

    [UPDATE]フェデレーションでタグを渡せるSTSの新機能Session Tagがリリースされました #reinvent | DevelopersIO
    kiririmode
    kiririmode 2021/12/04
    セッションタグのユースケース。Idpからattributeを連携し、ABACを行うため
  • AWSのCLI作業はどこで行う? 安全に管理するパターンとメリデメ集 | DevelopersIO

    AWSアクセスキーセキュリティ意識向上委員会って何? 昨今、AWSのアクセスキーを漏洩させてしまうことが原因でアカウントへの侵入を受け、 多額の利用費発生・情報漏洩疑いなど重大なセキュリティ事案が発生するケースが実際に多々起きています。 そこで、アクセスキー運用に関する安全向上の取組みをブログでご紹介する企画をはじめました。 アクセスキーを利用する場合は利用する上でのリスクを正しく理解し、 セキュリティ対策を事前に適用した上で適切にご利用ください。 AWS CLI、どこから使っていますか? ざっくり、以下4種類のどれかを使っている方が多数派ではないでしょうか。 ローカル端末 AWS内に構築した管理用EC2にSSHを利用して接続 AWS内に構築した管理用EC2にSSM(セッションマネージャ)を利用して接続 AWS CloudShell 一体どう違うのでしょうか。 状況によって良し悪しは異なる

    AWSのCLI作業はどこで行う? 安全に管理するパターンとメリデメ集 | DevelopersIO
  • IAM ID - AWS Identity and Access Management

    IAM は、ユーザー、ユーザーグループ、ロール、ポリシー、およびサーバー証明書に対していくつかの異なった ID を使います。このセクションでは、ID およびそれぞれの ID の使い方について説明します。 フレンドリ名とパス ユーザー、ロール、ユーザーグループ、またはポリシーを作成する場合、またはサーバー証明書をアップロードする場合は、わかりやすい名前を付けます。たとえば、Bob、TestApp1、開発者、ManageCredentialsPermissions、ProdServerCert などがあります。 IAM API または AWS Command Line Interface (AWS CLI) を使用して IAM リソースを作成する場合、オプションのパスを追加できます。単一のパスを使用することも、複数のパスをフォルダー構造としてネストすることもできます。たとえば、会社の組織構造に

    kiririmode
    kiririmode 2020/12/06
    IAMにはフレンドリ名やARNとは別に、同名のIAM IDとは別個に一意識別子が存在する
  • PCI DSS対応 AWS 上の踏み台サーバーでの操作ログ取得、MFA、アイドルタイムアウトを実現 | DevelopersIO

    PCI DSS に対応すべく Linux サーバーの操作履歴を S3 へ保存する、ログイン時に MFA を使用する、アイドルタイムアウトを実装する方法を紹介します。 こんにちは。 ご機嫌いかがでしょうか。 "No human labor is no human error" が大好きな ネクストモード株式会社 の吉井です。 AWS 上の踏み台サーバー (ここでは Amazon Linux 2 を想定しています) での操作履歴を S3 へ保存する、ログイン時に MFA を使用する、アイドルタイムアウトを実装する方法を紹介します。 PCI DSS の関連して以下のような要件があり、これを実現するために考えた方法です。 ssh ログインは Google Authenticator を利用した二要素認証にしたい ssh ログイン後の操作ログ(コマンドログ)を保管したい 踏み台サーバーから更に業務サ

    PCI DSS対応 AWS 上の踏み台サーバーでの操作ログ取得、MFA、アイドルタイムアウトを実現 | DevelopersIO
    kiririmode
    kiririmode 2020/11/01
    SSM操作ログ
  • SSM セッションマネージャーでサーバー上の操作ログを取得 | DevelopersIO

    こんにちは。 ご機嫌いかがでしょうか。 "No human labor is no human error" が大好きな吉井 亮です。 AWS 上の EC2 に対してリモートでメンテナンスする際に 監査の要件でサーバー上の操作ログを取得しければならないシステムは数多いと思います。 今回はセッションマネージャーを使って サーバーメンテナンス操作ログを徹底的に記録してみます。 前提 以下のような前提を置きました。 リモートからのメンテナンスは必ず踏み台サーバーを経由する 踏み台サーバーへはセッションマネージャー経由でログインする SSH ポートは開放しない 踏み台サーバーへのアクセス許可は IAM で管理 踏み台サーバーは Amazon Linux 2 ログインはメール通知 ログイン後の操作ログは S3 へ保管 準備 リモートメンテナンスを行うクライアント PCAWS CLI と Ses

    SSM セッションマネージャーでサーバー上の操作ログを取得 | DevelopersIO
    kiririmode
    kiririmode 2020/11/01
    ssmでの操作ログ有効化と接続時メール
  • AWS リソースへのアクセス権を第三者に付与するときに外部 ID を使用する方法 - AWS Identity and Access Management

    お客様の AWS リソースへのアクセス権を第三者に付与 (委任) することが必要になる場合があります。このシナリオで重要なのは、オプションの情報としての外部 ID です。この ID を IAM ロールの信頼ポリシーで使用することで、ロールを引き受けることができるユーザーを指定できます。 AWS は、外部 ID を機密情報として扱いません。アクセスキーペアやパスワードなどの機密情報を AWS で作成した場合、それらを再び表示することはできません。ロールの外部 ID は、ロールを表示する権限を持つすべてのユーザーが表示できます。 異なる AWS で複数の顧客をサポートするマルチテナント環境では、AWS アカウント アカウントごとに 1 つの外部 ID を使用することをお勧めします。この ID は、サードパーティーによって生成されたランダムな文字列である必要があります。 ロールを引き受けるときに

    kiririmode
    kiririmode 2020/09/20
    externalIDが必要な理由
  • AWS: 日付と時刻に基づいてアクセスを許可します - AWS Identity and Access Management

    この例では、日付と時刻に基づいてアクションへのアクセスを許可する ID ベースポリシーを作成する方法を示します。このポリシーは、2020 年 4 月 1 日から 2020 年 6 月 30 日 (UTC) の間に発生するアクションへのアクセスを制限します。このポリシーでは、AWS API または AWS CLI から、このアクションをプログラムで完了するために必要なアクセス権を許可します。このポリシーを使用するには、サンプルポリシーのイタリック体のプレースホルダーテキストを独自の情報に置き換えます。次に、ポリシーの作成またはポリシーの編集の手順に従います。 IAM ポリシーの Condition ブロック内で複数の条件を使用する方法については、「条件内の複数の値」を参照してください。 { "Version": "2012-10-17", "Statement": [ { "Effect":

    kiririmode
    kiririmode 2020/09/12
    AWSでも時限を持った権限変更はできる。一時的にロールを追加して時限性を持ったポリシーを持たせスイッチロールして作業してもらえば良い
  • Terraform Registry

    kiririmode
    kiririmode 2020/08/04
    terraformでコンソールログイン可能なユーザを作る場合はpgpかkeybaseのユーザ名が必要。さすがにkeybaseのアカウントを要求するのは大袈裟かも。。、
  • Terraform+GPG で IAM User にログインパスワードを設定 | 外道父の匠

    AWSTerraform の記事を書くのってあまり好きじゃないんですけど、年末くらい1つ書いておこかなという義務感的なアレです、ハイ。 Terraform v0.7.8 から aws_iam_user_login_profile が追加され(CHANGELOG)、IAM User にログインパスワードを設定して、暗号化して state ファイルに保存できるようになったのでやってみましたという、たわい無い内容でございます。 概要 TerraformでIAM Userを作成します。管理画面ログイン用のパスワード設定も行い、パスワードは暗号化された状態で terraform.state に保存されます。 aws_iam_user_login_profile に書いてありますが、使用する公開鍵は base64 でエンコードしたものを直書きするか、keybase のユーザー名を入力することになって

    Terraform+GPG で IAM User にログインパスワードを設定 | 外道父の匠
    kiririmode
    kiririmode 2020/08/04
    Terraformでコンソールログイン可能なユーザを作る場合はgpgが必須…?
  • AWS: Mejore el registro de CloudTrail para el rol asumido

    kiririmode
    kiririmode 2020/06/26
    assume-role時のsessionnameをユーザ名に強制することで誰が実行したかをcloudtrailでわかるようにする方法。しない場合は同一アクセスキーのassume-role実行ログを遡ることになる
  • How to Rotate Access Keys for IAM Users | Amazon Web Services

    kiririmode
    kiririmode 2020/06/23
    アクセスキーの公式推奨なローテーション方法
  • IAM ユーザーのアクセスキーの管理 - AWS Identity and Access Management

    ベストプラクティスは、アクセスキーのような長期的認証情報を作成するのではなく、IAM ロールなどの一時的なセキュリティ認証情報を使用することです。アクセスキーを作成する前に、長期的なアクセスキーの代替案を確認してください。 アクセスキーは、IAM ユーザーまたは AWS アカウントのルートユーザー の長期的な認証情報です。アクセスキーを使用して、AWS CLI または AWS API (直接または AWS SDK を使用) にプログラムでリクエストに署名することができます。詳細については、「AWS API リクエストの署名」を参照してください。 アクセスキーは、アクセスキー ID (例: AKIAIOSFODNN7EXAMPLE) とシークレットアクセスキー (例: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY) の 2 つの部分から構成されています。リ

    kiririmode
    kiririmode 2020/06/23
    “クロスアカウントアクセス権限を付与する必要がある場合。 IAM ロールを使用してアカウント間の信頼を確立し、信頼できるアカウントへ制限されたアクセス許可を 1 つのアカウントのユーザーに付与します。”
  • IAM ロールを使用して実行されたアクションを担当する ID を簡単に特定

    AWS Identity and Access Management (IAM) により、AWS CloudTrail ログを表示するときに、IAM ロールによって実行される AWS アクションの担当者を簡単に特定できるようになりました。IAM ポリシーに新しいサービス固有の条件 sts:RoleSessionName を追加すると、IAM プリンシパル (ユーザーまたはロール) やアプリケーションが IAM ロールを引き受けるときに設定する必要があるロールセッション名を定義できます。AWS は、IAM ロールがアクションを実行するときに AWS CloudTrail ログにロールセッション名を追加するため、アクションを実行したユーザーを簡単に特定できます。 たとえば、製品の料金データを AWS アカウントの Amazon DynamoDB データベースに保存し、社内の別の AWS アカウ

    IAM ロールを使用して実行されたアクションを担当する ID を簡単に特定
    kiririmode
    kiririmode 2020/06/22
    CloudTrailでassume-roleしたユーザを確認する方法の一つ。session-name指定を強制するのはやや抵抗ある…
  • AWS CLIでSwitch Role してさらに Switch Role してみた。(ロールの連鎖:Role chaining) | DevelopersIO

    AWS CLIでSwitch Role してさらに Switch Role してみた。(ロールの連鎖:Role chaining) ユーザーからRoleにスイッチロールすることはよくあるのですが、RoleからRoleにスイッチロールする方法と指定の仕方はわかりにくかったので、まとめてみました。 福岡オフィスの梶原です。 先日、福岡オフィスでこんな会話がありました。 「スイッチロールしたいけどできないんですよね。」 「できるでしょ。」 「いや、正確にはユーザからはスイッチロールできるんですけど、スイッチロールしてからスイッチロールできなくて。」 「できないでしょ。スイッチロール元のユーザーで制限かかってるから」 「えー、そうなんですかー」 (わいがや) 「スイッチロール元を制限したいんですけど、それをロールにできないんですか?」 (わいがや) 「え、できた・・・CLIだけど」 ということで、

    AWS CLIでSwitch Role してさらに Switch Role してみた。(ロールの連鎖:Role chaining) | DevelopersIO
    kiririmode
    kiririmode 2020/06/22
    switch-roleの連鎖は可能
  • [AssumeRole] アクセスキーが漏洩しても被害が最小限になるIAMユーザでCloudFormationにデプロイする方法 | DevelopersIO

    IAMユーザ & IAMロールを作成 デプロイ用のIAMユーザと付与するIAMポリシーについて このユーザ自身に与える権限は、AssumeRoleできる権限のみです。 そのため、万が一このIAMユーザのアクセスキーが流出しても、流出したアクセスキーでは実質何もできません。 デプロイ用のIAMユーザがAssumeRoleするIAMロールについて 「デプロイ用のIAMユーザ」がAssumeRoleする(引き受ける)「IAMロール」です。 今回作成するIAMロールには下記の権限を付与しますが、必要に応じて変更してください。 S3バケットの作成権限 S3オブジェクトの作成権限 お試しデプロイとしてAWS SAMを使うため、S3の権限も付与(Lambdaコードのアップロードをするため) CloudFormationのデプロイ準備に必要な権限 「CloudFormation用のIAMロール」はclou

    [AssumeRole] アクセスキーが漏洩しても被害が最小限になるIAMユーザでCloudFormationにデプロイする方法 | DevelopersIO
    kiririmode
    kiririmode 2020/06/22
    terraform実行ユーザを作らずにroleベースでterraformの実行権限を割り当てる
  • 【AWS】小ネタ aws-cliでIAM RoleのTrust Relationship(信頼関係)を表示・更新する | DevelopersIO

    はじめに こんにちは植木和樹です。今回はIAM RoleのTrust Relationship(信頼関係)をaws-cliを用いて設定する方法を備忘録としてまとめました。 IAM Roleを使いましょう! IAM Roleは非常に便利な機能でクラスメソッドでは様々な場面で利用しています。特に複数のAWSアカウントをaws-cliで管理するケースで威力を発揮します。 例えばプロジェクトごとにAWSアカウントを分けている場合、通常であれば各アカウント毎にIAMユーザーを作成して個別にログインしたりアクセスキーを用いてアクセスするかと思います。しかしこの方法だとAWSアカウント と IAMユーザーの掛け算の数だけパスワードやアクセスキーを管理しなければならず、AWSアカウントやユーザー数が増えると煩雑になります。 そこで、マネージメントコンソールを利用する場合はSwitchRoleを、aws-c

    【AWS】小ネタ aws-cliでIAM RoleのTrust Relationship(信頼関係)を表示・更新する | DevelopersIO
    kiririmode
    kiririmode 2020/06/20
    cliから信頼関係を設定するRoleを作成する方法
  • AWSマルチアカウントにおけるIAMユーザー設計戦略を考えてみる - How elegant the tech world is...!

    はじめに 2020年3月以来の投稿になりますが、「AWS案件に携わる中で、いろいろと貯まった知見を世のエンジニアの皆さんと共有したいな..」という思いに突然駆られ、稿ではAWSマルチアカウントにおけるIAMユーザ設計の戦略をご紹介します。 ビジネスの要件・制約等により、取り得る設計は様々ですが、一つのベストプラクティス例としてご参考になればと思います。 IAMポリシーに関する基方針 カスタマー管理ポリシーの利用 AWS利用において、避けては通れないIAM設計。 AWSでは、AWSアカウント(ルートユーザー)の通常利用は推奨しておらず、 AWSアカウント作成後は速やかにIAMユーザーを作成される方も多いのではないでしょうか。 AWS アカウントのルートユーザー 認証情報を使用して AWS にアクセスしないでください。また、認証情報を他のだれにも譲渡しないでください。代わりに、AWS アカ

    AWSマルチアカウントにおけるIAMユーザー設計戦略を考えてみる - How elegant the tech world is...!
    kiririmode
    kiririmode 2020/06/15
    IAMのクロスアカウントアクセスが必要な理由が丁寧に文章化されている。switch-role時の運用まで踏み込まれており非常に参考になる