信頼されたアクセスが有効化された Amazon S3 ストレージレンズでは、AWS Organizations API オペレーションを通じて、AWS Organizations の階層、メンバーシップ、および構造にアクセスできるようになります。S3 ストレージレンズは、組織全体の構造で信頼されたサービスとして認識されます。
ダッシュボードの設定が作成されるたびに、組織の管理アカウントまたは委任管理者アカウントのために、サービスにリンクされたロールが S3 ストレージレンズにより作成されます。サービスにリンクされたロールにより、S3 ストレージレンズは次の操作を実行できます。
-
組織を説明する
-
アカウントを一覧表示する
-
組織の AWS のサービスアクセスリストを検証する
-
組織の委任管理者を取得する
S3 ストレージレンズは、組織のアカウントのクロスアカウントメトリクスを収集するためのアクセスを確実に有しているようにできます。詳細については、「Amazon S3 ストレージレンズでのサービスにリンクされたロールの使用」を参照してください。
信頼されたアクセスを有効にしておくと、組織内のアカウントに対し、委任管理者権限を割り当てることができます。サービスに対する委任管理者としてマークされたアカウントには、組織内で、すべての読み取り専用 API オペレーションにアクセスするための承認が与えられます。このアクセス権により、委任管理者には組織のメンバーと構造に対する可視性が提供され、彼らも S3 ストレージレンズダッシュボードを作成できるようになります。
注記
-
信頼されたアクセスは、管理アカウントからのみ有効化できます。
-
組織に対し、S3 Storage Lens ダッシュボードまたは、その設定を作成できるのは、管理アカウントと委任された管理者のみです。
S3 ストレージレンズに AWS Organizations での信頼されたアクセスが付与されるには
AWS Management Console にサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/
) を開きます。 -
左側のナビゲーションペインで、[ストレージレンズ] に移動します。
[AWS Organizations 設定] を選択します。[ストレージレンズへの AWS Organizations アクセス] ページが表示されます。
-
[AWS Organizations 信頼されたアクセス] で、[編集] を選択します。
[AWS Organizations アクセス] ページが表示されます。
[有効化] を選択して、S3 ストレージレンズダッシュボードの信頼されたアクセスを有効にします。
[Save changes] (変更の保存) をクリックします。
次の例は、AWS CLI で S3 ストレージレンズの AWS Organizations での信頼されたアクセスを有効にする方法を示しています。
aws organizations enable-aws-service-access --service-principal storage-lens.s3.amazonaws.com
例 – SDK for Java を使用して S3 ストレージレンズで AWS Organizations での信頼されたアクセスを有効にする
次の例は、SDK for Java で S3 ストレージレンズの信頼されたアクセスを有効にする方法を示しています。この例を実行するには、
をユーザー自身の情報に置き換えます。user input
placeholders
import com.amazonaws.AmazonServiceException;
import com.amazonaws.SdkClientException;
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.organizations.AWSOrganizations;
import com.amazonaws.services.organizations.AWSOrganizationsClient;
import com.amazonaws.services.organizations.model.EnableAWSServiceAccessRequest;
public class EnableOrganizationsTrustedAccess {
private static final String S3_STORAGE_LENS_SERVICE_PRINCIPAL = "storage-lens.s3.amazonaws.com";
public static void main(String[] args) {
try {
AWSOrganizations organizationsClient = AWSOrganizationsClient.builder()
.withCredentials(new ProfileCredentialsProvider())
.withRegion(Regions.US_EAST_1
)
.build();
organizationsClient.enableAWSServiceAccess(new EnableAWSServiceAccessRequest()
.withServicePrincipal(S3_STORAGE_LENS_SERVICE_PRINCIPAL));
} catch (AmazonServiceException e) {
// The call was transmitted successfully, but AWS Organizations couldn't process
// it and returned an error response.
e.printStackTrace();
} catch (SdkClientException e) {
// AWS Organizations couldn't be contacted for a response, or the client
// couldn't parse the response from AWS Organizations.
e.printStackTrace();
}
}
}