PolicySync:属性ベースのアクセスコントロール

これは早期アクセス機能です。有効にする場合は、Oktaサポートにお問い合わせください。

アドバンストサーバーアクセスの管理者は、製品またはチーム別のグループ分けされたプロジェクトにリソースを割り当てます。例えば、経理、マーケティング、エンジニアリングの各チームで個別のプロジェクトが存在する可能性があります。アドバンストサーバーアクセスのサーバーに対してユーザーアクセスを付与する標準的な方法として、プロジェクト内でサーバーを登録し、ユーザーをグループに割り当て、その上でグループをプロジェクトに追加するといった手順があります。これによりグループのメンバーに、プロジェクトに登録されているサーバーすべてに対するアクセスが付与されます。

プロジェクト内のサーバーのサブセットへのユーザーアクセスの付与が必要となる場合もあります。例えば、サーバーがどのプロジェクトに登録されているかに関係なく、すべてのデータベースサーバーへのアクセスを必要とするデータベース管理者(DBA)のチームが存在することがあります。しかし、データベースサーバーのみを含む個別のプロジェクトを作成すると、チーム別にリソースをグループ分けするモデルは機能しなくなります。

Okta PolicySyncは、アドバンストサーバーアクセスの管理者がユーザーグループに属性ベースのアクセスコントロール (ABAC)を適用できるようにします。これはリソースに対するロールベースのアクセスを付与するときに使用できます。これはクライアントがKubernetesでオブジェクトを特定するためにラベルセレクターを使用する手順と同様、ラベルをサーバーへ、そしてセレクターをグループへ適用することで達成されます。

PolicySyncの主なコンセプト

PolicySyncで使用する主なコンセプトとして次の3つが挙げられます: 承認済みのメインファイル、ラベル、セレクター。以下のセクションにこれらのコンセプトの詳細を説明します。

承認済みのメインファイル

Okta PolicySyncはOpenSSH daemon (sshd) AuthorizedPrincipalsFile構成オプションを使用します。sshd_configを参照してAuthorizedPrincipalsFileの詳細を確認してください。

PolicySyncが有効になると、アドバンストサーバーアクセスのサーバーエージェントは各ユーザーのhomeディレクトリにファイル.asa_authorized_principalsを作成します。場所はユーザーがアクセスできる各サーバー上です。このファイルが作成される場所は、アドバンストサーバーアクセスのサーバーエージェントのsftd.yaml構成ファイルにあるAuthorizedPrincipalsFileオプションを設定して変更できます。 場所を構成するには、サポートされているユーザーごとのトークンのひとつを使用する必要があります。

  • %h:これはユーザーのhomeディレクトリパスに拡張されます。
  • %u:これはユーザーのユーザー名に拡張されます。
  • %U:これはユーザーのUIDに拡張されます。

例えば、アドバンストサーバーアクセスで認証済みのメインファイルをユーザーのhomeディレクトリに作成するよう構成するには、以下をサーバーのsftd.yaml構成ファイルに追加します。

AuthorizedPrincipalsFile: "%h/.asa_authorized_principals"

アドバンストサーバーアクセスのサーバーエージェントはまた、サーバーのsshd_configファイルを sftd.yamlで定義されたAuthorizedPrincipalsFile指令で更新します。

注

アドバンストサーバーアクセスのサーバーエージェントsftdsshd_configを変更しますが、手動や自動化による変更はしないことを推奨します。sshd_configの内容を変更すると、構成が非対応になったり破損したりする可能性があります。

ラベル

ラベルは複数のソースに由来するため、各ラベルにはそのソースのプレフィックスが自動的に付加されます。例えば、ラベルbuild:trunkがAmazon Web Services (AWS)に由来する場合、前にawsが追加されて aws.build:trunkと表示されます。これにより、複数のソースで同じキーを使用している場合の問題を回避できます(例えば、AWSとアドバンストサーバーアクセスのサーバーエージェント構成ファイル(sftd.yaml)で同じラベルが使用されている場合)。

サーバーセレクター

プロジェクトグループのサーバーセレクターには以下の特性があります。

  • セレクターがあるグループのユーザーは、そのセレクターの要件すべてを満たすサーバーのみにアクセスできます。

  • 複数のグループに属するユーザーは、それらのグループのセレクターの集合に属するサーバーにアクセスできます。

  • セレクターキーは任意でラベルのソースを指定することができます。

    • ソースが含まれる場合、そのソース由来の該当ラベルを含むサーバーのみが一致します。例えば、セレクターsftd.role=dbを使用した場合、sftd.yaml構成ファイルにラベルrole: dbを含むサーバーのみが一致します。

    • ソースが省略されている場合、指定したラベルを含むあらゆるサーバーが一致します。例えば、セレクターrole=dbを使用した場合、ラベルaws.role: dbまたはsftd.role: dbのあらゆるサーバーが一致します。

ラベルとセレクターの構成については慎重に検討してください。ユーザーがプロジェクトで要塞へのアクセス許可を持っており、サーバーに接続できることを確認する必要があります。

サーバーへの詳細アクセスにラベルとセレクターを使用する

前提条件

アドバンストサーバーアクセスのプロジェクトでラベルとセレクターを使用するには、以下が真である必要があります。

  • PolicySync機能フラグがアドバンストサーバーアクセスのチームで有効になっている必要があります。有効にする場合は、Oktaサポートにお問い合わせください。

  • プロジェクトのサーバーは、アドバンストサーバーアクセスのサーバーエージェントのバージョン1.52.1以降を実行している必要があります。

ラベルをサーバーに追加する

アドバンストサーバーアクセスサーバーの構成ファイルにラベルを追加できます。追加するにあたり、サーバーのsftd.yamlファイルにラベルセクションを作成し、各ラベルをそのセクションに追加してください。例えば、以下のセクションはラベルrole: dbenv: prodをsftd.yamlで定義する方法を示しています。

ラベル:

role: db

env: prod

プロジェクトグループにセレクターを追加する

プロジェクトグループのレベルにセレクターを割り当てることができます。セレクターを割り当てるには:

  1. [Projects (プロジェクト)]をクリックします。
  2. グループを含むプロジェクトを選択します。
  3. [Groups (グループ)]タブに切り替えます。
  4. プロジェクトの横にあるギアギアアイコンをクリックし、[Edit (編集)]を選択します。
  5. [Specific Servers (指定したサーバー)]が[Server Access (サーバーアクセス)]セクションで選択されていることを確認します。
  6. 1つ以上のサーバーセレクターを[Server Selector Tags (サーバーセレクタータグ)]セクションに入力し、各セレクターの入力後にEnterキーを押します。
  7. [Submit (送信)]をクリックします。

関連項目

アドバンストサーバーアクセスのアドバンストサーバーアクセスのサーバーエージェントを設定して使用するを構成して使用する