Oktaでグループベースのロールマッピングを有効にする

Amazon Web Services(AWS)のロールと管理グループをOktaにインポートした後は、AWSのロールグループのメンバーシップをAWSが構文的に理解できるエンタイトルメントに変換するように、Okta AWSアプリを構成する必要があります。

  1. Okta Admin Consoleで、[Applications(アプリケーション)]>[Applications(アプリケーション)]に移動します。

  2. [Search(検索)]フィールドにAWSと入力します。

  3. [AWS Account Federation(AWSアカウントフェデレーション)]をクリックし、[Sign On(サインオン)]タブを選択します。
  4. [Settings(設定)]セクションの[Edit(編集)]をクリックします。
  5. [Advanced Sign-On Settings(高度なサインオン設定)]エリアで、[Use Group Mapping(グループマッピングを使用)]がチェックされていることを確認します。
  6. 以下のフィールドに入力します。

    • [App Filter(アプリフィルター)]:AWSエンタイトルメントマッピング用のアプリのコンマ区切りリストを入力します。このフィールドにより追加のセキュリティが提供され、不正な管理者が特定のAWSのアカウントまたはロールに意図的に不正アクセスするために、特定の構文に従ってグループを作成する問題を回避できます。Active Directoryでグループを作成した場合は、active_directoryと入力します。または、oktaと入力して、ローカルのOktaグループに使用を制限します。他のアプリケーションの場合は、Bamboo HRアプリにはbamboohrOkta + Egnyteのグループにはoktaegnyteなどの値を使用できます。
    • [Group Filter(グループフィルター)]:正規表現式を入力して、AWS関連グループをフィルタリングし、アカウントIDとロールを抽出します。デフォルトのAWSロールグループの構文(aws#[account alias]#[role name]#[account #])を使用する場合、次の正規表現文字列を使用できます。
    ^aws\#\S+\#(?{{role}}[\w\-]+)\#(?{{accountid}}\d+)$

    この正規表現式は、論理的には、AWSで始まり、次に#、次にテキストの文字列、次に#、次にAWSロール、次に#、次にAWSアカウントIDがあるグループを検索することに相当します。

    次の正規表現式を使用することもできます。

    aws_(?{{accountid}}\d+)_(?{{role}}[a-zA-Z0-9+=,.@\-_]+)

    デフォルトの正規表現式を使用しない場合は、AWSロールグループを適切にフィルタリングし、{{role}}および{{accountid}}という名前の2つの異なる正規表現グループ内にAWSロール名とアカウントIDを取得する正規表現式を作成します。

    • [Role Value Pattern(ロール値パターン)]:このフィールドでは、AWSロールグループの構文内で取得されたAWSロールとアカウントIDが取得され、AWSでOkta SAMLアサーションに必要となる適切な構文に変換されます。これにより、ユーザーはサインイン時に自分のアカウントとロールを表示できます。

    フィールドの構文:

    arn:aws:iam::${accountid}:saml-provider/[SAML Provider Name],
    arn:aws:iam::${accountid}:role/${role}

    [SAML Provider Name]を、AWSアカウントのSAMLプロバイダーの名前に置き換えます。文字列の残りの部分は変更せず、コピーして貼り付けるだけです。

  7. [Save(保存)]をクリックします。

次の手順

AWS管理グループをOkta AWSアプリに割り当てる