

# AWS Organizations での Amazon S3 ストレージレンズの使用
<a name="storage_lens_with_organizations"></a>

Amazon S3 ストレージレンズは、オブジェクトストレージの使用状況とアクティビティを組織全体で可視化するために使用できるクラウドストレージの分析機能です。S3 ストレージレンズメトリクスを使用することで、組織全体でどれだけのストレージがあるか、または最も急速に成長しているバケットとプレフィックスは何かなどの、要約されたインサイトを生成できます。また、Amazon S3 ストレージレンズを使用することで、AWS Organizations の階層に属しているすべての AWS アカウントから、ストレージのメトリクスと使用状況に関するデータを収集できます。これを行うには、AWS Organizations を使用している必要があります。また、AWS Organizations 管理アカウントを使用して、S3 ストレージレンズに対し、信頼されたアクセスを有効にする必要があります。

信頼されたアクセスを有効にしてから、組織内のアカウントに対し、委任管理者の権限を追加します。委任管理者アカウントは、組織全体のストレージメトリクスとユーザーデータを収集する S3 ストレージレンズの設定とダッシュボードを作成するために使用されます。信頼されたアクセスの有効化の詳細については、*AWS Organizations ユーザーガイド*の「[Amazon S3 ストレージレンズと AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/services-that-can-integrate-s3lens.html)」を参照してください。

**Topics**
+ [S3 ストレージレンズのための信頼されたアクセスを有効にする](storage_lens_with_organizations_enabling_trusted_access.md)
+ [S3 ストレージレンズのための信頼されたアクセスを無効にする](storage_lens_with_organizations_disabling_trusted_access.md)
+ [S3 ストレージレンズでの委任管理者の登録](storage_lens_with_organizations_registering_delegated_admins.md)
+ [S3ストレージレンズでの委任管理者の登録を解除する](storage_lens_with_organizations_deregistering_delegated_admins.md)

# S3 ストレージレンズのための信頼されたアクセスを有効にする
<a name="storage_lens_with_organizations_enabling_trusted_access"></a>

信頼されたアクセスが有効化された Amazon S3 ストレージレンズでは、AWS Organizations API オペレーションを通じて、AWS Organizations の階層、メンバーシップ、および構造にアクセスできるようになります。S3 ストレージレンズは、組織全体の構造で信頼されたサービスとして認識されます。

ダッシュボードの設定が作成されるたびに、組織の管理アカウントまたは委任管理者アカウントのために、サービスにリンクされたロールが S3 ストレージレンズにより作成されます。サービスにリンクされたロールにより、S3 ストレージレンズは次の操作を実行できます。
+ 組織を説明する
+ アカウントを一覧表示する
+ 組織の AWS のサービスアクセスリストを検証する
+ 組織の委任管理者を取得する



S3 ストレージレンズは、組織のアカウントのクロスアカウントメトリクスを収集するためのアクセスを確実に有しているようにできます。詳細については、「[Amazon S3 ストレージレンズでのサービスにリンクされたロールの使用](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-service-linked-roles.html)」を参照してください。

信頼されたアクセスを有効にしておくと、組織内のアカウントに対し、委任管理者権限を割り当てることができます。サービスに対する委任管理者としてマークされたアカウントには、組織内で、すべての読み取り専用 API オペレーションにアクセスするための承認が与えられます。このアクセス権により、委任管理者には組織のメンバーと構造に対する可視性が提供され、彼らも S3 ストレージレンズダッシュボードを作成できるようになります。

**注記**  
信頼されたアクセスは、[管理アカウント](https://docs.aws.amazon.com/managedservices/latest/userguide/management-account.html)からのみ有効化できます。
 組織に対し、S3 Storage Lens ダッシュボードまたは、その設定を作成できるのは、管理アカウントと委任された管理者のみです。

# S3 コンソールの使用
<a name="storage_lens_console_organizations_enabling_trusted_access"></a>

**S3 ストレージレンズに AWS Organizations での信頼されたアクセスが付与されるには**

1. AWS マネジメントコンソール にサインインし、Amazon S3 コンソール ([https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)) を開きます。

1. 左側のナビゲーションペインで、**[ストレージレンズ]** に移動します。

1. **[AWS Organizations 設定]** を選択します。**[ストレージレンズへの AWS Organizations アクセス]** ページが表示されます。

1. **[AWS Organizations 信頼されたアクセス]** で、**[編集]** を選択します。

   **[AWS Organizations アクセス]** ページが表示されます。

1. **[有効化]** を選択して、S3 ストレージレンズダッシュボードの信頼されたアクセスを有効にします。

1. **[Save changes]** (変更の保存) をクリックします。

# の使用AWS CLI
<a name="OrganizationsEnableTrustedAccessS3LensCLI"></a>

**Example**  
次の例は、AWS CLI で S3 ストレージレンズの AWS Organizations での信頼されたアクセスを有効にする方法を示しています。  

```
aws organizations enable-aws-service-access --service-principal storage-lens.s3.amazonaws.com
```

# AWS SDK for Java の使用
<a name="OrganizationsEnableTrustedAccessS3LensJava"></a>

**Example – 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();
        }
	}
}
```

# S3 ストレージレンズのための信頼されたアクセスを無効にする
<a name="storage_lens_with_organizations_disabling_trusted_access"></a>

委任された管理者としてのアカウントを削除するか、信頼されたアクセスを無効化すると、アカウント所有者の S3 ストレージレンズダッシュボードのメトリクスは、アカウントレベルでのみ機能するように制限されます。そのため、各アカウント保有者は、自身のアカウントの範囲に限定して S3 ストレージレンズが提供する機能にアクセスでき、組織全体へのアクセスはできなくなります。

S3 ストレージレンズで信頼されたアクセスを無効にすると、信頼されたアクセスを必要とするダッシュボードは更新されなくなります。作成された組織ダッシュボードも更新されなくなります。代わりに、[S3 ストレージレンズダッシュボードの履歴データ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_basics_metrics_recommendations.html#storage_lens_basics_data_queries)をクエリできるのは、データが引き続き利用可能である間のみです。

**注記**  
また、S3 ストレージレンズの信頼されたアクセスを無効にすると、すべての組織レベルのダッシュボードで、ストレージのメトリクスの収集と集計が自動的に停止されます。これは、S3 ストレージレンズが組織アカウントへの信頼されたアクセスを失ったためです。
管理アカウントと委任管理者アカウントは、無効化されたダッシュボードの履歴データを引き続き表示することができます。また、この履歴データは、利用可能である間は引き続きクエリできます。

# S3 コンソールの使用
<a name="storage_lens_console_organizations_disabling_trusted_access"></a>

**S3 Storage Lens の信頼されたアクセスを無効にするには、**

1. AWS マネジメントコンソール にサインインし、Amazon S3 コンソール ([https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)) を開きます。

1. 左側のナビゲーションペインで、**[ストレージレンズ]** に移動します。

1. **[AWS Organizations 設定]** を選択します。**[ストレージレンズへの AWS Organizations アクセス]** ページが表示されます。

1. **[AWS Organizations 信頼されたアクセス]** で、**[編集]** を選択します。

   **[AWS Organizations アクセス]** ページが表示されます。

1. **[無効化]** を選択して、S3 ストレージレンズダッシュボードの信頼されたアクセスを無効にします。

1. **[Save changes]** (変更の保存) をクリックします。

# の使用AWS CLI
<a name="OrganizationsDisableTrustedAccessS3LensCLI"></a>

**Example**  
次の例では、AWS CLI を使用して S3 ストレージレンズの信頼されたアクセスを無効にします。  

```
aws organizations disable-aws-service-access --service-principal storage-lens.s3.amazonaws.com
```

# AWS SDK for Java の使用
<a name="OrganizationsDisableTrustedAccessS3LensJava"></a>

**Example – S3 ストレージレンズの AWS Organizations での信頼されたアクセスを無効にします。**  
次の例は、SDK for Java で S3 ストレージレンズの AWS Organizations での信頼されたアクセスを無効にする方法を示しています。この例を実行するには、`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.DisableAWSServiceAccessRequest;

public class DisableOrganizationsTrustedAccess {
	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();

            // Make sure to remove any existing delegated administrator for S3 Storage Lens 
            // before disabling access; otherwise, the request will fail.
            organizationsClient.disableAWSServiceAccess(new DisableAWSServiceAccessRequest()
                .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();
        }
	}
}
```

# S3 ストレージレンズでの委任管理者の登録
<a name="storage_lens_with_organizations_registering_delegated_admins"></a>

組織の管理アカウントまたは委任管理者アカウントからは、組織レベルのダッシュボードを作成できます。委任管理者アカウントでは、管理アカウントを除く他のアカウントに対し、組織レベルのダッシュボードの作成を許可できます。他のアカウントを組織の委任管理者として登録および登録解除できるのは、その組織の管理者アカウントのみです。

信頼されたアクセスを有効にすると、[管理アカウント](https://docs.aws.amazon.com/managedservices/latest/userguide/management-account.html)の AWS Organizations REST API、AWS CLI、または SDK を使用して、組織内のアカウントへの委任管理者アクセスを登録できます。(詳細については、AWS Organizations API リファレンスの「[https://docs.aws.amazon.com/organizations/latest/APIReference/API_RegisterDelegatedAdministrator.html](https://docs.aws.amazon.com/organizations/latest/APIReference/API_RegisterDelegatedAdministrator.html)」を参照してください。)** アカウントが委任された管理者として登録されると、そのアカウントがら AWS Organizations のすべての読み取り専用 API オペレーションにアクセスすることが承認されます。これにより、ユーザーに代わって S3 Storage Lens ダッシュボードを作成するための可視性が、組織のメンバーと構造に対し提供されます。

**注記**  
AWS Organizations の REST API、AWS CLI、または SDK を使用して委任管理者を指定するには、その前に、[https://docs.aws.amazon.com/organizations/latest/APIReference/API_EnableAWSServiceAccess.html](https://docs.aws.amazon.com/organizations/latest/APIReference/API_EnableAWSServiceAccess.html) オペレーションを呼び出す必要があります。

# S3 コンソールの使用
<a name="storage_lens_console_organizations_registering_delegated_admins"></a>

**S3 Storage Lens のための委任された管理者を登録するには、**

1. AWS マネジメントコンソール にサインインし、Amazon S3 コンソール ([https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)) を開きます。

1. 左側のナビゲーションペインで、**[ストレージレンズ]** に移動します。

1.  **[AWS Organizations 設定]** を選択します。

1. **[委任管理者]** で、**[アカウントを登録]** を選択します。

1. アカウントを委任管理者として登録するための AWS アカウント ID を追加します。委任管理者は、組織内のすべてのアカウントとストレージのために組織レベルのダッシュボードを作成できます。

1. **[アカウントを登録]** を選択します。

# の使用AWS CLI
<a name="OrganizationsRegisterDelegatedAdministratorS3LensCLI"></a>

**Example**  
次の例は、AWS CLI を使用して、S3 ストレージレンズで Organizations の委任管理者を登録する方法を示しています。この例を実行するには、`user input placeholders` をユーザー自身の情報に置き換えます。  

```
aws organizations register-delegated-administrator --service-principal storage-lens.s3.amazonaws.com --account-id 111122223333
```

# AWS SDK for Java の使用
<a name="OrganizationsRegisterDelegatedAdministratorS3LensJava"></a>

**Example – S3 ストレージレンズで Organizations の委任された管理者を登録する**  
次の例は、SDK for Java で S3 ストレージレンズの AWS Organizations 委任管理者を登録する方法を示しています。この例を実行するには、`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.RegisterDelegatedAdministratorRequest;

public class RegisterOrganizationsDelegatedAdministrator {
	private static final String S3_STORAGE_LENS_SERVICE_PRINCIPAL = "storage-lens.s3.amazonaws.com";

	public static void main(String[] args) {
		try {
            String delegatedAdminAccountId = "111122223333"; // Account Id for the delegated administrator.
            AWSOrganizations organizationsClient = AWSOrganizationsClient.builder()
                .withCredentials(new ProfileCredentialsProvider())
                .withRegion(Regions.US_EAST_1)
                .build();

            organizationsClient.registerDelegatedAdministrator(new RegisterDelegatedAdministratorRequest()
                .withAccountId(delegatedAdminAccountId)
                .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();
        }
	}
}
```

# S3ストレージレンズでの委任管理者の登録を解除する
<a name="storage_lens_with_organizations_deregistering_delegated_admins"></a>

信頼されたアクセスを有効にした後で、組織内のアカウントに対する委任管理者のアクセス権限を登録解除できます。委任管理者アカウントでは、[管理アカウント](https://docs.aws.amazon.com/managedservices/latest/userguide/management-account.html)を除く他のアカウントに対し、組織レベルのダッシュボードの作成を許可できます。組織の管理アカウントのみが、その組織内の委任管理者のアカウントの登録を解除できます。

また、管理アカウントから AWS Organizations AWS マネジメントコンソール、REST API、AWS CLI、または AWS SDK を使用することで、委任管理者の登録を解除できます。詳細については、「*AWS Organizations API リファレンス*」の「[https://docs.aws.amazon.com/organizations/latest/APIReference/API_DeregisterDelegatedAdministrator.html](https://docs.aws.amazon.com/organizations/latest/APIReference/API_DeregisterDelegatedAdministrator.html)」を参照してください。

アカウントが委任管理者として登録解除されると、アカウントは次のものにアクセスできなくなります。
+ 組織のメンバーと構造を可視化するすべての読み取り専用 AWS Organizations API オペレーション。
+ 委任管理者が作成したすべての組織レベルのダッシュボード。また、委任管理者の登録を解除すると、委任管理者によって作成されたすべての組織レベルのダッシュボードで、ストレージのメトリクスの新たな集計が自動的に停止されます。
**注記**  
登録解除された委任管理者は、データがクエリに利用できる間は、作成したものの無効化されたダッシュボードの履歴データを引き続き見ることができます。

# S3 コンソールの使用
<a name="storage_lens_console_organizations_deregistering_delegated_admins"></a>

**S3 ストレージレンズの委任管理者を登録解除するには**

1. AWS マネジメントコンソール にサインインし、Amazon S3 コンソール [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) を開きます。

1. 左側のナビゲーションペインで、**[ストレージレンズ]** に移動します。

1.  **[AWS Organizations 設定]** を選択します。

1. **[委任管理者]** で、登録解除するアカウントを選択します。

1. **[アカウントの登録解除]** を選択します。登録解除されたアカウントは委任管理者ではなくなり、組織内のすべてのアカウントとストレージに対して組織レベルのダッシュボードを作成できなくなります。

1. **[アカウントを登録]** を選択します。

# の使用AWS CLI
<a name="OrganizationsDeregisterDelegatedAdministratorS3LensCLI"></a>

**Example**  
次の例は、AWS CLI を使用して S3 ストレージレンズで Organizations の委任管理者を登録解除する方法を示しています。この例を実行するには、`111122223333` をユーザー自身の AWS アカウント ID に置き換えます。  

```
aws organizations deregister-delegated-administrator --service-principal storage-lens.s3.amazonaws.com --account-id 111122223333
```

# AWS SDK for Java の使用
<a name="OrganizationsDeregisterDelegatedAdministratorS3LensJava"></a>

**Example – S3 ストレージレンズで Organizations の委任管理者の登録を解除する**  
次の例は、SDK for Java を使用して S3 ストレージレンズで Organizations 委任管理者を登録解除する方法を示しています。この例を実行するには、`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.DeregisterDelegatedAdministratorRequest;

public class DeregisterOrganizationsDelegatedAdministrator {
	private static final String S3_STORAGE_LENS_SERVICE_PRINCIPAL = "storage-lens.s3.amazonaws.com";

	public static void main(String[] args) {
		try {
            String delegatedAdminAccountId = "111122223333"; // Account Id for the delegated administrator.
            AWSOrganizations organizationsClient = AWSOrganizationsClient.builder()
                .withCredentials(new ProfileCredentialsProvider())
                .withRegion(Regions.US_EAST_1)
                .build();

            organizationsClient.deregisterDelegatedAdministrator(new DeregisterDelegatedAdministratorRequest()
                .withAccountId(delegatedAdminAccountId)
                .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();
        }
	}
}
```