AWSアカウントを接続する
1つ以上のAWSアカウントをOkta Privileged Accessに接続して、資格分析と高リスクAWSリソースの検出を行うことができます。
Okta Privileged Accessは、Oktaが管理するサービスアカウント(外部IDと呼びます)を使ってAWSアカウントの問い合わせを行います。サービスアカウントは、接続している各クラウドアカウントに固有であり、Okta Privileged AccessがAWSアカウントにアクセスして情報を取得するために必要です。このようなアカウントには、AWS IAMロールを介して付与される最小限の読み取り権限が必要です。IAMロールの詳細については、AWSのドキュメントを参照してください。
資格分析が正しく機能するには、AWS管理アカウントIDとAWS IAMロールが必要です。
AWSアカウントをOkta Privileged Accessに接続するには、IAMロールを作成し、必要な権限とポリシーをそのロールに構成し、それらのアカウントをOkta Privileged Accessに接続します。
- AWS管理アカウントにIAMポリシーを作成します。
- IAMロールを作成し、ポリシーを追加します。ロールの作成では、Okta AWSアカウントIDと外部IDが必要になります。
- Okta Privileged AccessにAWS IAM接続を作成し、AWS IAMロールのARNを検出に使用します。
AWS IAMロールを作成し、構成する
- 新しいブラウザーウィンドウでAmazon Web Services管理コンソールにアクセスし、IAMコンソールを開きます。
- Okta Privileged AccessがAWS組織に接続してアカウント、ユーザー、グループを検出できるように、管理アカウントにポリシーを作成します。この手順の目的上、このポリシーをOktaPA_CIEM_Policiesと呼ぶことにします。このポリシーには、次の権限を含める必要があります。
こちらをクリックすると権限が表示されます。コピー
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"iam:GetPolicyVersion",
"sso-directory:ListGroupsForUser",
"identitystore:ListGroupMemberships",
"sso:ListTagsForResource",
"organizations:ListRoots",
"sso:ListCustomerManagedPolicyReferencesInPermissionSet",
"organizations:ListDelegatedServicesForAccount",
"organizations:DescribeAccount",
"sso:DescribeRegisteredRegions",
"organizations:ListChildren",
"sso-directory:SearchGroups",
"sso:ListPermissionSetProvisioningStatus",
"organizations:DescribeOrganization",
"sso:SearchGroups",
"sso:ListInstances",
"sso-directory:DescribeUser",
"sso:DescribeAccountAssignmentDeletionStatus",
"sso:ListAccountAssignmentDeletionStatus",
"iam:ListPolicies",
"ds:DescribeTrusts",
"sso:DescribeAccountAssignmentCreationStatus",
"identitystore:ListUsers",
"organizations:ListAccountsForParent",
"sso:ListAccountAssignments",
"organizations:ListHandshakesForAccount",
"sso:DescribeDirectories",
"sso:GetInlinePolicyForPermissionSet",
"sso:ListManagedPoliciesInPermissionSet",
"sso-directory:DescribeDirectory",
"sso:DescribePermissionSetProvisioningStatus",
"organizations:ListOrganizationalUnitsForParent",
"sso:GetTrust",
"sso-directory:DescribeGroup",
"identitystore:DescribeUser",
"sso:DescribePermissionsPolicies",
"identitystore-auth:BatchGetSession",
"sso:DescribeInstanceAccessControlAttributeConfiguration",
"account:ListRegions",
"sso-directory:ListMembersInGroup",
"sso:ListProfiles",
"sso:SearchUsers",
"sso:GetPermissionSet",
"sso-directory:DescribeGroups",
"organizations:ListCreateAccountStatus",
"sso-directory:DescribeUserByUniqueAttribute",
"identitystore:DescribeGroupMembership",
"sso-directory:SearchUsers",
"identitystore:ListGroups",
"sso:DescribePermissionSet",
"sso:GetProfile",
"sso-directory:ListExternalIdPCertificates",
"sso-directory:GetUserPoolInfo",
"organizations:ListPoliciesForTarget",
"sso:ListPermissionSets",
"sso:ListPermissionSetsProvisionedToAccount",
"organizations:ListTargetsForPolicy",
"organizations:ListTagsForResource",
"sso:GetPermissionsPolicy",
"identitystore-auth:ListSessions",
"sso-directory:DescribeProvisioningTenant",
"sso:GetSsoConfiguration",
"sso:GetPermissionsBoundaryForPermissionSet",
"organizations:ListAWSServiceAccessForOrganization",
"sso:ListAccountAssignmentCreationStatus",
"organizations:ListPolicies",
"sso-directory:DescribeUsers",
"identitystore:ListGroupMembershipsForMember",
"organizations:ListHandshakesForOrganization",
"organizations:ListDelegatedAdministrators",
"organizations:ListAccounts",
"sso:ListAccountsForProvisionedPermissionSet",
"iam:ListPolicyVersions",
"sso-directory:ListGroupsForMember",
"identitystore:DescribeGroup",
"organizations:ListParents",
"ds:DescribeDirectories",
"sso-directory:IsMemberInGroup",
"sso:GetSSOStatus",
"sso-directory:ListProvisioningTenants"
],
"Resource": "*"
}
]
} - リソース検出のための権限が含まれる別のポリシーをAWS管理アカウントに作成します。このポリシーをOktaPA_CIEM_ResourceDiscovery_Policyと呼ぶことにします。このポリシーには、次の権限を含める必要があります。
こちらをクリックすると権限が表示されます。コピー
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"rds:DescribeDBInstances",
"iam:GetPolicyVersion",
"iam:ListPolicyVersions"
],
"Resource": "*"
}
]
} - AWS組織のメンバーアカウントごとに、別のOktaPA_CIEM_ResourceDiscovery_Policyを作成します。前の手順と同じ権限を付与し、すべてのメンバーアカウントでリソースを検出できるようにします。
このポリシーと適切なロールがメンバーアカウント内に作成されていない場合、Okta Privileged Accessはそのアカウント内の資格とリソースを検出できません。
- Okta Privileged Accessアカウントにサインインして、AWS接続を作成します。以後のステップで必要になるOkta AWSアカウントIDと外部IDを書き留めておきます。「AWSアカウントをOkta Privileged Accessに接続する」を参照してください。
- 作成したポリシーにリンクさせるIAMロールをAWS管理アカウントに作成します。
- IAMコンソールで[ロール]ページに移動し、[Create role(ロールを作成)]をクリックします。
- [信頼できるエンティティを選択]ページで を選択します。
- 事前にコピーしておいたOkta AWSアカウントIDを貼り付けます。
- [Require external ID(外部IDを必須にする)]オプションを選択し、事前にコピーしておいたOkta AWSアカウント外部IDを貼り付けます。
- 作成した2つの権限ポリシーを選択し、ロールと関連付けます。
- ロールに意味のある名前を付けます(OktaPA_CIEM_Roleなど)。
- ロールを作成したら、ロールのARNをコピーします。
- Okta Privileged Accessダッシュボードに移動して接続の作成画面に貼り付け、接続をテストします。「AWSアカウントをOkta Privileged Accessに接続する」を参照してください。
- AWS管理アカウント内に別のロールを作成します。
- IAMコンソールで[ロール]ページに移動し、[Create role(ロールを作成)]をクリックします。
- [信頼できるエンティティを選択]ページで[Custom trust policy(カスタム信頼ポリシー)]を選択します。
- ポリシーエディターで[Add a principal(プリンシパルを追加)]を選択し、[Principal type(プリンシパルタイプ)]で[IAM Roles(IAMロール)]を選択します。
- 事前にコピーしておいたOktaPA_CIEM_RoleのARNを[ARN]フィールドに貼り付けます。
- [Add a condition(条件を追加)]をクリックします。条件キーとしてsts:ExternalIdを選択します。
- [Operator(演算子)]でStringEqualsを選択し、事前にコピーしておいたOkta AWSアカウント外部IDを値フィールドに貼り付けます。
- 事前に作成したリソース検出ポリシー(この例ではOktaPA_CIEM_ResourceDiscovery_Policyというポリシー)を追加します。
- [Next(次へ)]をクリックします。
- このロールの正確な名前を指定します:OktaPAMResourcesReadOnlyRole。
ロール名は、正確な名前と一致する必要があります。別の名前を使った場合、検出は機能しません。
- ロールを作成したら、以後のステップで必要になるこのロールのARNをコピーします。
- 組織のすべてのダウンストリームメンバーアカウントで前述のステップを繰り返し、このOktaPAMResourcesReadOnlyRoleを作成します。このロールを作成するアカウントごとに、このロールのARNをコピーします。
このポリシーと適切なロールがメンバーアカウント内に作成されていない場合、Okta Privileged Accessはそのアカウント内の資格とリソースを検出できません。
- 管理アカウントとOktaのAWSアカウントがメンバーアカウントとやり取りできるようにするための別のポリシーを管理アカウント内に作成します。このポリシーをOktaPA_CIEM_Assume_Roleと呼ぶことにします。
- このポリシーのサービスとしてSTSを選択します。
- [Allowed(許可)]されるアクションで を選択します。
- [Resources(リソース)]で[Specific(特定)]を選択し、[Add ARNs(ARNを追加)]リンクをクリックしてアクセスを制限します。
- 表示されるダイアログで[Text(テキスト)]を選択し、上で作成した個々のAWSメンバーアカウントロールごとにコピーしておいたOktaPAMResourcesReadOnlyRoleのARN値を貼り付けます。
- [Add ARNs(ARNを追加)]をクリックします
- ポリシーにOktaPA_CIEM_Assume_Roleという名前を付けます。
- 最後に、先ほど管理アカウント内に作成したロールにポリシーを接続します。ここでは、管理アカウントはOktaPA_CIEM_Roleです。
AWSアカウントをOkta Privileged Accessに接続する
- 自分のAWSアカウントIDを確認します。
- Amazon Web Services管理コンソールに移動します。
- ページ上部のプロファイル名の横にあるドロップダウンメニューを選択し、[My Account(マイアカウント)]をクリックします。
- [Account Settings(アカウント設定)]の下のアカウントID番号を書き留めておきます。
-
新しいブラウザーを開いて、Okta Privileged Accessアカウントにサインインします。
- AWS IAM接続を作成します。AWS IAMロールの構成と、この接続の作成を同時に行うため、このウィンドウは開いたままにします。
- Okta Privileged Accessダッシュボードで に移動します。
- をクリックします。
- クラウドアカウントの設定を構成します。
設定 アクション 接続名
接続名を入力します。
AWS管理アカウントID
事前に書き留めておいたメインAWS管理アカウントのIDを入力します。
AWSロール
AWS IAMロールのARNを入力します。ARNの取得については、「AWS IAMロールを作成し、構成する」を参照してください。
[Okta AWS Account ID(Okta AWSアカウントID)]フィールドと[External ID(外部ID)]フィールドは自動的に入力されます。
AWS IAMロールの作成時に必要となるため、外部IDの値を書き留めておきます。これは、Oktaが管理するAWSサービスアカウントに関連しており、自分のAWSアカウントIDとは異なります。外部IDの使用について詳しくは、AWSのドキュメントを参照してください。
- [Test(テスト)]をクリックし、接続に成功したことを確認します。
- [Save(保存)]をクリックします。