Control)にて設定する方法を示します。SAMLセッションタグを使用することで、外部IDシステムで定義された属性をAWS内のABACの判定の一部として使用できます。Management(IAM)ユーザーが所属する部門に基づいて、特定のマネージドインスタンスへのアクセスを許可することができます。アクセスコントロールに従業員属性を使用する」を参照してください。CLIを介して管理できます。これはセキュアで監査可能な方法でおこなわれ、受信ポートを開いたり踏み台ホストを維持したりSSHキーを管理したりする必要がありません。Managerへのアクセス権限はIAMポリシーを介して管理できます。それにより、誰がどのリソースに対しアクセスでき、インタラクティブ操作を可能とするかを制御できます。Managerの機能へのアクセスを制限するために、SAMLセッションタグと外部ID属性を使用してアクセス許可を設定する手順について説明します。以下にソリューション概要のアーキテクチャ図を示します。ソリューションアーキテクチャ図AliceとBobが外部IDプロバイダー(IdP)を使用してAWSマネジメントコンソールにフェデレートする例を見てみましょう。Managerを使用したアクセスが可能となります。この例ではOktaを使用したIAMフェデレーションを示していますが、このソリューションは、システムで定義された属性をAWSセッションに正しく渡すことのできる、任意の外部IDプロバイダーを使用することができます。前提条件ABACにSAMLセッションタグを使用するには、外部IDプロバイダーとのIAMフェデレーションを構成しておく必要があります。Federation”を確認してください。Managerを構成しておく必要があります。開始方法“を確認してください。ソリューションを実装するソリューションを実装するには、次の手順を行います。IAMポリシーを作成します。SAMLベースのフェデレーション用IAMロールを変更します。Oktaの動的SAML属性を構成します。Oktaのユーザー属性を変更します。マネージドインスタンスに対しEC2タグを作成します。最小権限の原則に基づいて、CustomSessionManagerPolicyという名前のポリシーを作成します(このポリシーは、次の手順でロールに追加します)。Managerコンソールにて一覧表示できる権限をフェデレーションユーザーに与えています。ManagerのStartSessionを許可しています。ManagerのTerminateSessionができる権限を、同じフェデレーションユーザーによって作成されたセッションリソースに制限します。してポリシーで使用することでARNと一致させます。TagSessionアクションを追加します。2番目の条件はオプションです。StringLikeを使用して特定のセッションタグのみに限定しています。IDプロバイダーからAWSにフェデレートするときに、ロールを引き受けてセッションタグを渡すことができます。IDの属性は、loginタグとdepartmentタグとして任意の値を持つことができます。セッションタグの使用“を確認してください。前の手順で作成したCustomSessionManagerPolicyポリシーをSAMLベースのフェデレーション用IAMロールにアタッチします。これは、SAML経由でのOktaフェデレーションの初期セットアップの際に作成したロールです(上記の前提条件を参照)。supportに連絡して、機能フラグOIN_SAML2_DYNAMIC_ATTRIBUTESを有効にするよう依頼する必要がある場合があります。2.0サインオンメソッドセクションの属性を構成します。user.departmentOktaコンソールでSAML属性を確認します。Oktaコンソールでの必須のSAML属性これらの変更を保存する前に、SAMLオプションをプレビューして、新しいSAML属性を確認できます。Oktaのユーザー属性の変更AliceとBobのユーザープロファイルのdepartment属性値をそれぞれAmberとBlueに変更します。ログイン属性値は、ユーザーのメールアドレスを使用してデフォルトですでに設定されています(例:alice@example.comやbob@example.com)。Oktaコンソールのユーザー属性は次のようになります。マネージドインスタンスに対しEC2タグの作成このリソース属性に基づいてアクセスを許可するため、EC2インスタンスにタグを付けます。EC2コンソールで、[タグの追加/編集]を選択します。以下の例(department:amber)のように、インスタンスごとに特定のkey:valuesを指定してください。Applicationを選択してAWSマネジメントコンソールにフェデレーテッドログインします。Managerを検索します。Managerに移動し、[セッションの開始]を選択します。接続可能なEC2インスタンスのリストが表示されます。amber-instanceを選択し、[セッションを開始する]をクリックします。ManagerコンソールAliceの認証情報を使用してフェデレーテッドログインしたため、プリンシパルのdepartmentタグの値がリソースタグの値と一致し、セッションの開始が許可されます。新しいタブにリダイレクトされ、keyがdepartment、ValueがAmberとタグ付けされたEC2インスタンスへのアクセスができることを確認してください。Managerのアクティブセッションの例blue-instanceというEC2インスタンスを選択してセッションを開始しようとすると、(予期された)許可されていない旨のメッセージが表示されます。arn:aws:ec2:eu-west-3:123456789012:instance/i-0b0444bb293823cd0セッションを終了できるのは、自身で開始したセッションのみです。この場合、セッションIDにはAliceプリンシパルのloginタグの値が含まれ、ABACポリシーリソースと一致するため、terminateアクションが許可されます。Bobによって開始されたセッションを終了しようとすると、次の(予期された)許可されていない旨のメッセージが表示されます。Managerアクセスを制御する方法を示しました。ABACポリシーを作成する方法を示しました。フェデレーション用IAMロールの信頼ポリシーを変更する方法を示しました。次に、Oktaの動的SAML属性を構成してサインオンSAML属性を変更し、AWSセッションタグに必要な情報をユーザープロファイルに含める方法を示しました。最後に、各フェデレーションユーザーが適切な属性でタグ付けされたインスタンスでセッションを開始できることを確認して、ソリューションをテストしました。自分で作成したセッションを終了できることを確認しました。SánchezはAWSプレミアムサポートのクラウドサポートエンジニアです。Windowsを専門としています。仕事以外では、友人や家族と過ごしたり、ビデオゲームをしたり、ギターの弾き方の知っているふりをしたりしています。Supportのシニアセキュリティスペシャリストです。Associateを保持しています。彼は、お客様がクラウドでのセキュリティ構成を改善するために、AWSセキュリティサービスに関する支援を行なっています。仕事以外では、旅行をするのが大好きです。毎冬、友達とスノーボードを楽しんでいます。翻訳はSA石橋が担当しました。