Amazon Web Services (AWS) Session Tags を使用すると、リソースにタグを付け、ユーザーにキーと値のペアを割り当てることで、AWS API とリソースに対するロールベースのアクセス制御 (RBAC) を実装できます。
このガイドの例では、まず AWS Session Tags を使用して AWS リソースにタグを付け、次に、このロールと適切なタグを持つユーザーが AWS リソースに対して特定のアクションを実行できるようにする AWS IAM ロール用のポリシーを作成します。続いて、Auth0 で Rule を作成し、AWS IAM ロールと適切な AWS Session Tags を Auth0 ユーザーに付与して、それらをトークン内の アサーションに含めて渡します。この例は、Configure Amazon Web Services for Single Sign-On の例を基にしています。
AWS API とリソースで AWS Session Tags を使用するには、次の手順が必要です。
- AWS インスタンスにタグを付ける。
- 専用の AWS IAM ロールを作成する。
- Auth0 Rule を作成する。
- 設定をテストする。
AWS リソースにタグを追加します。Amazon Elastic Compute Cloud: Tag your Amazon EC2 resources の手順に従ってください。
3 つのインスタンスを作成済みであることを確認してください。以下のタグを追加します。
前提条件で設定した AWS SAML を使用して、IAM ロールを作成します。AWS Identity and Access Management ユーザーガイド: SAML 2.0 フェデレーション用のロールの作成 (コンソール) の手順に従ってください。
ロールを設定する際は、必ず次のパラメーターを使用してください。
Attach permissions policies を求められたら、次の JSON を使用してポリシーを作成し、名前を VirtualMachineAccessByCostCenter にします。
ポリシーを作成したら、ロールのポリシー一覧を更新し、新しいポリシーを絞り込んで選択します。
設定を確認する際は、次のパラメーターを使用してください。
AWS のロールとタグをユーザーにマッピングするには、Auth0 で Rule を作成する必要があります。これらの値は、その後トークン内の SAML アサーションを介して渡されます。次の例では:
awsAccount 変数の値は、ご自身のアカウント番号に置き換えてください。
これで、Auth0 ユーザーを使用して AWS コンソールにログインし、実装をテストできるはずです。
ログインするには、AWS コンソール用の ログインが必要です。確認するには、次の手順を実行します。
- Dashboard > Applications > Applications に移動し、表示するアプリケーションの名前を選択します。
- Addons タブで、SAML2 Web App アドオンを有効にします。
- Usage タブで、Identity Provider Login URL を確認します。
- 表示された URL に移動します。
- サインインしたら、EC2 から Instances を選択します。
CostCenter が marketing のインスタンスの1つをクリックし、Actions > Instance State > Stop をクリックします。アクションが正常に完了することを確認します。
CostCenter が engineering のインスタンスをクリックし、Actions > Instance State > Stop をクリックします。アクションがエラーで失敗することを確認します。